Function at 0x4e2740
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x4e327d
sub esp, 0xb8
lea eax, [0x687760]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
lea ecx, [0x67f980]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x4e27a7
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x4e27ba
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.00462a70
mov eax, ecx
mov dword [esp + 0x5c], eax
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x1c], 0x7fffffff
lea ecx, [0x65e540]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov dword [esp + 8], 0x60
mov dword [esp + 0xc], 0x60
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x4e2e09
mov eax, dword [esp + 0x84]
cmp byte [eax], 0x4d
jne 0x4e2994
cmp byte [eax + 1], 0x5a
jne 0x4e2994
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x58], eax
lea ecx, [0x65df00]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x10], ebp
call edx
mov eax, dword [esp + 0x80]
cmp byte [eax], 0x50
jne 0x4e28f1
cmp byte [eax + 1], 0x45
jne 0x4e28f1
movzx ecx, byte [eax + 2]
test cl, cl
jne 0x4e28f1
movzx ecx, byte [eax + 3]
test cl, cl
jne 0x4e28f1
mov eax, dword [esp + 0x58]
add eax, 4
mov ecx, 0
adc ecx, 0
jmp 0x4e2998
mov eax, dword [eax]
mov dword [esp + 0x50], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea eax, [0x65df00]
mov dword [esp], eax
lea ecx, [esp + 0x50]
mov dword [esp + 4], ecx
call fcn.00408fb0
mov eax, dword [esp + 8]
lea ecx, [0x65df00]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
lea eax, [0x6a75ab]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c37d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb8
ret
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx + 8]
add eax, ebx
mov esi, dword [edx + 0xc]
mov edi, esi
adc esi, ecx
cmp eax, ebx
setb bl
cmp edi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
setg cl
and edi, ebx
or ecx, edi
test cl, cl
jne 0x4e29cf
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], esi
lea eax, [0x70ab68]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x70bfdc]
mov dword [esp + 8], ecx
lea ebx, [0x8e42bc]
mov dword [esp + 0xc], ebx
lea ebp, [0x64fd20]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x14], ebp
call fcn.004ba9b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x4e2de9
mov eax, dword [esp + 0x70]
movzx ecx, word [eax]
cmp cx, 0x14c
ja 0x4e2a3a
test cx, cx
je 0x4e2a53
cmp cx, 0x14c
je 0x4e2a53
jmp 0x4e2d56
cmp cx, 0x1c4
je 0x4e2a53
cmp cx, 0x8664
je 0x4e2a53
cmp cx, 0xaa64
jne 0x4e2d56
mov dword [esp], eax
lea ecx, [0x70b23c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
call fcn.004e6140
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x70]
mov dword [edi + 0x44], ecx
mov dword [edi + 0x48], edx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x4e2a9e
mov dword [edi + 0x40], eax
jmp 0x4e2aac
lea ecx, [edi + 0x40]
mov edx, edi
mov edi, ecx
call fcn.00462a70
mov edi, edx
test ebx, ebx
jne 0x4e2d36
mov dword [esp], edi
lea eax, [0x70b23c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
call fcn.004e6790
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x70]
mov dword [edi + 0x38], ecx
mov dword [edi + 0x3c], edx
mov esi, dword [0x8e4520]
test esi, esi
jne 0x4e2b03
mov dword [edi + 0x34], eax
jmp 0x4e2b11
lea esi, [edi + 0x34]
mov edi, esi
call fcn.00462a70
mov edi, dword [esp + 0x70]
test ebx, ebx
jne 0x4e2d12
mov ebx, dword [edi + 0x40]
mov ebp, dword [edi + 0x44]
mov esi, dword [edi + 0x48]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.004e6ce0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x70]
mov dword [edi + 0x2c], ecx
mov dword [edi + 0x30], edx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x4e2b6f
mov dword [edi + 0x28], eax
jmp 0x4e2b7d
lea ecx, [edi + 0x28]
mov edx, edi
mov edi, ecx
call fcn.00462a70
mov edi, edx
test ebx, ebx
jne 0x4e2cf2
lea eax, [0x687800]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00408fb0
mov eax, dword [esp + 8]
lea ecx, [0x687800]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004bbd20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x48]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0x5c]
mov ebp, dword [ebx + 8]
mov esi, ebp
add ebp, eax
mov edi, edx
sar edx, 0x1f
add edi, ecx
mov ecx, dword [esp + 0x4c]
adc ecx, edx
mov edx, dword [ebx + 0xc]
add eax, esi
adc ecx, edx
cmp ebp, esi
setb al
cmp edx, ecx
sete dl
xchg esi, ebx
setg bl
xchg esi, ebx
and edx, eax
or esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4e2c01
mov eax, dword [0x8bcb90]
mov ecx, dword [0x8bcb94]
jmp 0x4e2c0b
mov dword [ebx + 0x10], ebp
mov dword [ebx + 0x14], ecx
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x4e2cd2
mov eax, dword [esp + 0x70]
movzx ecx, word [eax + 0x10]
lea edx, [0x70b23c]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov word [esp + 8], cx
call fcn.004e32e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x70]
mov dword [esi + 0x14], ecx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x4e2c5c
mov dword [esi + 0x18], eax
jmp 0x4e2c64
lea edi, [esi + 0x18]
call fcn.00462a70
test edx, edx
jne 0x4e2cb2
movzx eax, word [esi + 2]
lea ecx, [0x6782c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044b410
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x70]
movzx edx, word [ecx + 2]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], edx
mov edx, dword [0x8e4520]
test edx, edx
jne 0x4e2ca3
mov dword [ecx + 0x1c], eax
jmp 0x4e2cab
lea edi, [ecx + 0x1c]
call fcn.00462a70
xor eax, eax
jmp 0x4e2e2c
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebp
add esp, 0xb8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xcc], esi
add esp, 0xb8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ebp
mov eax, dword [esp + 0x78]
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xcc], esi
add esp, 0xb8
ret
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
movzx eax, word [eax]
mov word [esp], ax
call fcn.00409020
mov eax, dword [esp + 4]
lea ecx, [0x662ce0]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
lea eax, [0x6a677b]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c37d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
add esp, 0xb8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
add esp, 0xb8
ret
inc eax
mov ecx, ebp
movzx edx, word [ecx + 2]
cmp eax, edx
jge 0x4e3164
mov dword [esp + 0x44], eax
lea eax, [0x68ae80]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
lea ecx, [0x70ab68]
mov dword [esp], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
lea ebx, [0x70bfdc]
mov dword [esp + 8], ebx
lea ebp, [0x8e42bc]
mov dword [esp + 0xc], ebp
lea esi, [0x6687c0]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.004ba9b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x4e3144
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x48]
mov ebp, dword [esp + 0x60]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004e5c10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jne 0x4e3124
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x3c], ebp
lea eax, [0x683b00]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
lea edi, [esp + 0x90]
xor eax, eax
call fcn.00462cf6
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 8]
mov dword [esp + 0x98], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x9c], edx
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xa0], edx
mov edx, dword [ecx + 0x14]
mov dword [esp + 0xa4], edx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0xac], edx
movzx edx, word [ecx + 0x20]
mov word [esp + 0xb0], dx
movzx edx, word [ecx + 0x22]
mov word [esp + 0xb2], dx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0xb4], edx
mov edx, dword [0x8e4520]
test edx, edx
jne 0x4e2f9f
mov edi, dword [esp + 0x64]
lea esi, [esp + 0x90]
call fcn.004631ac
jmp 0x4e2fc2
lea eax, [0x68adc0]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
lea ecx, [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.00410b40
xor eax, eax
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4e2fdb
lea ecx, [0x8e42bc]
lea edx, [0x70ae88]
jmp 0x4e2fe9
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx + 0x10]
mov esi, 0xffffffff
sub esi, ebp
mov edi, dword [ebx + 0x14]
mov dword [esp + 0x38], edi
cmp esi, edi
xchg esi, ebx
setae bl
xchg esi, ebx
mov ebx, 0xffffffff
sub ebx, ebp
mov ebx, 0x7fffffff
sbb ebx, 0
test ebx, ebx
setg bl
sete cl
and esi, ecx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4e3037
add ebp, edi
adc eax, 0
jmp 0x4e3041
mov eax, 0x7fffffff
mov ebp, 0xffffffff
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], eax
lea ecx, [0x67f980]
mov dword [esp], ecx
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x4e3074
mov edx, dword [esp + 0x68]
mov dword [eax + 4], edx
jmp 0x4e3084
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x68]
call fcn.00462a70
mov eax, ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 8], edx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 0x1c], edx
mov edx, dword [0x8e4520]
test edx, edx
jne 0x4e30bd
mov edx, dword [esp + 0x64]
mov dword [edx + 0x3c], eax
jmp 0x4e30c9
mov edx, dword [esp + 0x64]
lea edi, [edx + 0x3c]
call fcn.00462a70
lea ebx, [0x70ab7c]
mov dword [edx + 0x34], ebx
mov ebp, dword [0x8e4520]
test ebp, ebp
jne 0x4e30e1
mov dword [edx + 0x38], eax
jmp 0x4e30e9
lea edi, [edx + 0x38]
call fcn.00462a70
mov ebp, dword [esp + 0x70]
mov esi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov eax, dword [esp + 0x44]
cmp eax, ecx
jae 0x4e3277
lea edi, [esi + eax*4]
mov ebx, dword [0x8e4520]
test ebx, ebx
jne 0x4e3114
mov dword [esi + eax*4], edx
jmp 0x4e2e29
mov ecx, eax
mov eax, edx
call fcn.00462a70
mov eax, ecx
jmp 0x4e2e29
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
add esp, 0xb8
ret
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
add esp, 0xb8
ret
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x5c]
xor eax, eax
jmp 0x4e3180
inc eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
cmp eax, edx
jge 0x4e3247
mov ebp, dword [ecx + 0x20]
mov esi, dword [ecx + 0x1c]
cmp eax, ebp
jae 0x4e3270
mov dword [esp + 0x40], eax
mov ecx, dword [esi + eax*4]
test byte [ecx], al
mov dword [esp], ecx
lea ecx, [0x70b23c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004e5d20
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x40]
cmp eax, ecx
jae 0x4e326b
mov edx, dword [edx + eax*4]
mov dword [edx + 0x2c], ebp
mov dword [edx + 0x30], esi
mov ebp, dword [0x8e4520]
test ebp, ebp
jne 0x4e3203
mov dword [edx + 0x28], ebx
jmp 0x4e3217
add edx, 0x28
mov ecx, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.00462a70
mov eax, ebp
mov edi, ecx
test edi, edi
je 0x4e3173
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
add esp, 0xb8
ret
call fcn.00462af0
mov ecx, ebp
call fcn.00462af0
call fcn.00462af0
nop
call fcn.00461660
jmp fcn.004e2740