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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x4e47ae
sub esp, 0x84
mov eax, dword [esp + 0x9c]
test eax, eax
jne 0x4e46cd
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
jne 0x4e4681
mov ebx, dword [esp + 0x9c]
test ebx, ebx
jne 0x4e4678
cmp al, 0x30
je 0x4e4465
mov ebp, 0xa
xor esi, esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], esi
mov byte [esp + 0x2f], al
mov dword [esp + 0x54], ebp
mov dword [esp], ebp
call fcn.004e3d50
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov dword [esp + 0x60], ecx
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
mov dword [esp + 0x8c], ecx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov ecx, 0xffffffff
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
jmp 0x4e3f14
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x58]
mov byte [esp + 0x2f], cl
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x90]
mov ebp, edx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x78], edi
mov dword [esp + 0x90], esi
movzx eax, byte [esp + 0xa0]
test al, al
je 0x4e445b
movzx esi, byte [esp + 0x2f]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
je 0x4e4354
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x4e4302
xchg esi, eax
cmp al, 0x39
xchg esi, eax
ja 0x4e4302
add esi, 0xffffffd0
xchg esi, eax
movzx eax, al
xchg esi, eax
cmp esi, edx
jae 0x4e42b1
mov byte [esp + 0xa0], al
mov ebx, dword [esp + 0x3c]
imul ebx, edx
add ebx, esi
mov ebp, dword [esp + 0x34]
inc ebp
cmp ecx, ebp
je 0x4e425f
mov esi, dword [esp + 0x90]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x90], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x78], edi
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x38]
inc eax
movzx ecx, byte [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x4e3ee7
cmp dword [0x894b80], ebx
je 0x4e401c
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], edx
add esp, 0x84
ret
mov dword [esp + 0x50], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x4c], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [0x894b84]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4e424e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0x5c], eax
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x4e4169
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x4e4163
mov edx, dword [esp + 0x54]
cmp edx, 8
jne 0x4e40fb
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x78]
mov edx, 0xa
mov ebx, 1
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
add esp, 0x84
ret
test ecx, ecx
je 0x4e414d
nop
lea eax, [0x64cca0]
mov dword [esp], eax
call fcn.00409a20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1c
mov eax, dword [0x8a6100]
test eax, eax
jne 0x4e4140
lea eax, [0x68d0fe]
mov dword [edi], eax
lea eax, [0x6e5880]
mov ecx, edi
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
jmp 0x4e40b7
lea eax, [0x68d0fe]
call fcn.0044d090
jmp 0x4e412b
cmp edx, 8
jne 0x4e40ff
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x58]
jmp 0x4e40b7
mov edx, dword [esp + 0x54]
jmp 0x4e40fd
mov dword [esp + 0x38], edi
test ecx, ecx
jg 0x4e41e5
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.004dccf0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x38]
test ebx, ebx
jl 0x4e41df
mov ebp, dword [esp + 0x58]
sub ebx, ebp
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xbc], eax
add esp, 0x84
ret
mov ebx, dword [esp + 0x58]
jmp 0x4e419b
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004e3da0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x48]
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 + 0x3c]
mov dword [esp + 0x1c], eax
call fcn.004dd4f0
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
jmp 0x4e4171
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x4c]
jmp 0x4e3fd4
mov dword [esp], edi
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
call fcn.004dd4f0
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x8c], eax
jmp 0x4e3f89
mov dword [esp + 0x74], ebp
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
jmp 0x4e4081
xchg esi, eax
cmp al, 0x61
xchg esi, eax
jb 0x4e431d
xchg esi, eax
cmp al, 0x7a
xchg esi, eax
ja 0x4e431d
add esi, 0xffffffa9
xchg esi, eax
movzx eax, al
xchg esi, eax
jmp 0x4e3f5d
xchg esi, eax
cmp al, 0x41
xchg esi, eax
jb 0x4e434a
xchg esi, eax
cmp al, 0x5a
xchg esi, eax
ja 0x4e434a
cmp edx, 0x24
jg 0x4e433d
add esi, 0xffffffc9
xchg esi, eax
movzx eax, al
xchg esi, eax
jmp 0x4e3f5d
add esi, 0xffffffe3
xchg esi, eax
movzx eax, al
xchg esi, eax
jmp 0x4e3f5d
mov esi, 0x3f
jmp 0x4e3f5d
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
jne 0x4e439c
mov edi, dword [esp + 0x78]
mov esi, eax
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x58], ebx
mov ebp, ecx
mov ebx, edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x54]
xor eax, eax
jmp 0x4e3f3f
cmp dword [0x894b80], edx
je 0x4e43f0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
add esp, 0x84
ret
mov dword [esp + 0x74], ecx
mov dword [esp + 0x4c], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0x894b84]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4e444e
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x3c]
mov edi, eax
xor eax, eax
mov dword [esp + 0x5c], eax
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov eax, edi
mov ecx, dword [esp + 0x34]
jmp 0x4e4081
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x4c]
jmp 0x4e43a4
movzx esi, byte [esp + 0x2f]
jmp 0x4e3f3f
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
je 0x4e456f
cmp dword [0x894b80], edx
je 0x4e44e4
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0xa
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
add esp, 0x84
ret
mov dword [esp + 0x78], ecx
mov dword [esp + 0x5c], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0x894b84]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4e4515
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x5c]
jmp 0x4e4498
mov eax, dword [esp + 0x88]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0x90]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0xa
mov dword [esp + 0xb4], 1
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
add esp, 0x84
ret
movzx ebx, byte [esp + 0xa0]
test bl, bl
je 0x4e466e
mov ebp, 0xa
cmp al, 0x58
ja 0x4e465b
cmp al, 0x42
jne 0x4e4648
mov ebp, 2
mov dword [esp + 0x58], ebp
cmp ebp, 2
jne 0x4e462f
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x98]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
jne 0x4e45e3
xor ebx, ebx
mov ebp, dword [esp + 0x58]
mov esi, ebx
mov ebx, dword [esp + 0x9c]
jmp 0x4e3e69
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
add esp, 0x84
ret
cmp ebp, 8
jne 0x4e4638
xor ebx, ebx
jmp 0x4e45d1
cmp ebp, 0x10
je 0x4e45a8
mov ebx, 1
jmp 0x4e45d1
cmp al, 0x58
jne 0x4e459b
mov ebp, 0x10
jmp 0x4e459b
cmp al, 0x62
je 0x4e4596
cmp al, 0x78
je 0x4e4651
jmp 0x4e459b
mov ebp, 8
jmp 0x4e4584
mov ebp, ebx
xor esi, esi
jmp 0x4e3e69
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
add esp, 0x84
ret
movzx ecx, byte [esp + 0xa0]
test cl, cl
je 0x4e4713
xor edx, edx
test dl, dl
jne 0x4e3e1f
test cl, cl
je 0x4e470f
cmp eax, 2
jne 0x4e46fb
mov edx, 1
test dl, dl
jne 0x4e3e1f
jmp 0x4e4724
cmp eax, 0xa
jne 0x4e4707
mov edx, 1
jmp 0x4e46f1
cmp eax, 0x10
sete dl
jmp 0x4e46f1
xor edx, edx
jmp 0x4e46f1
cmp eax, 2
jl 0x4e4720
cmp eax, 0x3e
setle dl
jmp 0x4e46db
xor edx, edx
jmp 0x4e46db
mov dword [esp], eax
call fcn.00407360
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea ecx, [0x640260]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
lea eax, [0x68a4af]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0049f310
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407430
mov eax, dword [esp + 8]
lea ecx, [0x640d20]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00427f10
ud2
call fcn.0044b940
jmp fcn.004e3df0