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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x4efa80
sub esp, 0x128
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov eax, dword [esp + 0x130]
test eax, eax
je 0x4efa67
call fcn.004bf9a0
lea edi, [esp + 0x114]
mov esi, esp
call fcn.0045725e
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov ecx, dword [esp + 0x130]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x134]
mov dword [esp + 8], edx
lea edi, [esp + 0xc]
lea esi, [esp + 0x114]
call fcn.0045725e
call fcn.004ed660
lea esi, [esp + 0x20]
lea edi, [esp + 0xec]
call fcn.0045725e
lea edi, [esp + 0xd8]
lea esi, [esp + 0xec]
call fcn.0045725e
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, ecx
shr ecx, 0x1f
shl ecx, 0x1f
test ecx, ecx
je 0x4efa50
shl edx, 1
mov ecx, eax
shr eax, 0x1f
or eax, edx
mov edx, ecx
shl ecx, 1
shr ecx, 0x1f
mov ebx, eax
shl eax, 1
or eax, ecx
mov ecx, eax
add eax, 0xd7b17f80
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
test ebx, ebx
sete cl
test eax, eax
sete bl
and ebx, ecx
test bl, bl
je 0x4efa49
test edx, 0x3fffffff
sete cl
test cl, cl
je 0x4ef919
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jne 0x4ef870
mov dword [esp + 0xbc], eax
mov dword [esp + 0x4c], ecx
mov edx, dword [ecx + 0x1c]
mov dword [esp], eax
lea ebx, [0x939140]
mov dword [esp + 4], ebx
lea ebp, [0xe8fc44]
mov dword [esp + 8], ebp
call edx
mov eax, dword [esp + 0x10]
lea ecx, [0x8f7080]
cmp dword [esp + 0xc], ecx
jne 0x4ef869
test eax, eax
jne 0x4ef797
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx + 0x38]
test ebx, ebx
je 0x4ef78c
mov ebp, dword [edx + 0x20]
mov esi, dword [edx + 0x1c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x9cba94]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x13c]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x140]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x144]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ebp
call fcn.004ede60
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
test ecx, ecx
je 0x4ef40f
mov dword [esp + 0xc8], eax
mov dword [esp + 0x60], ecx
lea eax, [0x981240]
mov dword [esp], eax
call fcn.0040af00
mov edi, dword [esp + 4]
mov dword [edi + 4], 4
mov eax, dword [0xe8ff30]
test eax, eax
jne 0x4ef3ff
lea ecx, [0x9cba94]
mov dword [edi], ecx
mov ecx, dword [esp + 0x13c]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x4ef3e3
mov ecx, dword [esp + 0x138]
mov dword [edi + 8], ecx
mov dword [edi + 0x10], 0
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x4ef3cc
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x4ef3b8
mov dword [edi + 0x1c], 0
mov ecx, dword [esp + 0x60]
mov dword [edi + 0x20], ecx
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x4ef39f
mov eax, dword [esp + 0xc8]
mov dword [edi + 0x24], eax
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
lea eax, [0xaa52d0]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edi
nop
call fcn.0042c900
add esp, 0x128
ret
lea ecx, [edi + 0x24]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc8]
call fcn.00456ab0
mov edi, edx
jmp 0x4ef368
lea ecx, [edi + 0x1c]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456ab0
mov edi, edx
jmp 0x4ef34d
lea ecx, [edi + 0x14]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456ab0
mov edi, edx
jmp 0x4ef335
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x138]
call fcn.00456ab0
mov edi, edx
jmp 0x4ef319
lea eax, [0x9cba94]
call fcn.00456ab0
jmp 0x4ef2f7
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0xc0], ebp
lea eax, [0x96e260]
mov dword [esp], eax
call fcn.0040af00
mov eax, dword [0xe8ff30]
mov edi, dword [esp + 4]
mov dword [esp + 0xb8], edi
test eax, eax
jne 0x4ef76a
mov esi, dword [esp + 0x12c]
call fcn.004571e6
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0xb8]
mov dword [edx + 0x48], ecx
mov ebx, dword [0xe8ff30]
test ebx, ebx
jne 0x4ef754
mov ebx, dword [esp + 0x138]
mov dword [edx + 0x44], ebx
mov ebp, dword [esp + 0x144]
mov dword [edx + 0x50], ebp
mov ebp, dword [0xe8ff30]
test ebp, ebp
jne 0x4ef740
mov eax, dword [esp + 0x140]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x12c]
mov ebp, dword [eax + 0x2c]
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
mov edi, dword [eax + 0x28]
test edi, edi
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, ebp
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x4ef4ef
cmp ecx, 3
jne 0x4ef739
cmp word [ebx], 0x6374
jne 0x4ef739
cmp byte [ebx + 2], 0x70
sete cl
test cl, cl
jne 0x4ef6e1
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0xc0]
test ebx, ebx
jle 0x4ef6a1
mov dword [esp], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebp
call fcn.004efa90
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
test eax, eax
jne 0x4ef670
lea eax, [0xaaf8e0]
cmp eax, edx
jne 0x4ef664
mov eax, ecx
jne 0x4ef599
mov ebx, dword [esp + 0x12c]
mov ebp, dword [ebx + 0x34]
test ebp, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [ebx + 0x30]
test edi, edi
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, esi
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4ef5ca
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
nop
call fcn.0042c900
add esp, 0x128
ret
mov dword [esp + 0x64], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xd4], eax
mov eax, dword [ecx]
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.00506fe0
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x34]
test ecx, ecx
sete dl
mov eax, dword [eax + 0x30]
test eax, eax
sete bl
and ebx, edx
test bl, bl
je 0x4ef65c
mov eax, 3
mov ecx, 0x7e11d600
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0xac]
mov edx, dword [edx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00509e20
mov edx, dword [0xe70e14]
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x64]
jmp 0x4ef599
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4ef612
mov eax, ecx
mov ecx, 0
jmp 0x4ef567
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ebx
nop
call fcn.0042c900
add esp, 0x128
ret
mov dword [esp], edx
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
call fcn.004f00b0
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jmp 0x4ef54f
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
lea eax, [0x9ff5bc]
mov dword [esp + 0xc], eax
call fcn.004fbb90
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x12c]
jmp 0x4ef500
xor ecx, ecx
jmp 0x4ef4e7
lea edi, [edx + 0x4c]
mov eax, dword [esp + 0x140]
call fcn.00456ab0
jmp 0x4ef49c
lea edi, [edx + 0x44]
mov eax, dword [esp + 0x138]
call fcn.00456ab0
mov ebx, eax
jmp 0x4ef47a
lea eax, [0x99d060]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x12c]
mov dword [esp + 8], eax
call fcn.00411120
jmp 0x4ef451
mov ebx, dword [0xe70e00]
jmp 0x4ef245
mov dword [esp + 0xa8], eax
lea eax, [0x977420]
mov dword [esp], eax
call fcn.0040af00
mov edi, dword [esp + 4]
mov eax, dword [0xe8ff30]
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
test eax, eax
jne 0x4ef84b
mov dword [edi], ecx
mov dword [edi + 4], edx
mov ecx, dword [0xe8ff30]
test ecx, ecx
jne 0x4ef82d
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
lea edx, [0x939140]
mov dword [esp + 8], edx
lea edx, [0xe8fc44]
mov dword [esp + 0xc], edx
lea edx, [0x8f7080]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
call fcn.004e8900
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x4ef233
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
xor eax, eax
call fcn.00456ab0
lea edi, [edx + 0xc]
xor eax, eax
call fcn.00456ab0
mov edi, edx
jmp 0x4ef7e7
mov eax, ecx
call fcn.00456ab0
lea ecx, [edi + 4]
mov eax, edi
mov edi, ecx
mov ebx, eax
mov eax, edx
call fcn.00456ab0
mov edi, ebx
jmp 0x4ef7cf
xor eax, eax
jmp 0x4ef220
mov dword [esp + 0xc4], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004e79a0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], 0
mov dword [esp + 0x78], eax
lea ebx, [esp + 0x68]
mov dword [esp], ebx
call fcn.0042c1c0
test eax, eax
jne 0x4ef90c
mov dword [esp], 0x10
lea eax, [0x9ff584]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x14], ecx
call fcn.00435470
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x44]
jmp 0x4ef1e5
nop
call fcn.0042c900
add esp, 0x128
ret
lea edi, [esp + 0x114]
xor eax, eax
call fcn.00456d7b
mov ecx, dword [esp + 0x130]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x134]
mov dword [esp], ebx
call edx
lea esi, [esp + 4]
mov dword [esp + 0xd0], esi
lea edi, [esp + 0x114]
call fcn.0045725e
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x43], cl
lea edi, [esp + 0x100]
mov esi, dword [esp + 0xd0]
call fcn.0045725e
movzx ecx, byte [esp + 0x43]
test cl, cl
jne 0x4efa1c
mov eax, 1
test al, al
jne 0x4ef999
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x130]
jmp 0x4ef1d3
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 4], eax
lea edi, [esp + 8]
lea esi, [esp + 0xec]
call fcn.0045725e
call fcn.004e81e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x88], 0
mov dword [esp + 0x98], eax
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.0042c1c0
test eax, eax
jne 0x4efa0f
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x48]
jmp 0x4ef1d3
nop
call fcn.0042c900
add esp, 0x128
ret
mov edi, esp
lea esi, [esp + 0xec]
call fcn.0045725e
lea edi, [esp + 0x14]
lea esi, [esp + 0x100]
call fcn.0045725e
call fcn.004bd1b0
movzx eax, byte [esp + 0x28]
jmp 0x4ef982
xor ecx, ecx
jmp 0x4ef1bd
mov ebx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe0]
mov edx, eax
mov eax, ecx
jmp 0x4ef1a0
lea eax, [0x92c840]
mov dword [esp], eax
lea eax, [0xa9c6e8]
mov dword [esp + 4], eax
call fcn.0042cc50
nop
call fcn.00455270
jmp fcn.004ef090