Function at 0x4aadb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x698ed0
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x73d6e0]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x73d6e0]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0x94]
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0xa4]
and eax, 0x3000
mov dword [esp + 0x34], ebp
mov dword [esp + 0x28], edx
cmp eax, 0x3000
jne 0x4aae38
push ecx
push edi
push edx
push esi
push ebp
push dword [esp + 0xa4]
call fcn.004ab990
add esp, 0x18
jmp 0x4ab8ab
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.0042e5d0
mov dword [esp + 0x88], 0
push eax
call fcn.004ac840
mov ebx, eax
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x88], 0xffffffff
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4aae82
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x4aae82
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
lea eax, [esp + 0x54]
mov ecx, ebx
push eax
call fcn.004ab8d0
mov dword [esp + 0x88], 1
lea eax, [esp + 0x24]
mov ebx, ebp
mov byte [esp + 0x1a], 0
push eax
mov ecx, edi
mov dword [esp + 0x20], ebx
call fcn.0042e5d0
mov byte [esp + 0x88], 2
push eax
call fcn.00430690
add esp, 4
mov edi, eax
mov byte [esp + 0x88], 1
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4aaee4
mov edx, dword [ecx]
call dword [edx + 8]
test eax, eax
je 0x4aaee4
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov eax, dword [edi]
lea ecx, [esp + 0x6c]
push ecx
push 0x6f658e
push str.0123456789_Ee
mov ecx, edi
call dword [eax + 0x1c]
mov edi, dword [esp + 0x28]
mov ecx, esi
push edi
call fcn.004ace20
test al, al
jne 0x4aaf3c
mov ecx, esi
call fcn.004ac5c0
mov ecx, esi
cmp al, byte [esp + 0x77]
jne 0x4aaf1f
mov byte [ebp], 0x2b
jmp 0x4aaf30
call fcn.004ac5c0
cmp al, byte [esp + 0x76]
jne 0x4aaf3c
mov byte [ebp], 0x2d
mov ecx, esi
lea ebx, [ebp + 1]
mov dword [esp + 0x1c], ebx
call fcn.004ac610
xor ebp, ebp
mov byte [esp + 0x19], 0
cmp dword [esp + 0x68], 0x10
lea eax, [esp + 0x54]
mov dword [esp + 0x24], ebp
cmovae eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ebp
mov al, byte [eax]
cmp al, 0x7f
je 0x4ab1d4
test al, al
jle 0x4ab1d4
cmp dword [esp + 0x64], ebp
jne 0x4aaf7c
mov byte [esp + 0x1b], 0
jmp 0x4aaf8b
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov byte [esp + 0x1b], al
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov ebp, 0xf
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
mov word [esp + 0x3c], 0
mov dword [esp + 0x4c], 1
mov byte [esp + 0x88], 3
mov ecx, esi
push dword [esp + 0x28]
xor edi, edi
call fcn.004ace20
mov ebx, dword [esp + 0x3c]
test al, al
jne 0x4ab101
lea esp, [esp]
cmp byte [esi + 4], 0
jne 0x4ab01b
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab011
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab002
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab002
movzx eax, byte [edx]
jmp 0x4ab007
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab011
mov byte [esi + 5], al
jmp 0x4ab017
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esp + 0x6c]
lea eax, [esp + 0x6c]
mov dl, byte [esi + 5]
test cl, cl
je 0x4ab03c
lea ebx, [ebx]
cmp cl, dl
je 0x4ab03c
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4ab030
lea ecx, [esp + 0x6c]
sub eax, ecx
cmp eax, 0xa
jae 0x4ab098
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x19], 1
cmp ecx, 0x24
jl 0x4ab05b
inc dword [esp + 0x20]
jmp 0x4ab079
test eax, eax
jne 0x4ab063
test ecx, ecx
je 0x4ab079
mov edx, dword [esp + 0x1c]
mov al, byte [eax + str.0123456789_Ee]
mov byte [edx], al
inc edx
inc ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ecx
cmp ebp, 0x10
lea eax, [esp + 0x3c]
cmovae eax, ebx
cmp byte [eax + edi], 0x7f
je 0x4ab0d2
cmp ebp, 0x10
lea eax, [esp + 0x3c]
cmovae eax, ebx
inc byte [eax + edi]
jmp 0x4ab0ca
cmp ebp, 0x10
lea eax, [esp + 0x3c]
cmovae eax, ebx
cmp byte [edi + eax], 0
je 0x4ab0ec
cmp byte [esp + 0x1b], 0
je 0x4ab0ec
mov ecx, esi
call fcn.004ac5c0
cmp al, byte [esp + 0x1b]
jne 0x4ab0ec
push 0
push 1
lea ecx, [esp + 0x44]
call fcn.004294e0
inc edi
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x50]
mov ecx, esi
call fcn.004ac610
push dword [esp + 0x28]
mov ecx, esi
call fcn.004ace20
test al, al
je 0x4aafe0
test edi, edi
je 0x4ab101
cmp ebp, 0x10
lea eax, [esp + 0x3c]
cmovae eax, ebx
cmp byte [eax + edi], 0
jle 0x4ab141
inc edi
mov edx, dword [esp + 0x30]
test edi, edi
je 0x4ab146
mov cl, byte [edx]
cmp cl, 0x7f
je 0x4ab146
dec edi
je 0x4ab122
cmp ebp, 0x10
lea eax, [esp + 0x3c]
cmovae eax, ebx
cmp cl, byte [eax + edi]
jne 0x4ab141
test edi, edi
jne 0x4ab134
cmp ebp, 0x10
lea eax, [esp + 0x3c]
cmovae eax, ebx
cmp cl, byte [eax]
jl 0x4ab141
cmp byte [edx + 1], 0
lea eax, [edx + 1]
jle 0x4ab105
mov edx, eax
jmp 0x4ab105
mov byte [esp + 0x1a], 1
mov byte [esp + 0x88], 1
cmp ebp, 0x10
jb 0x4ab15c
push ebx
call fcn.005472b4
add esp, 4
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
cmp byte [esp + 0x19], 0
je 0x4ab190
test ebp, ebp
jne 0x4ab190
mov eax, dword [esp + 0x1c]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x1c], eax
push edi
mov ecx, esi
call fcn.004ace20
test al, al
jne 0x4ab34d
cmp byte [esi + 4], al
jne 0x4ab2e2
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab2d8
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab2c9
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab2c9
movzx eax, byte [edx]
jmp 0x4ab2ce
push edi
mov ecx, esi
call fcn.004ace20
test al, al
jne 0x4ab190
cmp byte [esi + 4], 0
jne 0x4ab21b
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab211
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab202
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab202
movzx eax, byte [edx]
jmp 0x4ab207
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab211
mov byte [esi + 5], al
jmp 0x4ab217
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esp + 0x6c]
lea eax, [esp + 0x6c]
mov dl, byte [esi + 5]
test cl, cl
je 0x4ab23c
lea ebx, [ebx]
cmp cl, dl
je 0x4ab23c
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4ab230
lea ecx, [esp + 0x6c]
sub eax, ecx
cmp eax, 0xa
jae 0x4ab179
cmp ebp, 0x24
jl 0x4ab256
inc dword [esp + 0x20]
jmp 0x4ab26c
test eax, eax
jne 0x4ab25e
test ebp, ebp
je 0x4ab26c
mov al, byte [eax + str.0123456789_Ee]
mov byte [ebx], al
inc ebx
mov dword [esp + 0x1c], ebx
inc ebp
mov ecx, dword [esi]
mov byte [esp + 0x19], 1
test ecx, ecx
je 0x4ab2aa
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4ab29a
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab29a
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab29f
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab2aa
mov byte [esi + 4], 0
jmp 0x4ab2b4
mov dword [esi], 0
mov byte [esi + 4], 1
push edi
mov ecx, esi
call fcn.004ace20
test al, al
je 0x4ab1e0
jmp 0x4ab180
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab2d8
mov byte [esi + 5], al
jmp 0x4ab2de
mov dword [esi], 0
mov byte [esi + 4], 1
mov ecx, dword [esp + 0x2c]
mov bl, byte [esi + 5]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
cmp bl, al
jne 0x4ab34d
call fcn.0054ce56
mov ebx, dword [esp + 0x1c]
mov eax, dword [eax]
mov al, byte [eax]
mov byte [ebx], al
inc ebx
mov ecx, dword [esi]
mov dword [esp + 0x1c], ebx
test ecx, ecx
je 0x4ab341
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4ab331
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab331
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab336
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab341
mov byte [esi + 4], 0
jmp 0x4ab351
mov dword [esi], 0
mov byte [esi + 4], 1
jmp 0x4ab351
mov ebx, dword [esp + 0x1c]
test ebp, ebp
jne 0x4ab426
push edi
mov ecx, esi
call fcn.004ace20
test al, al
jne 0x4ab415
mov ebx, dword [esp + 0x20]
lea ecx, [ecx]
cmp byte [esi + 4], 0
jne 0x4ab3ab
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab3a1
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab392
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab392
movzx eax, byte [edx]
jmp 0x4ab397
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab3a1
mov byte [esi + 5], al
jmp 0x4ab3a7
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x6c]
jne 0x4ab40d
mov ecx, dword [esi]
dec ebx
mov byte [esp + 0x19], 1
test ecx, ecx
je 0x4ab3f3
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4ab3e3
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab3e3
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab3e8
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab3f3
mov byte [esi + 4], 0
jmp 0x4ab3fd
mov dword [esi], 0
mov byte [esi + 4], 1
push edi
mov ecx, esi
call fcn.004ace20
test al, al
je 0x4ab370
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
test eax, eax
jns 0x4ab426
mov byte [ebx], 0x30
inc ebx
inc eax
mov dword [esp + 0x20], eax
push edi
mov ecx, esi
call fcn.004ace20
test al, al
jne 0x4ab500
cmp byte [esi + 4], 0
jne 0x4ab471
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab467
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab458
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab458
movzx eax, byte [edx]
jmp 0x4ab45d
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab467
mov byte [esi + 5], al
jmp 0x4ab46d
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esp + 0x6c]
lea eax, [esp + 0x6c]
mov dl, byte [esi + 5]
test cl, cl
je 0x4ab48c
cmp cl, dl
je 0x4ab48c
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4ab480
lea ecx, [esp + 0x6c]
sub eax, ecx
cmp eax, 0xa
jae 0x4ab500
cmp ebp, 0x24
jge 0x4ab4a6
mov al, byte [eax + str.0123456789_Ee]
mov byte [ebx], al
inc ebx
inc ebp
mov ecx, dword [esi]
mov byte [esp + 0x19], 1
test ecx, ecx
je 0x4ab4e4
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4ab4d4
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab4d4
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab4d9
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab4e4
mov byte [esi + 4], 0
jmp 0x4ab4ee
mov dword [esi], 0
mov byte [esi + 4], 1
push edi
mov ecx, esi
call fcn.004ace20
test al, al
je 0x4ab436
jmp 0x4ab50c
mov al, byte [esp + 0x19]
test al, al
je 0x4ab862
push edi
mov ecx, esi
call fcn.004ace20
test al, al
jne 0x4ab85e
cmp byte [esi + 4], al
jne 0x4ab556
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab54c
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab53d
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab53d
movzx eax, byte [edx]
jmp 0x4ab542
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab54c
mov byte [esi + 5], al
jmp 0x4ab552
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x79]
je 0x4ab5a7
cmp byte [esi + 4], 0
jne 0x4ab59a
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab590
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab581
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab581
movzx eax, byte [edx]
jmp 0x4ab586
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab590
mov byte [esi + 5], al
jmp 0x4ab596
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x78]
jne 0x4ab85e
mov byte [ebx], 0x65
inc ebx
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab5e4
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4ab5d4
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab5d4
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab5d9
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab5e4
mov byte [esi + 4], 0
jmp 0x4ab5ee
mov dword [esi], 0
mov byte [esi + 4], 1
mov ebp, dword [esp + 0x28]
mov ecx, esi
push ebp
mov byte [esp + 0x1d], 0
xor edi, edi
call fcn.004ace20
test al, al
jne 0x4ab6cd
cmp byte [esi + 4], al
jne 0x4ab63e
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab638
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab629
mov eax, dword [ecx + 0x2c]
cmp dword [eax], edi
jle 0x4ab629
movzx eax, byte [edx]
jmp 0x4ab62e
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab638
mov byte [esi + 5], al
jmp 0x4ab63a
mov dword [esi], edi
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x77]
jne 0x4ab64c
mov byte [ebx], 0x2b
jmp 0x4ab68e
cmp byte [esi + 4], 0
jne 0x4ab682
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab67c
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab66d
mov eax, dword [ecx + 0x2c]
cmp dword [eax], edi
jle 0x4ab66d
movzx eax, byte [edx]
jmp 0x4ab672
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab67c
mov byte [esi + 5], al
jmp 0x4ab67e
mov dword [esi], edi
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x76]
jne 0x4ab6cd
mov byte [ebx], 0x2d
mov ecx, dword [esi]
inc ebx
test ecx, ecx
je 0x4ab6c7
mov eax, dword [ecx + 0x1c]
cmp dword [eax], edi
je 0x4ab6b7
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab6b7
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab6bc
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab6c7
mov byte [esi + 4], 0
jmp 0x4ab6cd
mov byte [esi + 4], 1
mov dword [esi], edi
push ebp
mov ecx, esi
call fcn.004ace20
test al, al
jne 0x4ab77f
lea ecx, [ecx]
cmp byte [esi + 4], 0
jne 0x4ab716
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab710
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab701
mov eax, dword [ecx + 0x2c]
cmp dword [eax], edi
jle 0x4ab701
movzx eax, byte [edx]
jmp 0x4ab706
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab710
mov byte [esi + 5], al
jmp 0x4ab712
mov dword [esi], edi
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, byte [esp + 0x6c]
jne 0x4ab774
mov ecx, dword [esi]
mov byte [esp + 0x19], 1
test ecx, ecx
je 0x4ab75c
mov eax, dword [ecx + 0x1c]
cmp dword [eax], edi
je 0x4ab74c
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab74c
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab751
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab75c
mov byte [esi + 4], 0
jmp 0x4ab762
mov dword [esi], edi
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.004ace20
test al, al
je 0x4ab6e0
jmp 0x4ab77b
cmp byte [esp + 0x19], 0
je 0x4ab77f
mov byte [ebx], 0x30
inc ebx
push ebp
mov ecx, esi
call fcn.004ace20
test al, al
jne 0x4ab85e
nop
cmp byte [esi + 4], 0
jne 0x4ab7cb
mov ecx, dword [esi]
test ecx, ecx
je 0x4ab7c1
mov eax, dword [ecx + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x4ab7b2
mov eax, dword [ecx + 0x2c]
cmp dword [eax], 0
jle 0x4ab7b2
movzx eax, byte [edx]
jmp 0x4ab7b7
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, 0xffffffff
je 0x4ab7c1
mov byte [esi + 5], al
jmp 0x4ab7c7
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esp + 0x6c]
lea eax, [esp + 0x6c]
mov dl, byte [esi + 5]
test cl, cl
je 0x4ab7ec
lea ebx, [ebx]
cmp cl, dl
je 0x4ab7ec
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4ab7e0
lea ecx, [esp + 0x6c]
sub eax, ecx
cmp eax, 0xa
jae 0x4ab85e
cmp edi, 8
jge 0x4ab806
mov al, byte [eax + str.0123456789_Ee]
mov byte [ebx], al
inc ebx
inc edi
mov ecx, dword [esi]
mov byte [esp + 0x19], 1
test ecx, ecx
je 0x4ab844
mov eax, dword [ecx + 0x1c]
cmp dword [eax], 0
je 0x4ab834
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
test eax, eax
jle 0x4ab834
dec eax
mov dword [edx], eax
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
movzx eax, byte [edx]
jmp 0x4ab839
mov eax, dword [ecx]
call dword [eax + 0x1c]
cmp eax, 0xffffffff
je 0x4ab844
mov byte [esi + 4], 0
jmp 0x4ab84e
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.004ace20
test al, al
je 0x4ab790
mov al, byte [esp + 0x19]
cmp byte [esp + 0x1a], 0
jne 0x4ab86d
test al, al
jne 0x4ab871
mov ebx, dword [esp + 0x34]
mov byte [ebx], 0
mov dword [esp + 0x88], 0xffffffff
cmp dword [esp + 0x68], 0x10
jb 0x4ab892
push dword [esp + 0x54]
call fcn.005472b4
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.005472b9
add esp, 0x78
ret