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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x348]
cmp eax, dword [ecx + 8]
jbe 0x4ed17e
sub esp, 0x3c8
lea edi, [esp + 0x3d8]
xor eax, eax
call fcn.00465fd1
lea edi, [esp + 0x2f8]
call fcn.00465fd6
mov ecx, dword [esp + 0x3cc]
mov edx, dword [ecx + 0xd8]
mov ebx, dword [ecx + 0xd4]
test edx, edx
je 0x4ec86c
lea esi, [ebx + 8]
lea edi, [esp + 0x2f8]
call fcn.004663fc
mov ecx, dword [esp + 0x3cc]
jmp 0x4ec86c
lea edi, [esp + 0x360]
lea esi, [esp + 0x2f8]
call fcn.004663fc
mov ecx, dword [esp + 0x3d0]
test ecx, ecx
je 0x4ed042
mov ecx, dword [esp + 0x3d0]
lea edx, [0x7856ec]
cmp ecx, edx
je 0x4ecf29
lea edx, [0x7856b0]
cmp ecx, edx
jne 0x4ecb07
mov ecx, dword [esp + 0x3d4]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], edx
mov ecx, dword [ecx]
mov dword [esp + 0x6c], ecx
lea edi, [esp + 0x214]
lea esi, [esp + 0x36c]
call fcn.00466442
lea edi, [esp + 0x130]
call fcn.00465fdd
mov ecx, dword [esp + 0x218]
mov ebx, dword [esp + 0x6c]
cmp dword [esp + 0x214], ebx
jne 0x4ec939
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00403860
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ec92f
lea edi, [esp + 0x130]
lea esi, [esp + 0x214]
call fcn.00466442
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ecaef
xor eax, eax
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
lea edi, [esp + 0x220]
call fcn.00465fe0
mov ecx, dword [esp + 0x214]
mov ebp, dword [esp + 0x218]
test ecx, ecx
jne 0x4ec962
xor ecx, ecx
xor ebp, ebp
xor esi, esi
jmp 0x4ec9fa
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], ebp
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea eax, [0x6b2140]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea edx, [0x7856c4]
mov dword [eax], edx
mov ebx, dword [esp + 0x68]
mov dword [eax + 8], ebx
mov ebx, dword [0x1eaa9f0]
test ebx, ebx
jne 0x4ec9cb
lea ebx, [0x934160]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [eax + 0xc], ebx
jmp 0x4ec9e9
lea edi, [eax + 4]
mov ebx, eax
lea eax, [0x934160]
call fcn.00465d80
lea edi, [ebx + 0xc]
mov eax, dword [esp + 0x78]
call fcn.00465d80
mov eax, ebx
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov ebp, eax
mov esi, 1
xor eax, eax
mov dword [esp + 0x214], ebx
mov dword [esp + 0x218], edx
test ebx, ebx
je 0x4ecab3
mov edi, edx
lea edx, [esi + 1]
cmp ecx, edx
jae 0x4eca51
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6b2140]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x54], edx
mov esi, ecx
lea ecx, [edx - 1]
shl ecx, 4
lea edx, [0x7856c4]
mov dword [ebp + ecx], edx
mov dword [ebp + ecx + 8], ebx
mov edx, dword [0x1eaa9f0]
lea ebx, [ebp + ecx + 4]
mov dword [esp + 0x74], ebx
lea ebx, [ebp + ecx + 0xc]
test edx, edx
jne 0x4eca91
lea edx, [0x934168]
mov dword [ebp + ecx + 4], edx
mov dword [ebp + ecx + 0xc], edi
jmp 0x4ecaad
mov ecx, edi
mov edi, dword [esp + 0x74]
lea eax, [0x934168]
call fcn.00465d80
mov edi, ebx
mov eax, ecx
call fcn.00465d80
xor eax, eax
mov ecx, esi
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x214]
test edx, edx
je 0x4ecaca
movzx edx, byte [esp + 0x21c]
test dl, dl
jne 0x4ecad2
mov byte [esp + 0x21c], 1
mov dword [esp + 0x50], ecx
lea edi, [esp + 0x130]
mov edx, esi
lea esi, [esp + 0x214]
call fcn.00466442
mov eax, dword [esp + 0x50]
lea edi, [esp + 0x36c]
lea esi, [esp + 0x130]
call fcn.00466442
jmp 0x4ed048
lea edx, [0x78573c]
cmp ecx, edx
jne 0x4ecb6b
mov ecx, dword [esp + 0x3d4]
movzx ecx, byte [ecx]
mov byte [esp + 0x4d], cl
lea edi, [esp + 0x2ac]
lea esi, [esp + 0x36c]
call fcn.00466442
movzx ecx, byte [esp + 0x4d]
test cl, cl
je 0x4ecb45
mov byte [esp + 0x2b4], 2
jmp 0x4ecb4d
mov byte [esp + 0x2b4], 1
lea edi, [esp + 0x36c]
lea esi, [esp + 0x2ac]
call fcn.00466442
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ed048
lea edx, [0x785714]
cmp ecx, edx
je 0x4ece5d
lea edx, [0x7857c8]
cmp ecx, edx
je 0x4ecdaa
lea edx, [0x78564c]
cmp ecx, edx
jne 0x4ecbd3
mov eax, dword [esp + 0x3d4]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax]
mov ebp, dword [esp + 0x3cc]
add ebp, 0xbc
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004e1d50
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ed048
lea edx, [0x785638]
cmp ecx, edx
jne 0x4ecc1b
mov ecx, dword [esp + 0x3d4]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], edx
mov ecx, dword [ecx]
mov dword [esp + 0x6c], ecx
mov ebx, dword [esp + 0x364]
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0x360]
mov dword [esp + 0x70], ebp
mov esi, edx
mov edx, dword [esp + 0x368]
mov dword [esp + 0x60], edx
xor edi, edi
jmp 0x4ed096
lea edx, [0x785778]
cmp ecx, edx
jne 0x4eccd1
mov eax, dword [esp + 0x3d4]
mov ecx, dword [eax + 4]
movzx edx, word [eax + 8]
mov word [esp + 0x4e], dx
mov eax, dword [eax]
mov ebx, dword [esp + 0x3cc]
add ebx, 0x1c
mov ebp, dword [esp + 0x3bc]
mov esi, dword [esp + 0x3c0]
mov edi, dword [esp + 0x3c4]
movzx edx, byte [esp + 0x3b8]
mov dword [esp], ebx
mov byte [esp + 4], dl
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
movzx eax, word [esp + 0x4e]
mov word [esp + 0x1c], ax
call fcn.004e33e0
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov byte [esp + 0x3b8], al
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x3c4], ebx
mov eax, edi
mov edx, esi
jmp 0x4ed048
lea edx, [0x785818]
cmp ecx, edx
jne 0x4ecd9f
lea edi, [esp + 0x80]
mov esi, dword [esp + 0x3d4]
call fcn.004664ce
mov ecx, dword [esp + 0x3cc]
movzx edx, byte [ecx + 0x154]
test dl, dl
je 0x4ecd4c
lea esi, [ecx + 0x158]
lea edi, [esp + 0x94]
call fcn.004664ce
lea edi, [esp]
lea esi, [esp + 0x80]
call fcn.004664ce
lea edi, [esp + 0x14]
lea esi, [esp + 0x94]
call fcn.004664ce
call fcn.00483f80
movzx eax, byte [esp + 0x28]
test al, al
je 0x4ecd92
xor eax, eax
mov ecx, dword [esp + 0x3cc]
mov byte [ecx + 0x154], 1
lea edi, [ecx + 0x158]
mov ecx, dword [0x1eaa9f0]
test ecx, ecx
jne 0x4ecd71
lea esi, [esp + 0x80]
call fcn.004664ce
jmp 0x4ecd94
lea eax, [0x6e8fe0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
call fcn.004115f0
xor eax, eax
jmp 0x4ecd94
xor eax, eax
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ed048
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ed048
lea edi, [esp + 0xc0]
mov esi, dword [esp + 0x3d4]
call fcn.004664c4
mov eax, dword [esp + 0x3cc]
lea ecx, [eax + 0x1c]
mov eax, dword [eax + 0x18]
movzx edx, byte [esp + 0x3b8]
mov ebx, dword [esp + 0x3bc]
mov ebp, dword [esp + 0x3c0]
mov esi, ebp
mov ebp, dword [esp + 0x3c4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov byte [esp + 8], dl
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
lea edi, [esp + 0x18]
lea esi, [esp + 0xc0]
call fcn.004664c4
call fcn.004e42a0
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov esi, ebp
mov ebp, dword [esp + 0x44]
mov edi, ebp
mov ebp, dword [esp + 0x48]
mov byte [esp + 0x3b8], al
mov dword [esp + 0x3bc], ecx
mov dword [esp + 0x3c0], edx
mov dword [esp + 0x3c4], ebx
mov eax, ebp
mov edx, edi
mov ebp, esi
jmp 0x4ed048
lea edi, [esp + 0xd8]
mov esi, dword [esp + 0x3d4]
call fcn.004664c4
lea edi, [esp + 0x1c8]
lea esi, [esp + 0x36c]
call fcn.00466442
lea edi, [esp + 0xa8]
lea esi, [esp + 0xd8]
call fcn.004664c4
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x1cc]
cmp dword [esp + 0x1c8], ecx
jne 0x4ecf0b
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00403860
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ecf09
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], edx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebp
xor eax, eax
jmp 0x4ecf0b
xor eax, eax
lea edi, [esp + 0x36c]
lea esi, [esp + 0x1c8]
call fcn.00466442
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ed048
lea edi, [esp + 0x110]
mov esi, dword [esp + 0x3d4]
call fcn.004664b0
lea edi, [esp + 0x260]
lea esi, [esp + 0x36c]
call fcn.00466442
lea edi, [esp + 0xf0]
lea esi, [esp + 0x110]
call fcn.004664b0
lea edi, [esp + 0x17c]
call fcn.00465fdd
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x264]
cmp dword [esp + 0x260], ecx
jne 0x4ed014
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00403860
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ed012
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x284], ecx
mov dword [esp + 0x288], edx
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x108]
mov ebp, dword [esp + 0x10c]
mov dword [esp + 0x28c], ecx
mov dword [esp + 0x290], edx
mov dword [esp + 0x294], ebx
mov dword [esp + 0x298], ebp
lea edi, [esp + 0x17c]
lea esi, [esp + 0x260]
call fcn.00466442
jmp 0x4ed027
xor eax, eax
lea edi, [esp + 0x17c]
lea esi, [esp + 0x260]
call fcn.00466442
lea edi, [esp + 0x36c]
lea esi, [esp + 0x17c]
call fcn.00466442
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ed048
xor eax, eax
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x58], eax
lea edi, [esp + 0x3d8]
xor eax, eax
call fcn.00465fd1
lea edi, [esp + 0x3e0]
lea esi, [esp + 0x360]
call fcn.004663fc
mov dword [esp + 0x448], ebp
mov dword [esp + 0x44c], edx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x450], ecx
add esp, 0x3c8
ret
inc edi
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x60]
cmp edi, ebx
jge 0x4ed0e8
lea edx, [ebp + edi*8]
mov ebp, dword [edx]
mov edx, dword [edx + 4]
cmp ebp, ecx
jne 0x4ed08d
mov dword [esp + 0x5c], edi
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.00403860
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4ed0d8
xor eax, eax
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x5c]
jmp 0x4ed08d
xor eax, eax
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x70]
jmp 0x4ed15e
lea edx, [ebx + 1]
cmp ebx, edx
jae 0x4ed127
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x69f0a0]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x7c]
mov edi, ebx
lea ebx, [ebp + edx*8 - 8]
mov dword [ebx], ecx
lea ecx, [ebp + edx*8 - 4]
mov ebx, dword [0x1eaa9f0]
test ebx, ebx
jne 0x4ed141
mov dword [ecx], esi
jmp 0x4ed150
mov ebx, edi
mov edi, ecx
mov eax, esi
call fcn.00465d80
xor eax, eax
mov edi, ebx
mov ecx, dword [esp + 0x3cc]
mov byte [ecx + 0xbc], 1
mov dword [esp + 0x360], ebp
mov dword [esp + 0x364], edx
mov dword [esp + 0x368], edi
xor eax, eax
xor edx, edx
xor ebp, ebp
jmp 0x4ed048
call fcn.004649b0
jmp fcn.004ec800