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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x4d87ad
sub esp, 0xd0
mov eax, dword [esp + 0xd4]
test eax, eax
jl 0x4d82b7
lea eax, [0x514080]
mov dword [esp], eax
call fcn.0040ba60
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov dword [esp], 1
mov dword [esp + 8], 0x20
mov dword [esp + 0xc], 0x20
call fcn.004581c0
mov ecx, dword [esp + 0x10]
cmp ecx, 0x20
ja 0x4d87a2
mov dword [esp + 0x3c], ecx
lea eax, [0x521f40]
mov dword [esp], eax
call fcn.0040ba60
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov dword [edi + 8], 0x20
mov eax, dword [0x737a60]
test eax, eax
jne 0x4d8274
mov ecx, dword [esp + 0x64]
mov dword [edi], ecx
jmp 0x4d827d
mov eax, dword [esp + 0x64]
call fcn.004614c0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 2
mov ecx, dword [0x737a60]
lea eax, [edi + 0x18]
test ecx, ecx
jne 0x4d829d
mov dword [edi + 0xc], eax
jmp 0x4d82ab
lea ecx, [edi + 0xc]
mov edx, edi
mov edi, ecx
call fcn.004614c0
mov edi, edx
mov dword [esp + 0x54], edi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4d82e7
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xd0
ret
mov eax, edi
mov ecx, ebp
mov edi, dword [esp + 0x54]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x60], ecx
mov ebx, edi
lea edi, [esp + 0xa4]
xor eax, eax
call fcn.004616c5
mov dword [esp], ebx
call fcn.0044e3c0
movzx ecx, byte [esp + 0x30]
mov byte [esp + 0x37], cl
lea edi, [esp + 0xa4]
lea esi, [esp + 4]
call fcn.00461b72
lea edi, [esp + 0x78]
lea esi, [esp + 0xa4]
call fcn.00461b72
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
nop
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [0x579a40]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea edx, [0x531037]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004bd920
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x38], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ebx, [0x533ef5]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 7
call fcn.004be180
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x4d83c9
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x60]
jmp 0x4d82df
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
lea edx, [0x53ceec]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.004be180
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x4d83fe
xor eax, eax
jmp 0x4d849b
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
lea edx, [0x53545c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 9
call fcn.004be180
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x4d8433
mov eax, 1
jmp 0x4d8498
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
lea edx, [0x534a2f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 8
call fcn.004be180
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x4d8468
mov eax, 1
jmp 0x4d8498
nop
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
lea ecx, [0x537cf5]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xe
call fcn.004be180
mov eax, dword [esp + 0x10]
test eax, eax
setge al
xor eax, 1
test al, al
je 0x4d84b7
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x60]
jmp 0x4d82df
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x4d84d7
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x60]
jmp 0x4d86d7
mov eax, dword [esp + 0x84]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x50], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x531058]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
call fcn.004be180
mov eax, dword [esp + 0x10]
cmp eax, 1
jg 0x4d8524
mov ecx, dword [esp + 0x40]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x50]
jmp 0x4d8708
lea edx, [eax + 1]
mov ecx, dword [esp + 0x40]
cmp ecx, edx
jb 0x4d8700
mov ebx, dword [0x710fe4]
mov dword [esp], ebx
sub ecx, eax
lea eax, [ecx - 1]
mov ecx, eax
neg eax
sar eax, 0x1f
and edx, eax
mov eax, dword [esp + 0x50]
add eax, edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ba170
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.004093a0
mov eax, dword [esp + 8]
lea ecx, [0x516760]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call fcn.00409290
mov eax, dword [esp + 4]
lea ecx, [0x5160a0]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x531c55]
mov dword [esp], eax
mov dword [esp + 4], 5
lea edx, [esp + 0x68]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b1dd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
inc edx
mov ebx, dword [esp + 0x44]
cmp ebx, edx
jb 0x4d8623
mov ebp, dword [esp + 0x60]
jmp 0x4d8669
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x522fa0]
mov dword [esp + 0x10], eax
call fcn.004495f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebp, ecx
mov ebx, eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
lea esi, [edx - 1]
shl esi, 4
mov edi, ebx
mov ebx, dword [esp + 0x40]
mov dword [ebp + esi + 4], ebx
mov dword [ebp + esi + 0xc], ecx
mov ecx, dword [0x737a60]
lea ebx, [ebp + esi]
mov dword [esp + 0x58], ebx
lea ebx, [ebp + esi + 8]
test ecx, ecx
jne 0x4d86aa
mov ecx, dword [esp + 0x50]
mov dword [ebp + esi], ecx
mov dword [ebp + esi + 8], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
jmp 0x4d86d1
mov ecx, edi
mov edi, dword [esp + 0x58]
mov esi, eax
mov eax, dword [esp + 0x50]
call fcn.004614c0
mov edi, ebx
mov eax, esi
call fcn.004614c0
mov ebx, dword [esp + 0xd4]
test ebx, ebx
mov edi, ecx
mov ecx, ebx
jle 0x4d86d7
cmp ecx, edx
jle 0x4d86e4
movzx ebx, byte [esp + 0x37]
test bl, bl
jne 0x4d82df
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], edi
add esp, 0xd0
ret
mov eax, edx
call fcn.004615a0
dec edx
test edx, edx
jl 0x4d871f
cmp edx, ecx
jae 0x4d879b
lea ebp, [edx + ebx]
cmp byte [ebp], 0x2f
jne 0x4d8707
jmp 0x4d8724
mov edx, 0xffffffff
test edx, edx
jl 0x4d8787
lea eax, [edx + 1]
cmp ecx, eax
jle 0x4d8781
jb 0x4d8796
sub ecx, edx
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5799bc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea ecx, [0x531037]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 1
call fcn.004bd920
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
jmp 0x4d878b
mov eax, ecx
mov ecx, ebx
jmp 0x4d878b
mov eax, ecx
mov ecx, ebx
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4d8565
call fcn.004615a0
mov eax, edx
call fcn.00461540
mov edx, 0x20
call fcn.00461560
nop
call fcn.004600b0
jmp fcn.004d81d0