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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x475223
sub esp, 0x60
mov ecx, dword [esp + 0x68]
test ecx, ecx
jle 0x4751c3
mov edx, dword [esp + 0x64]
movzx ebx, byte [edx]
cmp bl, 0x2b
jne 0x4751a6
mov eax, 1
xor ebx, ebx
lea ebp, [eax + 2]
cmp ebp, ecx
jge 0x475185
cmp eax, ecx
jae 0x47521d
movzx esi, byte [edx + eax]
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jne 0x475185
lea esi, [eax + 1]
cmp esi, ecx
jae 0x475216
movzx esi, byte [edx + eax + 1]
or esi, 0x20
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x475185
mov eax, 0x10
mov esi, 0x10
mov edi, 0x70
mov eax, 1
mov byte [esp + 0xf], al
mov eax, 0x10
mov dword [esp + 0x28], esi
mov byte [esp + 0xe], bl
xchg edi, eax
mov byte [esp + 0xb], al
xchg edi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x58], eax
xor eax, eax
mov byte [esp + 0xa], al
xor eax, eax
mov byte [esp + 9], al
xor eax, eax
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov byte [esp + 0xd], al
mov eax, dword [esp + 0x58]
jmp 0x474c41
inc ebp
xchg edi, eax
mov byte [esp + 0xa], al
xchg edi, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
movzx edi, byte [esp + 0xb]
mov eax, dword [esp + 0x50]
cmp ebp, ecx
jge 0x474e72
jae 0x47520f
movzx edi, byte [edx + ebp]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jne 0x474c6e
movzx edi, byte [esp + 0xa]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], edi
movzx edi, byte [esp + 0xa]
jmp 0x474c25
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x474cda
movzx edi, byte [esp + 9]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x474ca3
movzx edi, byte [esp + 0xa]
mov edi, 1
xchg edi, eax
mov byte [esp + 9], al
xchg edi, eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], edi
mov dword [esp + 0x34], edi
movzx edi, byte [esp + 0xa]
jmp 0x474c25
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
mov byte [esp + 0x78], bl
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], 0
add esp, 0x60
ret
mov dword [esp + 0x1c], ebp
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x474dc5
xchg edi, eax
cmp al, 0x39
xchg edi, eax
ja 0x474dc5
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jne 0x474dbc
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x474d2f
mov edi, dword [esp + 0x34]
dec edi
movzx ebx, byte [esp + 0xe]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edi
mov edi, 1
mov eax, dword [esp + 0x48]
jmp 0x474c25
mov edx, dword [esp + 0x10]
cmp edx, eax
jge 0x474d99
mov eax, esi
mov ebp, dword [esp + 0x3c]
mul ebp
lea ebp, [edi - 0x30]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov edi, eax
add eax, ebp
mov ebx, dword [esp + 0x38]
imul ebx, esi
add edx, ebx
add edi, ebp
adc edx, 0
mov ebx, dword [esp + 0x10]
inc ebx
movzx ebp, byte [esp + 0xd]
mov edi, dword [esp + 0x24]
inc edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], ebx
xchg ebp, eax
mov byte [esp + 0xd], al
xchg ebp, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
movzx ebx, byte [esp + 0xe]
mov ebp, dword [esp + 0x1c]
mov edi, 1
jmp 0x474c25
xchg edi, eax
cmp al, 0x30
xchg edi, eax
xchg edi, ebx
setne bl
xchg edi, ebx
movzx eax, byte [esp + 0xd]
or edi, eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
mov ebp, edi
jmp 0x474d63
mov ebx, dword [esp + 0x24]
jmp 0x474d2f
cmp esi, 0x10
sete bl
and ebx, 1
test bl, bl
je 0x474e72
or edi, 0x20
xchg edi, eax
cmp al, 0x61
xchg edi, eax
jb 0x474e72
xchg edi, eax
cmp al, 0x66
xchg edi, eax
ja 0x474e72
mov ebx, dword [esp + 0x10]
cmp ebx, eax
jge 0x474e61
mov esi, dword [esp + 0x3c]
shl esi, 4
add edi, 0xffffffa9
xchg edi, eax
movzx eax, al
xchg edi, eax
mov dword [esp + 0x30], edi
add edi, esi
mov edx, dword [esp + 0x3c]
shr edx, 0x1c
mov ebp, dword [esp + 0x38]
shl ebp, 4
or ebp, edx
mov edx, dword [esp + 0x30]
add edx, esi
adc ebp, 0
lea edx, [ebx + 1]
movzx ebx, byte [esp + 0xd]
mov esi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x10], edx
mov byte [esp + 0xd], bl
mov edx, dword [esp + 0x64]
movzx ebx, byte [esp + 0xe]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov edi, 1
jmp 0x474c25
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov edx, ebx
mov ebx, 1
jmp 0x474e2d
movzx ebx, byte [esp + 0xa]
test bl, bl
je 0x475149
movzx ebx, byte [esp + 9]
test bl, bl
je 0x475140
mov eax, dword [esp + 0x34]
cmp esi, 0x10
sete bl
and ebx, 1
test bl, bl
je 0x475135
shl eax, 2
mov esi, dword [esp + 0x10]
shl esi, 2
cmp ebp, ecx
mov dword [esp + 0x10], esi
jge 0x475131
cmp ebp, ecx
jae 0x475208
movzx edi, byte [edx + ebp]
or edi, 0x20
movzx esi, byte [esp + 0xb]
xchg esi, eax
xchg edi, ebx
cmp al, bl
xchg edi, ebx
xchg esi, eax
jne 0x4750ea
lea ebx, [ebp + 1]
cmp ebx, ecx
jge 0x4750ae
jae 0x475201
movzx esi, byte [edx + ebp + 1]
xchg esi, eax
cmp al, 0x2b
xchg esi, eax
jne 0x475090
lea ebx, [ebp + 2]
mov ebp, 1
cmp ebx, ecx
jge 0x475054
jae 0x4751fa
movzx esi, byte [edx + ebx]
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x475054
xchg esi, eax
cmp al, 0x39
xchg esi, eax
ja 0x475054
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ebp
xor esi, esi
jmp 0x474f3b
inc ebx
mov ebp, dword [esp + 0x20]
cmp ebx, ecx
jge 0x474f9e
jae 0x4751f3
movzx edi, byte [edx + ebx]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x47503f
xchg edi, eax
cmp al, 0x39
xchg edi, eax
ja 0x47503f
mov dword [esp + 0x40], eax
mov eax, 1
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x40]
movzx ebp, byte [esp + 0xc]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x474f9e
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
je 0x474f36
cmp esi, 0x2710
jge 0x474f9a
lea ebp, [esi + esi*4]
xchg edi, eax
movzx esi, al
xchg edi, eax
lea ebp, [esi + ebp*2 - 0x30]
mov esi, ebp
jmp 0x474f36
mov ebp, esi
jmp 0x474f96
mov edx, dword [esp + 0x20]
imul edx, esi
add eax, edx
cmp ebx, ecx
jne 0x475003
mov ecx, dword [esp + 0x3c]
test ecx, ecx
setne dl
mov ebx, dword [esp + 0x38]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x474fff
mov edx, dword [esp + 0x10]
sub eax, edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], eax
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], 1
add esp, 0x60
ret
xor eax, eax
jmp 0x474fcf
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], 0
add esp, 0x60
ret
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
sete al
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x2c]
jmp 0x474f70
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], 0
add esp, 0x60
ret
xchg esi, eax
cmp al, 0x2d
xchg esi, eax
jne 0x4750a4
lea ebx, [ebp + 2]
mov ebp, 0xffffffff
jmp 0x474f02
mov ebp, 1
jmp 0x474f02
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], 0
add esp, 0x60
ret
test bl, bl
jne 0x4750f5
mov ebx, ebp
jmp 0x474fa7
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], 0
add esp, 0x60
ret
test bl, bl
jmp 0x4750ec
cmp ebp, ecx
mov esi, dword [esp + 0x10]
jmp 0x474ead
mov eax, dword [esp + 0x24]
jmp 0x474e90
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0
movzx eax, byte [esp + 0xe]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0xd]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0xf]
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], 0
add esp, 0x60
ret
mov ebp, eax
mov eax, 0x13
mov esi, 0xa
mov edi, 0x65
xor eax, eax
mov byte [esp + 0xf], al
mov eax, 0x13
jmp 0x474bd9
cmp bl, 0x2d
jne 0x4751ba
mov eax, 1
mov ebx, 1
jmp 0x474b7c
xor eax, eax
xor ebx, ebx
jmp 0x474b7c
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov byte [esp + 0x78], 0
mov byte [esp + 0x79], 0
mov byte [esp + 0x7a], 0
mov byte [esp + 0x7b], 0
add esp, 0x60
ret
mov eax, ebx
call fcn.00456b30
mov eax, ebx
call fcn.00456b30
mov eax, ebx
call fcn.00456b30
mov eax, ebp
call fcn.00456b30
mov eax, ebp
call fcn.00456b30
mov eax, esi
call fcn.00456b30
call fcn.00456b30
nop
call fcn.00455270
jmp fcn.00474b40