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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x4a2392
sub esp, 0x88
mov edx, dword [esp + 0x90]
test edx, edx
jle 0x4a1c87
mov ebx, dword [esp + 0x8c]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jne 0x4a1b69
mov eax, 1
xor ecx, ecx
jmp 0x4a1b80
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x4a1b7c
mov eax, 1
mov ecx, 1
jmp 0x4a1b80
xor eax, eax
xor ecx, ecx
lea ebp, [eax + 2]
cmp edx, ebp
jle 0x4a1c10
cmp edx, eax
jbe 0x4a238a
lea esi, [ebx + eax]
cmp byte [esi], 0x30
jne 0x4a1bf2
lea esi, [eax + 1]
cmp edx, esi
jbe 0x4a2381
movzx esi, byte [ebx + eax + 1]
or esi, 0x20
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x4a1bd4
mov eax, 0x10
mov esi, 0x10
mov edi, 0x70
mov eax, 1
mov byte [esp + 0x13], al
mov eax, 0x10
jmp 0x4a1c2c
mov ebp, eax
mov eax, 0x13
mov esi, 0xa
mov edi, 0x65
xor eax, eax
mov byte [esp + 0x13], al
mov eax, 0x13
jmp 0x4a1c2c
mov ebp, eax
mov eax, 0x13
mov esi, 0xa
mov edi, 0x65
xor eax, eax
mov byte [esp + 0x13], al
mov eax, 0x13
jmp 0x4a1c2c
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 + 0x28], esi
mov byte [esp + 0x12], cl
xchg edi, eax
mov byte [esp + 0xf], al
xchg edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x80], eax
xor eax, eax
mov byte [esp + 0xe], al
xor eax, eax
mov byte [esp + 0xd], al
xor eax, eax
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x24], eax
xor eax, eax
mov byte [esp + 0xc], al
xor eax, eax
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x80]
jmp 0x4a1d07
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x9c], 0
mov byte [esp + 0xa0], 0
mov byte [esp + 0xa1], 0
mov byte [esp + 0xa2], 0
mov dword [esp + 0xa4], 0
mov byte [esp + 0xa8], 0
add esp, 0x88
ret
inc ebp
xchg edi, eax
mov byte [esp + 0xe], al
xchg edi, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov byte [esp + 0x70], cl
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], ecx
movzx edi, byte [esp + 0xf]
mov eax, dword [esp + 0x78]
movzx ecx, byte [esp + 0x70]
cmp edx, ebp
jle 0x4a1f62
jbe 0x4a2378
movzx edi, byte [ebx + ebp]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jne 0x4a1d47
movzx edi, byte [esp + 0xe]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x34], edi
mov edi, 1
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
movzx edi, byte [esp + 0xe]
jmp 0x4a1cda
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4a1d93
movzx edi, byte [esp + 0xd]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4a1f67
movzx edi, byte [esp + 0xe]
mov edi, 1
xchg edi, eax
mov byte [esp + 0xd], al
xchg edi, eax
mov edi, dword [esp + 0x18]
mov dword [esp + 0x38], edi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edi
movzx edi, byte [esp + 0xe]
mov eax, dword [esp + 0x60]
jmp 0x4a1cda
mov dword [esp + 0x3c], ebp
lea ebx, [edi - 0x30]
cmp bl, 9
ja 0x4a1ea6
mov byte [esp + 0x10], bl
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jne 0x4a1df1
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x4a1df5
mov edi, dword [esp + 0x24]
dec edi
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov byte [esp + 0x50], cl
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x24], edi
mov edi, 1
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x50]
jmp 0x4a1cda
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
cmp ebp, eax
jge 0x4a1e43
mov eax, dword [esp + 0x44]
mul esi
mov edi, dword [esp + 0x40]
imul edi, esi
add edi, edx
xor esi, esi
mov ebx, dword [esp + 0x44]
imul ebx, esi
add ebx, edi
movzx edi, byte [esp + 0x10]
xchg edi, eax
movzx eax, al
xchg edi, eax
add eax, edi
adc ebx, 0
inc ebp
mov edx, dword [esp + 0x90]
mov esi, eax
mov dword [esp + 0x44], ebx
movzx edi, byte [esp + 0x11]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
jmp 0x4a1e6a
xchg edi, eax
cmp al, 0x30
xchg edi, eax
xchg edi, ebx
setne bl
xchg edi, ebx
movzx esi, byte [esp + 0x11]
or edi, esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x68]
inc ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], ebp
xchg edi, eax
mov byte [esp + 0x11], al
xchg edi, eax
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov edi, 1
mov eax, dword [esp + 0x48]
jmp 0x4a1cda
cmp esi, 0x10
sete bl
xor esi, esi
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
je 0x4a1f50
or edi, 0x20
xchg edi, eax
cmp al, 0x61
xchg edi, eax
jb 0x4a1f50
xchg edi, eax
cmp al, 0x66
xchg edi, eax
ja 0x4a1f50
mov ebx, dword [esp + 0x14]
cmp ebx, eax
jge 0x4a1f0a
mov esi, dword [esp + 0x40]
shl esi, 4
mov ebp, dword [esp + 0x44]
shr ebp, 0x1c
or esi, ebp
mov ebp, dword [esp + 0x44]
shl ebp, 4
add edi, 0xffffffa9
xchg edi, eax
movzx eax, al
xchg edi, eax
add ebp, edi
adc esi, 0
inc ebx
movzx edi, byte [esp + 0x11]
jmp 0x4a1f17
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov edi, 1
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], ebx
xchg edi, eax
mov byte [esp + 0x11], al
xchg edi, eax
movzx ecx, byte [esp + 0x12]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov edi, 1
jmp 0x4a1cda
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x28]
movzx edi, byte [esp + 0xd]
jmp 0x4a1f67
movzx edi, byte [esp + 0xd]
mov eax, ebx
movzx ebx, byte [esp + 0xe]
test bl, bl
je 0x4a216c
xchg edi, eax
test al, al
xchg edi, eax
je 0x4a1f82
mov ebx, dword [esp + 0x24]
jmp 0x4a1f86
mov ebx, dword [esp + 0x18]
cmp esi, 0x10
xchg esi, ebx
sete bl
xchg esi, ebx
xor edi, edi
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a1fb1
shl ebx, 2
mov edi, dword [esp + 0x14]
shl edi, 2
cmp edx, ebp
jmp 0x4a1fb7
cmp edx, ebp
mov edi, dword [esp + 0x14]
jle 0x4a2106
cmp edx, ebp
jbe 0x4a236f
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], ebx
movzx edi, byte [eax + ebp]
or edi, 0x20
movzx ebx, byte [esp + 0xf]
xchg edi, eax
cmp bl, al
xchg edi, eax
jne 0x4a20f8
lea ebx, [ebp + 1]
cmp edx, ebx
jle 0x4a20a2
jbe 0x4a2366
movzx esi, byte [eax + ebp + 1]
xchg esi, eax
cmp al, 0x2b
xchg esi, eax
jne 0x4a200a
lea ebx, [ebp + 2]
mov ebp, 1
jmp 0x4a2020
xchg esi, eax
cmp al, 0x2d
xchg esi, eax
jne 0x4a201b
lea ebx, [ebp + 2]
mov ebp, 0xffffffff
jmp 0x4a2020
mov ebp, 1
cmp edx, ebx
jle 0x4a204c
jbe 0x4a235d
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x4a204c
xchg esi, eax
cmp al, 0x39
xchg esi, eax
ja 0x4a204c
mov dword [esp + 0x20], ebp
movzx esi, byte [esp + 0xc]
xor edi, edi
jmp 0x4a22ea
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], 0
mov byte [esp + 0xa0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xa1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xa2], al
mov dword [esp + 0xa4], ebx
mov byte [esp + 0xa8], 0
add esp, 0x88
ret
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], 0
mov byte [esp + 0xa0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xa1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xa2], al
mov dword [esp + 0xa4], ebx
mov byte [esp + 0xa8], 0
add esp, 0x88
ret
xchg esi, eax
test al, al
xchg esi, eax
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
jmp 0x4a210a
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a2116
movzx esi, byte [esp + 0xc]
jmp 0x4a21c2
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], 0
mov byte [esp + 0xa0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xa1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xa2], al
mov dword [esp + 0xa4], ebp
mov byte [esp + 0xa8], 0
add esp, 0x88
ret
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], 0
mov byte [esp + 0xa0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xa1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xa2], al
mov dword [esp + 0xa4], ebp
mov byte [esp + 0xa8], 0
add esp, 0x88
ret
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x40]
test eax, eax
setne al
mov ebp, dword [esp + 0x44]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or eax, ebp
test al, al
je 0x4a21e6
sub ebx, edi
jmp 0x4a21e8
xor ebx, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a2288
mov eax, dword [esp + 0x3c]
cmp edx, eax
jb 0x4a22de
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004a5b40
movzx eax, byte [esp + 8]
test al, al
je 0x4a2229
movzx ecx, byte [esp + 0x12]
mov ebx, dword [esp + 0x38]
jmp 0x4a2288
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x12]
mov byte [esp + 0xa0], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xa1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xa2], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xa4], eax
mov byte [esp + 0xa8], 0
add esp, 0x88
ret
mov eax, dword [esp + 0x40]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], ebx
mov byte [esp + 0xa0], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0xa1], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0xa2], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xa4], eax
mov byte [esp + 0xa8], 1
add esp, 0x88
ret
mov ecx, eax
call fcn.004637d0
inc ebx
mov ebp, dword [esp + 0x20]
cmp edx, ebx
jle 0x4a2338
jbe 0x4a2354
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x4a2334
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
ja 0x4a2320
cmp edi, 0x2710
jge 0x4a22e5
mov dword [esp + 0x2c], ebx
lea ebx, [edi + edi*4]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
lea edi, [ebp + ebx*2 - 0x30]
mov ebx, dword [esp + 0x2c]
jmp 0x4a22e5
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
jne 0x4a232e
mov esi, 1
jmp 0x4a22e5
mov ebp, dword [esp + 0x20]
jmp 0x4a2338
mov ebp, dword [esp + 0x20]
imul ebp, edi
mov edi, dword [esp + 0x30]
add ebp, edi
mov edi, dword [esp + 0x14]
mov edi, ebx
mov ebx, ebp
mov ebp, edi
mov edi, dword [esp + 0x14]
jmp 0x4a21c2
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebx
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, esi
mov ecx, edx
call fcn.004637b0
mov ecx, edx
call fcn.004637b0
nop
call fcn.00462320
jmp fcn.004a1b20