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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4e9cd9
add esp, 0xffffff80
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x4e9c12
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x94]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x98]
test ebx, ebx
jne 0x4e9bfc
test eax, eax
je 0x4e9ad2
mov ebp, 0xa
mov esi, 0x2e
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x34], ebp
mov ebp, 0xa
mov dword [esp + 0x58], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x30], esi
mov byte [esp + 0x2f], cl
mov dword [esp + 0x50], ebp
mov dword [esp], ebp
call fcn.004e9510
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x6c], eax
xor eax, eax
mov byte [esp + 0x2e], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], ecx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x88], ecx
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov ecx, 0xffffffff
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
jmp 0x4e972d
mov dword [esp + 0x84], edi
mov byte [esp + 0x2e], al
mov byte [esp + 0x9c], cl
mov ebp, dword [ebx + 0x10]
mov dword [esp], edx
call ebp
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x98]
mov ebx, ebp
mov ebp, edi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x74], edx
mov byte [esp + 0x2f], al
mov byte [esp + 0x5c], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x84], edi
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x4e9890
movzx eax, byte [esp + 0x2f]
cmp al, 0x2e
jne 0x4e9ac5
movzx ecx, byte [esp + 0x9c]
test cl, cl
je 0x4e9789
mov eax, dword [esp + 0x30]
cmp eax, 0x5f
sete al
movzx ecx, byte [esp + 0x2e]
or eax, ecx
xor ecx, ecx
mov ecx, 0x2e
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], ecx
xor ecx, ecx
jmp 0x4e96b7
cmp al, 0x5f
jne 0x4e97be
test ebp, ebp
jne 0x4e97be
mov eax, dword [esp + 0x30]
cmp eax, 0x30
setne al
movzx esi, byte [esp + 0x2e]
or eax, esi
mov esi, 0x5f
mov esi, dword [esp + 0x40]
mov dword [esp + 0x4c], esi
mov esi, 0x5f
mov dword [esp + 0x30], esi
jmp 0x4e96b7
lea ebp, [eax - 0x30]
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x4e9a79
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
cmp eax, esi
jae 0x4e9888
mov ebp, dword [esp + 0x44]
imul ebp, esi
add eax, ebp
mov ebp, dword [esp + 0x3c]
inc ebp
mov esi, dword [esp + 0x38]
cmp esi, ebp
je 0x4e9815
mov esi, dword [esp + 0x40]
inc esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], eax
mov ebp, dword [esp + 0x98]
movzx eax, byte [esp + 0x2e]
mov esi, 0x30
jmp 0x4e97b5
mov dword [esp], edi
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.004e1c00
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x38]
xor ebp, ebp
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], eax
xor eax, eax
movzx ecx, byte [esp + 0x9c]
jmp 0x4e97f1
mov eax, dword [ebx + 0x14]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x58]
cmp dword [0x7ccd90], eax
je 0x4e9a40
mov ecx, dword [esp + 0x74]
test eax, eax
je 0x4e9a18
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x4e98cd
mov ebx, dword [esp + 0x34]
cmp ebx, 0x30
je 0x4e99c9
mov eax, dword [0x7ccde0]
mov ecx, dword [0x7ccde4]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jg 0x4e9967
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004e13e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x54]
test ebx, ebx
jl 0x4e9961
mov ebp, dword [esp + 0x40]
sub ebx, ebp
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xb8], eax
sub esp, 0xffffff80
ret
mov ebx, dword [esp + 0x40]
jmp 0x4e9920
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004e9560
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
call fcn.004e1c00
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
jmp 0x4e98f6
mov edx, dword [esp + 0x84]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], 0
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], 0xa
mov dword [esp + 0xb0], 1
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
sub esp, 0xffffff80
ret
movzx edx, byte [esp + 0x2e]
test dl, dl
je 0x4e9a32
mov eax, dword [0x7ccdd8]
mov ecx, dword [0x7ccddc]
jmp 0x4e98ac
mov edx, dword [esp + 0x30]
cmp edx, 0x5f
je 0x4e9a21
jmp 0x4e98ac
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov edx, dword [0x7ccd94]
mov dword [esp + 8], edx
call fcn.00404120
movzx eax, byte [esp + 0xc]
test al, al
je 0x4e9a6c
xor eax, eax
xor ecx, ecx
jmp 0x4e98a4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x74]
jmp 0x4e98a4
lea ebp, [eax - 0x61]
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
ja 0x4e9a92
lea ebp, [eax - 0x57]
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
jmp 0x4e97d3
lea ebp, [eax - 0x41]
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
ja 0x4e9abb
cmp esi, 0x24
jg 0x4e9aac
add eax, 0xffffffc9
movzx eax, al
jmp 0x4e97d3
lea ebp, [eax - 0x1d]
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
jmp 0x4e97d3
mov eax, 0x3f
jmp 0x4e97d3
movzx ecx, byte [esp + 0x9c]
jmp 0x4e9789
cmp cl, 0x30
jne 0x4e9612
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x94]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x4e9b34
mov ebx, 0xa
mov ebp, 1
xor esi, esi
mov edi, ebp
mov dword [esp + 0x34], esi
mov ebp, ebx
mov esi, 0x30
mov ebx, dword [esp + 0x98]
mov ebx, eax
mov eax, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x98]
jmp 0x4e9629
cmp al, 0x58
ja 0x4e9be7
cmp al, 0x42
jne 0x4e9b9d
mov ebx, 0x62
mov ebp, 2
test ebx, ebx
je 0x4e9b96
cmp ebx, 0x30
jne 0x4e9b61
xor esi, esi
mov edi, ebx
mov ebx, ebp
mov ebp, esi
mov esi, edi
jmp 0x4e9b0e
mov dword [esp + 0x34], ebx
mov dword [esp + 0x54], ebp
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x94]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x54]
jmp 0x4e9b55
mov esi, 1
jmp 0x4e9b57
cmp al, 0x4f
jne 0x4e9bae
mov ebx, 0x6f
mov ebp, 8
jmp 0x4e9b4c
cmp al, 0x58
jne 0x4e9bbf
mov ebx, 0x78
mov ebp, 0x10
jmp 0x4e9b4c
movzx ebx, byte [esp + 0x9c]
test bl, bl
je 0x4e9bdb
xor ebp, ebp
mov esi, 0xa
mov ebx, ebp
mov ebp, esi
jmp 0x4e9b4c
mov ebp, 0x30
mov esi, 8
jmp 0x4e9bd2
cmp al, 0x62
je 0x4e9b42
cmp al, 0x6f
je 0x4e9ba2
cmp al, 0x78
je 0x4e9bb3
jmp 0x4e9bbf
mov ebp, ebx
mov esi, 0x2e
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x34], ebp
mov ebp, ebx
jmp 0x4e9629
movzx ecx, byte [esp + 0x9c]
test cl, cl
je 0x4e9c46
je 0x4e9c56
cmp eax, 2
je 0x4e95d8
cmp eax, 8
je 0x4e95d8
cmp eax, 0xa
je 0x4e95d8
cmp eax, 0x10
je 0x4e95d8
jmp 0x4e9c56
lea edx, [eax - 2]
cmp edx, 0x3c
jbe 0x4e95d8
test cl, cl
jmp 0x4e9c1e
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp], eax
call fcn.00409e70
mov eax, dword [esp + 4]
lea ecx, [0x642dc0]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea eax, [0x67fe3f]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004ae800
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409f80
mov eax, dword [esp + 8]
lea ecx, [0x643700]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431bb0
nop
call fcn.0045b380
jmp fcn.004e95b0