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

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x46b230
sub esp, 0x68
mov edx, dword [esp + 0x70]
test edx, edx
jle 0x46abaf
mov ebx, dword [esp + 0x6c]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jne 0x46aa9a
mov eax, 1
xor ecx, ecx
jmp 0x46aab1
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x46aaad
mov eax, 1
mov ecx, 1
jmp 0x46aab1
xor eax, eax
xor ecx, ecx
lea ebp, [eax + 2]
cmp edx, ebp
jle 0x46ab41
cmp edx, eax
jbe 0x46b228
lea esi, [ebx + eax]
cmp byte [esi], 0x30
jne 0x46ab23
lea esi, [eax + 1]
cmp edx, esi
jbe 0x46b21f
movzx esi, byte [ebx + eax + 1]
or esi, 0x20
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x46ab05
mov eax, 0x10
mov esi, 0x10
mov edi, 0x70
mov eax, 1
mov byte [esp + 0x13], al
mov eax, 0x10
jmp 0x46ab5d
mov ebp, eax
mov eax, 0x13
mov esi, 0xa
mov edi, 0x65
xor eax, eax
mov byte [esp + 0x13], al
mov eax, 0x13
jmp 0x46ab5d
mov ebp, eax
mov eax, 0x13
mov esi, 0xa
mov edi, 0x65
xor eax, eax
mov byte [esp + 0x13], al
mov eax, 0x13
jmp 0x46ab5d
mov ebp, eax
mov eax, 0x13
mov esi, 0xa
mov edi, 0x65
xor eax, eax
mov byte [esp + 0x13], al
mov eax, 0x13
mov dword [esp + 0x24], esi
mov byte [esp + 0x12], cl
xchg edi, eax
mov byte [esp + 0x10], al
xchg edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x60], eax
xor eax, eax
mov byte [esp + 0xf], al
xor eax, eax
mov byte [esp + 0xe], al
xor eax, eax
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x20], eax
xor eax, eax
mov byte [esp + 0xd], al
xor eax, eax
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x60]
jmp 0x46ac27
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov byte [esp + 0x80], 0
mov byte [esp + 0x81], 0
mov byte [esp + 0x82], 0
mov dword [esp + 0x84], 0
mov byte [esp + 0x88], 0
add esp, 0x68
ret
inc ebp
movzx ecx, byte [esp + 0x12]
xchg edi, eax
mov byte [esp + 0xf], al
xchg edi, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
movzx edi, byte [esp + 0x10]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
cmp edx, ebp
jle 0x46ae69
jbe 0x46b216
movzx ecx, byte [ebx + ebp]
cmp cl, 0x5f
jne 0x46ac65
mov ecx, edi
movzx edi, byte [esp + 0xf]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], ecx
mov ecx, 1
mov byte [esp + 0xd], cl
movzx ecx, byte [esp + 0x10]
jmp 0x46abf6
cmp cl, 0x2e
jne 0x46acb1
mov ecx, edi
movzx edi, byte [esp + 0xe]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x46ae70
movzx edi, byte [esp + 0xf]
mov edi, 1
xchg edi, eax
mov byte [esp + 0xe], al
xchg edi, eax
mov edi, dword [esp + 0x18]
mov dword [esp + 0x30], edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edi
movzx edi, byte [esp + 0xf]
mov eax, dword [esp + 0x40]
jmp 0x46abf6
mov dword [esp + 0x34], ebp
lea edi, [ecx - 0x30]
xchg edi, eax
cmp al, 9
xchg edi, eax
ja 0x46adb1
cmp cl, 0x30
jne 0x46ad01
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x46ad05
mov edi, dword [esp + 0x20]
dec edi
movzx ecx, byte [esp + 0x10]
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], edi
mov edi, 1
movzx ecx, byte [esp + 0x10]
jmp 0x46abf6
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp ebp, eax
jge 0x46ad55
mov eax, dword [esp + 0x3c]
mul esi
xor ebx, ebx
mov ebp, dword [esp + 0x3c]
imul ebp, ebx
mov ebx, dword [esp + 0x38]
imul ebx, esi
add ebx, edx
add ebx, ebp
xchg edi, eax
movzx ebp, al
xchg edi, eax
mov edi, dword [esp + 0x14]
inc edi
add eax, ebp
adc ebx, 0
mov edx, dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x3c], ebx
mov ebp, edi
movzx ecx, byte [esp + 0x11]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
jmp 0x46ad78
cmp cl, 0x30
setne cl
mov edi, esi
movzx esi, byte [esp + 0x11]
or ecx, esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
inc ebx
mov edi, 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], ebp
mov byte [esp + 0x11], cl
movzx ecx, byte [esp + 0x10]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov edi, 1
jmp 0x46abf6
xor edi, edi
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
cmp esi, 0x10
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x46ae59
or ecx, 0x20
cmp cl, 0x61
jb 0x46ae59
cmp cl, 0x66
ja 0x46ae59
mov esi, dword [esp + 0x14]
cmp esi, eax
jge 0x46ae18
mov edi, dword [esp + 0x38]
shl edi, 4
mov ebx, dword [esp + 0x3c]
shl ebx, 4
mov ebp, dword [esp + 0x3c]
shr ebp, 0x1c
or edi, ebp
lea ebp, [ecx - 0x57]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
inc esi
add ebx, ebp
adc edi, 0
mov ebp, dword [esp + 0x34]
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
jmp 0x46ae2d
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov ecx, 1
mov byte [esp + 0x11], cl
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x10]
mov esi, dword [esp + 0x24]
mov edi, 1
jmp 0x46abf6
movzx ecx, byte [esp + 0x10]
mov esi, dword [esp + 0x24]
movzx edi, byte [esp + 0xe]
jmp 0x46ae70
mov ecx, edi
movzx edi, byte [esp + 0xe]
mov eax, ebx
movzx ebx, byte [esp + 0xf]
test bl, bl
je 0x46b055
xchg edi, eax
test al, al
xchg edi, eax
je 0x46ae8b
mov ebx, dword [esp + 0x20]
jmp 0x46ae8f
mov ebx, dword [esp + 0x18]
xor edi, edi
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
cmp esi, 0x10
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x46aeba
shl ebx, 2
mov edi, dword [esp + 0x14]
shl edi, 2
cmp edx, ebp
jmp 0x46aec0
cmp edx, ebp
mov edi, dword [esp + 0x14]
jle 0x46aff6
cmp edx, ebp
jbe 0x46b20d
mov dword [esp + 0x14], edi
movzx edi, byte [eax + ebp]
or edi, 0x20
xchg edi, eax
cmp cl, al
xchg edi, eax
jne 0x46afec
lea esi, [ebp + 1]
cmp edx, esi
jle 0x46af9d
jbe 0x46b204
movzx edi, byte [eax + ebp + 1]
xchg edi, eax
cmp al, 0x2b
xchg edi, eax
jne 0x46af0c
add ebp, 2
mov esi, ebp
mov ecx, 1
jmp 0x46af22
xchg edi, eax
cmp al, 0x2d
xchg edi, eax
jne 0x46af1d
lea esi, [ebp + 2]
mov ecx, 0xffffffff
jmp 0x46af22
mov ecx, 1
cmp edx, esi
jle 0x46af4e
jbe 0x46b1fb
movzx ebp, byte [eax + esi]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x46af4e
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
ja 0x46af4e
mov dword [esp + 0x28], ebx
movzx ebp, byte [esp + 0xd]
xor edi, edi
jmp 0x46b1ad
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], 0
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x80], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x81], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x82], al
mov dword [esp + 0x84], esi
mov byte [esp + 0x88], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], 0
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x80], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x81], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x82], al
mov dword [esp + 0x84], esi
mov byte [esp + 0x88], 0
add esp, 0x68
ret
xchg esi, eax
test al, al
xchg esi, eax
mov edi, dword [esp + 0x14]
jmp 0x46affa
xchg esi, eax
test al, al
xchg esi, eax
jne 0x46b006
movzx ecx, byte [esp + 0xd]
jmp 0x46b0a4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], 0
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x80], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x81], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x82], al
mov dword [esp + 0x84], ebp
mov byte [esp + 0x88], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], 0
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x80], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x81], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x82], al
mov dword [esp + 0x84], ebp
mov byte [esp + 0x88], 0
add esp, 0x68
ret
mov esi, dword [esp + 0x38]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
mov eax, dword [esp + 0x3c]
test eax, eax
setne al
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x46b0c6
sub ebx, edi
jmp 0x46b0c8
xor ebx, ebx
test cl, cl
je 0x46b156
cmp edx, ebp
jb 0x46b1a1
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0046e500
movzx eax, byte [esp + 8]
test al, al
je 0x46b103
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
jmp 0x46b156
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x7c], eax
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x80], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x81], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x82], al
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], eax
mov byte [esp + 0x88], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], ebx
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x80], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x81], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x82], al
mov dword [esp + 0x84], ebp
mov byte [esp + 0x88], 1
add esp, 0x68
ret
mov ecx, ebp
call fcn.00460f80
inc esi
mov ebx, dword [esp + 0x28]
cmp edx, esi
jle 0x46b1e9
movzx ebx, byte [esi + eax]
cmp bl, 0x30
jb 0x46b1e5
cmp bl, 0x39
ja 0x46b1d3
cmp edi, 0x2710
jge 0x46b1a8
lea edi, [edi + edi*4]
movzx ebx, bl
lea edi, [ebx + edi*2 - 0x30]
jmp 0x46b1a8
cmp bl, 0x5f
jne 0x46b1df
mov ebp, 1
jmp 0x46b1a8
mov ebx, dword [esp + 0x28]
jmp 0x46b1e9
mov ebx, dword [esp + 0x28]
imul ecx, edi
add ebx, ecx
mov edi, dword [esp + 0x14]
mov ecx, ebp
mov ebp, esi
jmp 0x46b0a4
mov eax, esi
mov ecx, edx
call fcn.00460f60
mov eax, esi
mov ecx, edx
call fcn.00460f60
mov eax, ebp
mov ecx, edx
call fcn.00460f60
mov eax, ebp
mov ecx, edx
call fcn.00460f60
mov eax, esi
mov ecx, edx
call fcn.00460f60
mov ecx, edx
call fcn.00460f60
nop
call fcn.0045faf0
jmp fcn.0046aa60