Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit AsmUnit;
- interface
- procedure sub_100010E8;
- implementation
- const
- a0123456789ab_0: AnsiString = '0123456789ABCDEFGHJKMNPRSTUVWXYZ';
- procedure sub_10001193;
- asm
- mov eax, [esp+8]
- push esi
- lea esi, [eax-1]
- test esi, esi
- jl @loc_10001203
- push ebx
- push edi
- mov edi, [esp+0Ch+4]
- @loc_100011A5:
- mov eax, esi
- push 8
- cdq
- pop ecx
- idiv ecx
- push 1
- mov eax, esi
- pop ebx
- push 8
- mov ecx, edx
- shl ebx, cl
- cdq
- pop ecx
- idiv ecx
- push 5
- pop ecx
- movsx eax, byte ptr [eax+edi]
- test eax, ebx
- mov eax, esi
- cdq
- jz @loc_100011DF
- idiv ecx
- mov eax, esi
- mov ebx, edx
- cdq
- idiv ecx
- mov dl, 1
- mov ecx, ebx
- shl dl, cl
- add eax, edi
- or [eax], dl
- jmp @loc_100011F7
- @loc_100011DF:
- idiv ecx
- mov eax, esi
- push 5
- pop ecx
- mov ebx, edx
- cdq
- idiv ecx
- mov dl, 1
- mov ecx, ebx
- shl dl, cl
- not dl
- add eax, edi
- and [eax], dl
- @loc_100011F7:
- test ebx, ebx
- jnz @loc_100011FE
- and byte ptr [eax], 1Fh
- @loc_100011FE:
- dec esi
- jns @loc_100011A5
- pop edi
- pop ebx
- @loc_10001203:
- pop esi
- retn
- end;
- procedure sub_100013EE;
- asm
- mov ecx, [esp+4]
- movzx eax, byte ptr [ecx+3]
- movzx edx, byte ptr [ecx+2]
- shl eax, 8
- add eax, edx
- movzx edx, byte ptr [ecx+1]
- movzx ecx, byte ptr [ecx]
- shl eax, 8
- add eax, edx
- shl eax, 8
- add eax, ecx
- retn
- end;
- procedure sub_1000136E;
- asm
- push ebp
- mov ebp, esp
- sub esp, 10h
- mov eax, [ebp+0Ch]
- push esi
- mov esi, [ebp+8]
- push edi
- mov edi, [eax+4]
- and [ebp+8], 0
- mov ecx, [esi]
- mov edx, [esi+4]
- mov [ebp-8], edi
- mov edi, [eax]
- mov [ebp-4], edi
- mov edi, [eax+0Ch]
- mov eax, [eax+8]
- mov [ebp-10h], edi
- mov [ebp-0Ch], eax
- mov [ebp+0Ch], 20h
- @loc_100013A3:
- sub [ebp+8], 61C88647h
- mov eax, edx
- mov edi, edx
- shl eax, 4
- add eax, [ebp-4]
- shr edi, 5
- add edi, [ebp-8]
- xor eax, edi
- mov edi, [ebp+8]
- add edi, edx
- xor eax, edi
- add ecx, eax
- mov eax, ecx
- mov edi, ecx
- shl eax, 4
- add eax, [ebp-0Ch]
- shr edi, 5
- add edi, [ebp-10h]
- xor eax, edi
- mov edi, [ebp+8]
- add edi, ecx
- xor eax, edi
- add edx, eax
- dec [ebp+0Ch]
- jnz @loc_100013A3
- mov [esi], ecx
- mov [esi+4], edx
- pop edi
- pop esi
- leave
- retn
- end;
- procedure sub_10001411;
- asm
- mov eax, [esp+4]
- mov ecx, [esp+8]
- mov edx, eax
- shr edx, 8
- mov [ecx+1], dl
- mov edx, eax
- mov [ecx], al
- shr edx, 10h
- shr eax, 18h
- mov [ecx+2], dl
- mov [ecx+3], al
- retn
- end;
- procedure sub_10001499;
- asm
- mov cl, [esp+4]
- cmp cl, 61h
- jl @loc_100014AA
- cmp cl, 7Ah
- jg @loc_100014AA
- add cl, 0E0h
- @loc_100014AA:
- cmp cl, 49h
- jnz @loc_100014B2
- add cl, 0E8h
- @loc_100014B2:
- cmp cl, 4Ch
- jnz @loc_100014BA
- add cl, 0E5h
- @loc_100014BA:
- cmp cl, 4Fh
- jnz @loc_100014C2
- add cl, 0E1h
- @loc_100014C2:
- cmp cl, 51h
- jnz @loc_100014CA
- add cl, 0DFh
- @loc_100014CA:
- xor eax, eax
- @loc_100014CC:
- mov edx, a0123456789ab_0
- cmp cl, [edx+eax]
- jz @locret_100014DF
- inc eax
- cmp eax, 20h
- jl @loc_100014CC
- or al, 0FFh
- @locret_100014DF:
- retn
- end;
- procedure sub_100012F2;
- asm
- push ebp
- mov ebp, esp
- sub esp, 18h
- push ebx
- mov ebx, [ebp+8]
- push esi
- push edi
- lea eax, [ebp-8]
- push 2
- lea esi, [ebp-8]
- sub ebx, eax
- pop edi
- @loc_10001309:
- lea eax, [ebx+esi]
- push eax
- call sub_100013EE
- mov [esi], eax
- add esi, 4
- dec edi
- pop ecx
- jnz @loc_10001309
- mov edi, [ebp+0Ch]
- lea eax, [ebp-18h]
- lea esi, [ebp-18h]
- sub edi, eax
- mov [ebp+8], 4
- @loc_1000132D:
- lea eax, [edi+esi]
- push eax
- call sub_100013EE
- mov [esi], eax
- add esi, 4
- dec [ebp+8]
- pop ecx
- jnz @loc_1000132D
- lea eax, [ebp-18h]
- push eax
- lea eax, [ebp-8]
- push eax
- call sub_1000136E
- pop ecx
- lea esi, [ebp-8]
- pop ecx
- push 2
- pop edi
- @loc_10001356:
- lea eax, [esi+ebx]
- push eax
- push dword ptr [esi]
- call sub_10001411
- pop ecx
- add esi, 4
- dec edi
- pop ecx
- jnz @loc_10001356
- pop edi
- pop esi
- pop ebx
- leave
- retn
- end;
- procedure sub_10001432;
- asm
- push ebx
- push ebp
- push esi
- mov esi, [esp+0Ch+4]
- xor ebx, ebx
- xor ebp, ebp
- cmp byte ptr [esi], 0
- jz @loc_10001476
- @loc_10001442:
- mov al, [esi+ebp]
- push eax
- call sub_10001499
- movsx eax, al
- cmp eax, 0FFFFFFFFh
- pop ecx
- jz @loc_1000146B
- movzx eax, al
- push 20h
- cdq
- pop ecx
- idiv ecx
- mov eax, a0123456789ab_0
- mov al, [edx+eax]
- mov [ebx+esi], al
- inc ebx
- jmp @loc_1000146F
- @loc_1000146B:
- and byte ptr [esi+ebp], 0
- @loc_1000146F:
- inc ebp
- cmp byte ptr [esi+ebp], 0
- jnz @loc_10001442
- @loc_10001476:
- cmp ebx, ebp
- jnb @loc_10001493
- mov ecx, ebp
- push edi
- sub ecx, ebx
- lea edi, [ebx+esi]
- mov edx, ecx
- xor eax, eax
- shr ecx, 2
- rep stosd
- mov ecx, edx
- and ecx, 3
- rep stosb
- pop edi
- @loc_10001493:
- pop esi
- mov eax, ebx
- pop ebp
- pop ebx
- retn
- end;
- procedure sub_10001205;
- asm
- push ebp
- mov ebp, esp
- sub esp, 130h
- mov ecx, [ebp+8]
- push ebx
- push esi
- mov esi, [ebp+10h]
- push edi
- xor edi, edi
- lea eax, [ebp-130h]
- mov [esi+4], edi
- mov [esi], edi
- sub eax, ecx
- mov ebx, 12Ch
- @loc_1000122B:
- mov dl, [ecx]
- test dl, dl
- jz @loc_1000123A
- mov [eax+ecx], dl
- inc edi
- inc ecx
- cmp edi, ebx
- jb @loc_1000122B
- @loc_1000123A:
- and [ebp+edi-130h], 0
- lea eax, [ebp-130h]
- push eax
- call sub_10001432
- mov edi, eax
- pop ecx
- test edi, edi
- jz @loc_100012EB
- mov edx, [ebp+0Ch]
- cmp byte ptr [edx], 0
- jz @loc_1000129F
- mov [ebp+edi-130h], 2Ah
- inc edi
- cmp edi, ebx
- mov eax, edi
- jnb @loc_10001287
- @loc_10001270:
- mov ecx, eax
- sub ecx, edi
- mov cl, [ecx+edx]
- test cl, cl
- jz @loc_10001287
- mov [ebp+eax-130h], cl
- inc eax
- cmp eax, ebx
- jb @loc_10001270
- @loc_10001287:
- and [ebp+eax-130h], 0
- lea eax, [ebp+edi-130h]
- push eax
- call sub_10001432
- pop ecx
- add edi, eax
- @loc_1000129F:
- mov eax, edi
- push 8
- cdq
- pop ebx
- @loc_100012A5:
- mov ecx, ebx
- idiv ecx
- test edx, edx
- jz @loc_100012BB
- and [ebp+edi-130h], 0
- inc edi
- mov eax, edi
- cdq
- jmp @loc_100012A5
- @loc_100012BB:
- mov eax, edi
- mov ecx, ebx
- cdq
- idiv ecx
- test eax, eax
- jle @loc_100012EB
- lea edi, [ebp-130h]
- mov [ebp+10h], eax
- @loc_100012CF:
- mov eax, [edi]
- push [ebp+14h]
- xor [esi], eax
- mov eax, [edi+4]
- xor [esi+4], eax
- push esi
- call sub_100012F2
- pop ecx
- add edi, ebx
- dec [ebp+10h]
- pop ecx
- jnz @loc_100012CF
- @loc_100012EB:
- mov eax, esi
- pop edi
- pop esi
- pop ebx
- leave
- retn
- end;
- procedure sub_10001123;
- asm
- push esi
- mov esi, [esp+4+8]
- push edi
- mov eax, esi
- push 5
- mov edi, [esp+0Ch+4]
- cdq
- pop ecx
- idiv ecx
- test edx, edx
- jz @loc_1000114A
- @loc_10001139:
- and byte ptr [edi+esi], 0
- inc esi
- mov eax, esi
- push 5
- cdq
- pop ecx
- idiv ecx
- test edx, edx
- jnz @loc_10001139
- @loc_1000114A:
- and byte ptr [edi+esi], 0
- mov eax, esi
- shl eax, 3
- push eax
- push edi
- call sub_10001193
- pop ecx
- mov eax, esi
- pop ecx
- push 5
- cdq
- pop ecx
- idiv ecx
- push 0
- pop esi
- mov ecx, eax
- shl ecx, 3
- jz @loc_1000118A
- push ebx
- @loc_1000116F:
- movzx eax, byte ptr [esi+edi]
- push 20h
- cdq
- pop ebx
- idiv ebx
- mov eax, a0123456789ab_0
- mov al, [edx+eax]
- mov [esi+edi], al
- inc esi
- cmp esi, ecx
- jb @loc_1000116F
- pop ebx
- @loc_1000118A:
- and byte ptr [ecx+edi], 0
- pop edi
- mov eax, ecx
- pop esi
- retn
- end;
- procedure sub_100010E8;
- asm
- push ebp
- mov ebp, esp
- sub esp, 18h
- push esi
- push edi
- push [ebp+14h]
- lea eax, [ebp-18h]
- push eax
- push [ebp+0Ch]
- push [ebp+8]
- call sub_10001205
- lea eax, [ebp-18h]
- push 8
- push eax
- call sub_10001123
- mov eax, [ebp+10h]
- lea esi, [ebp-18h]
- mov edi, eax
- add esp, 18h
- movsd
- movsd
- movsd
- and byte ptr [eax+0Ch], 0
- pop edi
- pop esi
- leave
- retn
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement