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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, dword [esp + 0x30]
push edi
mov edi, ecx
nop dword [eax]
mov edx, dword [esi]
xor ebx, ebx
cmp edx, dword [esi + 4]
jae 0x493f59
mov al, byte [edx]
movzx ebx, al
test al, al
jle 0x493f59
lea eax, [edx + 1]
mov dword [esi], eax
jmp 0x493f6f
push ebx
mov ecx, esi
call fcn.00427450
mov ebx, eax
lea ecx, [ebx - 1]
cmp ecx, 0x7f
jae case.default.0x493f7e
mov ecx, ebx
shr ecx, 3
dec ecx
cmp ecx, 9
ja case.default.0x493f7e
jmp dword [ecx*4 + 0x4944dc]
cmp bl, 0xa
jne case.default.0x493f7e
or dword [edi + 8], 1
mov eax, dword [edi + 4]
and eax, 0xfffffffe
test byte [edi + 4], 1
je 0x493fa1
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x90]
cmp ecx, 0x575de8
jne 0x493fc6
push 0x575de8
push eax
lea ecx, [edi + 0x90]
call fcn.004312e0
mov ecx, dword [edi + 0x90]
push ecx
push esi
call fcn.00428e40
add esp, 8
jmp 0x4944ba
cmp bl, 0x12
jne case.default.0x493f7e
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x49400a
mov eax, dword [edi + 0x14]
mov edx, dword [ecx]
cmp eax, edx
jge 0x494005
mov ebp, dword [ecx + eax*4 + 4]
inc eax
push ebp
push esi
mov dword [edi + 0x14], eax
call fcn.00488620
add esp, 8
jmp 0x4944ba
cmp edx, dword [edi + 0x18]
jne 0x49401c
mov eax, dword [edi + 0x18]
lea ecx, [edi + 0x10]
inc eax
push eax
call fcn.004251a0
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x10]
call fcn.004860b0
mov edx, dword [edi + 0x14]
add esp, 4
mov ecx, dword [edi + 0x1c]
mov ebp, eax
push ebp
mov dword [ecx + edx*4 + 4], ebp
inc dword [edi + 0x14]
push esi
call fcn.00488620
add esp, 8
jmp 0x4944ba
cmp bl, 0x1a
jne case.default.0x493f7e
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x49407f
mov eax, dword [edi + 0x24]
mov edx, dword [ecx]
cmp eax, edx
jge 0x49407a
mov ebp, dword [ecx + eax*4 + 4]
inc eax
push ebp
push esi
mov dword [edi + 0x24], eax
call fcn.00488540
add esp, 8
jmp 0x4944ba
cmp edx, dword [edi + 0x28]
jne 0x494091
mov eax, dword [edi + 0x28]
lea ecx, [edi + 0x20]
inc eax
push eax
call fcn.004251a0
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x20]
call fcn.004859b0
mov edx, dword [edi + 0x24]
add esp, 4
mov ecx, dword [edi + 0x2c]
mov ebp, eax
push ebp
mov dword [ecx + edx*4 + 4], ebp
inc dword [edi + 0x24]
push esi
call fcn.00488540
add esp, 8
jmp 0x4944ba
cmp bl, 0x22
jne case.default.0x493f7e
mov ecx, dword [edi + 0x3c]
test ecx, ecx
je 0x4940f4
mov eax, dword [edi + 0x34]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4940ef
mov ebp, dword [ecx + eax*4 + 4]
inc eax
push ebp
push esi
mov dword [edi + 0x34], eax
call fcn.004885b0
add esp, 8
jmp 0x4944ba
cmp edx, dword [edi + 0x38]
jne 0x494106
mov eax, dword [edi + 0x38]
lea ecx, [edi + 0x30]
inc eax
push eax
call fcn.004251a0
mov ecx, dword [edi + 0x3c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x30]
call fcn.00485b20
mov edx, dword [edi + 0x34]
add esp, 4
mov ecx, dword [edi + 0x3c]
mov ebp, eax
push ebp
mov dword [ecx + edx*4 + 4], ebp
inc dword [edi + 0x34]
push esi
call fcn.004885b0
add esp, 8
jmp 0x4944ba
cmp bl, 0x2a
jne case.default.0x493f7e
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x49415c
mov eax, dword [edi + 0x44]
mov edx, dword [ecx]
cmp eax, edx
jge 0x494157
mov ebp, dword [ecx + eax*4 + 4]
inc eax
mov dword [edi + 0x44], eax
jmp 0x49418d
cmp edx, dword [edi + 0x48]
jne 0x49416e
mov eax, dword [edi + 0x48]
lea ecx, [edi + 0x40]
inc eax
push eax
call fcn.004251a0
mov ecx, dword [edi + 0x4c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x40]
call fcn.004859c0
mov ecx, dword [edi + 0x44]
mov ebp, eax
mov eax, dword [edi + 0x4c]
add esp, 4
mov dword [eax + ecx*4 + 4], ebp
inc dword [edi + 0x44]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x4941a4
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x4941a4
inc eax
mov dword [esi], eax
jmp 0x4941b5
mov ecx, esi
call fcn.00427ef0
mov ecx, eax
test ecx, ecx
js 0x4944c2
push ecx
lea eax, [esp + 0x14]
mov ecx, esi
push eax
call fcn.00426c70
cmp dword [esp + 0x14], 0
jl 0x4944c2
push esi
mov ecx, ebp
call fcn.00494510
test al, al
je 0x4944c2
push dword [esp + 0x10]
mov ecx, esi
call fcn.00426c10
jmp 0x4944ba
cmp bl, 0x32
jne case.default.0x493f7e
mov ecx, dword [edi + 0x5c]
test ecx, ecx
je 0x494222
mov eax, dword [edi + 0x54]
mov edx, dword [ecx]
cmp eax, edx
jge 0x49421d
mov ebp, dword [ecx + eax*4 + 4]
inc eax
push ebp
push esi
mov dword [edi + 0x54], eax
call fcn.00488620
add esp, 8
jmp 0x4944ba
cmp edx, dword [edi + 0x58]
jne 0x494234
mov eax, dword [edi + 0x58]
lea ecx, [edi + 0x50]
inc eax
push eax
call fcn.004251a0
mov ecx, dword [edi + 0x5c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x50]
call fcn.004860b0
mov edx, dword [edi + 0x54]
add esp, 4
mov ecx, dword [edi + 0x5c]
mov ebp, eax
push ebp
mov dword [ecx + edx*4 + 4], ebp
inc dword [edi + 0x54]
push esi
call fcn.00488620
add esp, 8
jmp 0x4944ba
cmp bl, 0x3a
jne case.default.0x493f7e
mov ecx, edi
call fcn.00471090
mov ebx, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x49428b
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x49428b
inc eax
mov dword [esi], eax
jmp 0x49429c
mov ecx, esi
call fcn.00427ef0
mov ecx, eax
test ecx, ecx
js 0x4944c2
push ecx
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.00426c70
cmp dword [esp + 0x1c], 0
jl 0x4944c2
push esi
mov ecx, ebx
call fcn.00496840
test al, al
je 0x4944c2
push dword [esp + 0x18]
mov ecx, esi
call fcn.00426c10
jmp 0x4944ba
cmp bl, 0x42
jne case.default.0x493f7e
mov ecx, dword [edi + 0x6c]
test ecx, ecx
je 0x4942fc
mov eax, dword [edi + 0x64]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4942f7
mov ebp, dword [ecx + eax*4 + 4]
inc eax
mov dword [edi + 0x64], eax
jmp 0x49432d
cmp edx, dword [edi + 0x68]
jne 0x49430e
mov eax, dword [edi + 0x68]
lea ecx, [edi + 0x60]
inc eax
push eax
call fcn.004251a0
mov ecx, dword [edi + 0x6c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x60]
call fcn.00486970
mov ecx, dword [edi + 0x64]
mov ebp, eax
mov eax, dword [edi + 0x6c]
add esp, 4
mov dword [eax + ecx*4 + 4], ebp
inc dword [edi + 0x64]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x494344
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x494344
inc eax
mov dword [esi], eax
jmp 0x494355
mov ecx, esi
call fcn.00427ef0
mov ecx, eax
test ecx, ecx
js 0x4944c2
push ecx
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.00426c70
cmp dword [esp + 0x24], 0
jl 0x4944c2
push esi
mov ecx, ebp
call fcn.00496e70
test al, al
je 0x4944c2
push dword [esp + 0x20]
mov ecx, esi
call fcn.00426c10
jmp 0x4944ba
cmp bl, 0x4a
jne case.default.0x493f7e
mov ecx, dword [edi + 0x7c]
test ecx, ecx
je 0x4943b5
mov eax, dword [edi + 0x74]
mov edx, dword [ecx]
cmp eax, edx
jge 0x4943b0
mov ebp, dword [ecx + eax*4 + 4]
inc eax
mov dword [edi + 0x74], eax
jmp 0x4943e6
cmp edx, dword [edi + 0x78]
jne 0x4943c7
mov eax, dword [edi + 0x78]
lea ecx, [edi + 0x70]
inc eax
push eax
call fcn.004251a0
mov ecx, dword [edi + 0x7c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x70]
call fcn.00485ab0
mov ecx, dword [edi + 0x74]
mov ebp, eax
mov eax, dword [edi + 0x7c]
add esp, 4
mov dword [eax + ecx*4 + 4], ebp
inc dword [edi + 0x74]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x4943fd
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x4943fd
inc eax
mov dword [esi], eax
jmp 0x49440e
mov ecx, esi
call fcn.00427ef0
mov ecx, eax
test ecx, ecx
js 0x4944c2
push ecx
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
call fcn.00426c70
cmp dword [esp + 0x2c], 0
jl 0x4944c2
push esi
mov ecx, ebp
call fcn.004946d0
test al, al
je 0x4944c2
push dword [esp + 0x28]
mov ecx, esi
call fcn.00426c10
jmp 0x4944ba
cmp bl, 0x52
jne case.default.0x493f7e
lea ecx, [edi + 0x80]
call fcn.00424b10
push eax
push esi
call fcn.00428e40
add esp, 8
test al, al
je 0x4944c2
lea ecx, [edi + 0x80]
call fcn.00424be0
dec eax
lea ecx, [edi + 0x80]
push eax
call fcn.0041b700
lea ecx, [edi + 0x80]
call fcn.00424be0
dec eax
lea ecx, [edi + 0x80]
push eax
call fcn.0041b700
jmp 0x493f40
test ebx, ebx
je 0x4944ce
test byte [edi + 4], 1
lea ecx, [edi + 4]
je 0x4944aa
mov eax, dword [ecx]
and eax, 0xfffffffe
jmp 0x4944af
call fcn.0041ced4
push eax
push ebx
push esi
call fcn.00441ac0
add esp, 0xc
test al, al
jne 0x493f40
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x20
ret 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x20
ret 4