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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4bbcbb
sub esp, 0x5c
mov edx, dword [esp + 0x64]
test edx, edx
jle 0x4bbc3e
mov ebx, dword [esp + 0x60]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
jne 0x4bbc1f
mov eax, 1
xor ecx, ecx
lea ebp, [eax + 2]
cmp ebp, edx
jge 0x4bbbfe
cmp eax, edx
jae 0x4bbcb3
lea esi, [ebx + eax]
cmp byte [esi], 0x30
jne 0x4bbbfe
lea esi, [eax + 1]
cmp esi, edx
jae 0x4bbcaa
movzx esi, byte [ebx + eax + 1]
or esi, 0x20
xchg esi, eax
cmp al, 0x78
xchg esi, eax
jne 0x4bbbfe
mov eax, 0x10
mov esi, 0x10
mov edi, 0x70
mov eax, 1
mov byte [esp + 0x13], al
mov eax, 0x10
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 + 0x54], eax
xor eax, eax
mov byte [esp + 0xe], al
xor eax, eax
mov byte [esp + 0xd], al
xor eax, eax
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov byte [esp + 0xc], al
xor eax, eax
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x54]
jmp 0x4bb686
inc ebp
xchg edi, eax
mov byte [esp + 0xe], al
xchg edi, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
movzx edi, byte [esp + 0xf]
mov eax, dword [esp + 0x4c]
cmp ebp, edx
jge 0x4bbbf4
jae 0x4bbca1
movzx edi, byte [ebx + ebp]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jne 0x4bb6be
movzx edi, byte [esp + 0xe]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x18], edi
mov edi, 1
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
movzx edi, byte [esp + 0xe]
jmp 0x4bb66a
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x4bba45
movzx edi, byte [esp + 0xd]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4bb6fa
movzx edi, byte [esp + 0xe]
mov edi, 1
xchg edi, eax
mov byte [esp + 0xd], al
xchg edi, eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], edi
movzx edi, byte [esp + 0xe]
jmp 0x4bb66a
mov eax, ebx
movzx ebx, byte [esp + 0xe]
test bl, bl
je 0x4bba0a
xchg edi, eax
test al, al
xchg edi, eax
je 0x4bba01
mov ebx, dword [esp + 0x38]
cmp esi, 0x10
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x4bb9f6
shl ebx, 2
mov edi, dword [esp + 0x14]
shl edi, 2
cmp ebp, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], ebx
jge 0x4bb9f0
cmp ebp, edx
jae 0x4bbc98
movzx edi, byte [eax + ebp]
or edi, 0x20
movzx ebx, byte [esp + 0xf]
xchg edi, eax
cmp al, bl
xchg edi, eax
jne 0x4bb99f
lea ebx, [ebp + 1]
cmp ebx, edx
jge 0x4bb964
jae 0x4bbc8f
movzx esi, byte [eax + ebp + 1]
xchg esi, eax
cmp al, 0x2b
xchg esi, eax
jne 0x4bb946
lea ebx, [ebp + 2]
mov ebp, 1
cmp ebx, edx
jge 0x4bb90b
jae 0x4bbc86
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x4bb90b
xchg esi, eax
cmp al, 0x39
xchg esi, eax
ja 0x4bb90b
mov dword [esp + 0x20], ebp
movzx esi, byte [esp + 0xc]
xor edi, edi
jmp 0x4bb7cb
inc ebx
mov esi, ebp
mov ebp, dword [esp + 0x20]
cmp ebx, edx
jge 0x4bb81a
jae 0x4bbc7d
movzx ebp, byte [eax + ebx]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jb 0x4bb813
xchg ebp, eax
cmp al, 0x39
xchg ebp, eax
ja 0x4bb813
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
jne 0x4bb7f5
mov ebp, 1
jmp 0x4bb7c4
cmp edi, 0x2710
jge 0x4bb80f
lea edi, [edi + edi*4]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
lea ebp, [ebp + edi*2 - 0x30]
mov edi, ebp
mov ebp, esi
jmp 0x4bb7c4
mov ebp, edi
jmp 0x4bb809
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
je 0x4bb7e7
mov ebp, dword [esp + 0x20]
imul ebp, edi
mov edi, dword [esp + 0x24]
add ebp, edi
mov edi, dword [esp + 0x40]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
mov eax, dword [esp + 0x3c]
test eax, eax
setne al
or eax, edi
test al, al
je 0x4bb904
mov eax, dword [esp + 0x14]
sub ebp, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x4bb87c
cmp edx, ebx
jb 0x4bbc76
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004beca0
movzx eax, byte [esp + 8]
test al, al
je 0x4bb8c0
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], eax
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x74], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x76], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov byte [esp + 0x7c], 1
add esp, 0x5c
ret
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], eax
movzx eax, byte [esp + 0x12]
mov byte [esp + 0x74], al
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x76], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov byte [esp + 0x7c], 0
add esp, 0x5c
ret
xor ebp, ebp
jmp 0x4bb84d
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
mov byte [esp + 0x74], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x76], al
mov dword [esp + 0x78], ebx
mov byte [esp + 0x7c], 0
add esp, 0x5c
ret
xchg esi, eax
cmp al, 0x2d
xchg esi, eax
jne 0x4bb95a
lea ebx, [ebp + 2]
mov ebp, 0xffffffff
jmp 0x4bb78f
mov ebp, 1
jmp 0x4bb78f
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
mov byte [esp + 0x74], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x76], al
mov dword [esp + 0x78], ebx
mov byte [esp + 0x7c], 0
add esp, 0x5c
ret
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4bb9b5
movzx esi, byte [esp + 0xc]
mov ebx, ebp
mov ebp, dword [esp + 0x24]
jmp 0x4bb827
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
mov byte [esp + 0x74], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x76], al
mov dword [esp + 0x78], ebp
mov byte [esp + 0x7c], 0
add esp, 0x5c
ret
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x4bb9a3
cmp ebp, edx
mov edi, dword [esp + 0x14]
jmp 0x4bb73a
mov ebx, dword [esp + 0x24]
jmp 0x4bb717
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
mov byte [esp + 0x74], cl
movzx eax, byte [esp + 0x11]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x13]
mov byte [esp + 0x76], al
mov dword [esp + 0x78], ebp
mov byte [esp + 0x7c], 0
add esp, 0x5c
ret
mov dword [esp + 0x34], ebp
lea ebx, [edi - 0x30]
cmp bl, 9
ja 0x4bbb33
mov byte [esp + 0x10], bl
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jne 0x4bbb2a
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x4bba93
mov edi, dword [esp + 0x38]
dec edi
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], edi
mov edi, 1
mov eax, dword [esp + 0x44]
jmp 0x4bb66a
mov ebp, dword [esp + 0x14]
cmp ebp, eax
jge 0x4bbb04
mov eax, dword [esp + 0x40]
mul esi
mov dword [esp + 0x40], eax
movzx edi, byte [esp + 0x10]
xchg edi, eax
movzx eax, al
xchg edi, eax
add eax, edi
mov ebx, dword [esp + 0x3c]
imul ebx, esi
add ebx, edx
mov edx, esi
mov esi, dword [esp + 0x40]
add esi, edi
adc ebx, 0
inc ebp
movzx esi, byte [esp + 0x11]
mov edi, dword [esp + 0x24]
inc edi
mov edx, dword [esp + 0x64]
mov dword [esp + 0x18], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x14], ebp
xchg esi, eax
mov byte [esp + 0x11], al
xchg esi, eax
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, 1
jmp 0x4bb66a
xchg edi, eax
cmp al, 0x30
xchg edi, eax
xchg edi, ebx
setne bl
xchg edi, ebx
movzx ecx, byte [esp + 0x11]
or edi, ecx
movzx ecx, byte [esp + 0x12]
mov edx, esi
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov esi, edi
jmp 0x4bbacb
mov ebx, dword [esp + 0x24]
jmp 0x4bba93
cmp esi, 0x10
sete bl
and ebx, 1
test bl, bl
je 0x4bbbe6
or edi, 0x20
xchg edi, eax
cmp al, 0x61
xchg edi, eax
jb 0x4bbbe6
xchg edi, eax
cmp al, 0x66
xchg edi, eax
ja 0x4bbbe6
mov ebx, dword [esp + 0x14]
cmp ebx, eax
jge 0x4bbbd7
mov esi, dword [esp + 0x40]
shl esi, 4
mov dword [esp + 0x30], esi
add edi, 0xffffffa9
xchg edi, eax
movzx eax, al
xchg edi, eax
add esi, edi
mov dword [esp + 0x2c], esi
mov ebp, dword [esp + 0x3c]
shl ebp, 4
mov esi, dword [esp + 0x40]
shr esi, 0x1c
or ebp, esi
mov esi, dword [esp + 0x30]
add esi, edi
adc ebp, 0
inc ebx
mov esi, dword [esp + 0x2c]
movzx edi, byte [esp + 0x11]
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebp
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 + 0x60]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, 1
jmp 0x4bb66a
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov edi, 1
jmp 0x4bbba1
mov ebx, dword [esp + 0x60]
movzx edi, byte [esp + 0xd]
jmp 0x4bb6fa
movzx edi, byte [esp + 0xd]
jmp 0x4bb6fa
mov ebp, eax
mov eax, 0x13
mov esi, 0xa
mov edi, 0x65
xor eax, eax
mov byte [esp + 0x13], al
mov eax, 0x13
jmp 0x4bb618
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x4bbc35
mov eax, 1
mov ecx, 1
jmp 0x4bb5be
xor eax, eax
xor ecx, ecx
jmp 0x4bb5be
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0x74], 0
mov byte [esp + 0x75], 0
mov byte [esp + 0x76], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
add esp, 0x5c
ret
mov ecx, ebx
call fcn.00460be0
mov eax, ebx
mov ecx, edx
call fcn.00460bc0
mov eax, ebx
mov ecx, edx
call fcn.00460bc0
mov eax, ebx
mov ecx, edx
call fcn.00460bc0
mov eax, ebp
mov ecx, edx
call fcn.00460bc0
mov eax, ebp
mov ecx, edx
call fcn.00460bc0
mov eax, esi
mov ecx, edx
call fcn.00460bc0
mov ecx, edx
call fcn.00460bc0
nop
call fcn.0045f5f0
jmp fcn.004bb580