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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4d201e
sub esp, 0x64
mov eax, dword [esp + 0x6c]
cmp eax, 0x63
jne 0x4d1c3a
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.004d1800
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
add esp, 0x64
ret
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.004d0d10
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.004d1100
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
call fcn.004d15e0
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x58], edx
mov ebx, dword [esp + 0x6c]
cmp ebx, 0x55
jne 0x4d1ec3
mov eax, dword [esp + 0x68]
mov dword [esp], eax
lea ecx, [0x8bfb2b]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov byte [esp + 0xc], 0
call fcn.004d0fa0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4d1e93
mov eax, 1
test al, al
jne 0x4d1fb3
xor eax, eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x68]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], al
call fcn.004d16c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x40
call fcn.00461b80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x4d1f70
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x70]
add edx, 0xffffffc0
neg edx
mov dword [esp + 0x4c], edx
cmp edx, 0x20
sbb ebx, ebx
lea ebp, [edx - 0x20]
mov dword [esp + 0x48], ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x44], ebp
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x40], edi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x3c], edi
cmp edx, 0x20
sbb edi, edi
shr edx, 5
cmp edx, 1
sbb edx, edx
mov dword [esp + 0x38], edx
mov ecx, ebp
mov edx, dword [esp + 0x28]
shr edx, cl
mov ecx, esi
mov ebp, dword [esp + 0x28]
shl ebp, cl
mov ecx, dword [esp + 0x4c]
shl eax, cl
and eax, ebx
mov esi, dword [esp + 0x40]
and edx, esi
or edx, eax
mov eax, dword [esp + 0x3c]
and ebp, eax
or edx, ebp
xchg edi, ebx
not ebx
xchg edi, ebx
or edi, ecx
mov ebp, ecx
mov ecx, edi
mov edi, edx
sar edx, cl
mov eax, dword [esp + 0x2c]
cmp edx, eax
setne dl
mov ecx, ebp
mov eax, dword [esp + 0x28]
shl eax, cl
and eax, ebx
shr eax, cl
and eax, ebx
mov ecx, dword [esp + 0x44]
mov ebx, edi
shl edi, cl
and edi, esi
or eax, edi
mov ecx, dword [esp + 0x3c]
not ecx
mov ebp, dword [esp + 0x48]
or ecx, ebp
sar ebx, cl
mov ebp, dword [esp + 0x38]
xor ebp, 0xffffffff
and ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x28]
cmp ebp, eax
setne bl
or edx, ebx
test dl, dl
jne 0x4d1e19
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x78], eax
add esp, 0x64
ret
mov dword [esp], 0
lea eax, [0x8cbd0c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1a
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x24]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4d1e85
mov eax, dword [esp + 0x54]
mov dword [edi], eax
jmp 0x4d1f28
mov eax, dword [esp + 0x54]
call fcn.00451ff0
jmp 0x4d1f28
mov eax, dword [esp + 0x68]
mov dword [esp], eax
lea ecx, [0x8bfb0d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov byte [esp + 0xc], 0
call fcn.004d0fa0
movzx eax, byte [esp + 0x10]
xor eax, 1
jmp 0x4d1cc0
nop
mov eax, dword [esp + 0x68]
mov dword [esp], eax
lea ecx, [0x8bfb68]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov byte [esp + 0xc], 1
call fcn.004d0fa0
mov eax, dword [esp + 0x6c]
cmp eax, 0x76
je 0x4d1f09
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
xor edx, edx
mov ebx, dword [esp + 0x34]
mov ebp, eax
mov eax, edx
mov edx, ebp
jmp 0x4d1cd6
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.004d19e0
mov ebx, dword [esp + 4]
movzx edx, byte [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x4d1efe
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea eax, [0x96e8d0]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edi
lea eax, [0x85b8a0]
mov dword [esp], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042b540
nop
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], edx
lea eax, [0x85b8a0]
mov dword [esp], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042b540
nop
lea eax, [0x85b840]
mov dword [esp], eax
call fcn.0040a800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x8c6ad5]
mov dword [eax], ecx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea ecx, [0x96e8d0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea eax, [0x85b8a0]
mov dword [esp], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.00407f60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042b540
nop
call fcn.004507b0
jmp fcn.004d1bf0