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

Disassembly:
mov ecx, dword [0x5caff0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x4ac0a7
sub esp, 0xec
lea eax, [0x4d6fa0]
mov dword [esp], eax
call fcn.0040bb40
nop
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
lea ecx, [0x4d4160]
mov dword [esp], ecx
call fcn.0040bb40
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf0]
mov dword [eax], ecx
mov ecx, dword [0x5cb0f0]
test ecx, ecx
jne 0x4ab536
mov ecx, dword [esp + 0xf4]
jmp 0x4ab544
call fcn.004631c0
mov ecx, dword [esp + 0xf4]
mov dword [edi], ecx
mov dword [esp + 0x94], eax
mov dword [eax + 4], ecx
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 edx, [0x4c9ee0]
mov dword [esp], edx
call fcn.0040bb40
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 4]
mov dword [esp + 0xb8], edx
mov ebx, dword [esp + 0xf4]
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 ecx
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4abbe9
mov eax, dword [esp + 0xb8]
cmp byte [eax], 0x4d
jne 0x4ab713
cmp byte [eax + 1], 0x5a
jne 0x4ab713
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x54], eax
nop
lea ecx, [0x4c9ba0]
mov dword [esp], ecx
call fcn.0040bb40
mov eax, dword [esp + 4]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x10], ebp
call edx
mov eax, dword [esp + 0xb4]
cmp byte [eax], 0x50
jne 0x4ab67a
cmp byte [eax + 1], 0x45
jne 0x4ab67a
movzx ecx, byte [eax + 2]
test cl, cl
jne 0x4ab67a
movzx ecx, byte [eax + 3]
test cl, cl
jne 0x4ab67a
mov eax, dword [esp + 0x54]
add eax, 4
mov ecx, 0
adc ecx, 0
jmp 0x4ab717
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x4c9ba0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409250
mov eax, dword [esp + 8]
lea ecx, [0x4c9ba0]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
lea eax, [0x4e607f]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0049e6d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xec
ret
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x94]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
add eax, ebx
mov edi, ebp
adc ebp, ecx
cmp edi, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
setg cl
cmp eax, ebx
setb bl
and ebx, edi
or ecx, ebx
test cl, cl
jne 0x4ab751
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ebp
lea eax, [0x5066c4]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x506960]
mov dword [esp + 8], ecx
lea ebx, [0x5caec0]
mov dword [esp + 0xc], ebx
lea ebp, [0x4c5a40]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x14], ebp
call fcn.0047a470
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4abbc1
mov eax, dword [esp + 0xa4]
movzx ecx, word [eax]
cmp cx, 0x5032
ja 0x4ab7d4
cmp cx, 0x14c
ja 0x4ab7c1
test cx, cx
je 0x4ab800
cmp cx, 0x14c
je 0x4ab800
jmp 0x4abb2e
cmp cx, 0x1c4
je 0x4ab800
cmp cx, 0x5032
je 0x4ab800
jmp 0x4abb2e
cmp cx, 0x5128
ja 0x4ab7ee
cmp cx, 0x5064
je 0x4ab800
cmp cx, 0x5128
je 0x4ab800
jmp 0x4abb2e
cmp cx, 0x8664
je 0x4ab800
cmp cx, 0xaa64
jne 0x4abb2e
mov dword [esp], eax
lea ecx, [0x50682c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004af1a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xa4]
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], ecx
mov eax, dword [0x5cb0f0]
test eax, eax
je 0x4ab85d
mov eax, edi
call fcn.004631d0
mov dword [edi], edx
mov ecx, dword [eax + 0x40]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [edi + 0x40], edx
test ebx, ebx
jne 0x4abb0e
mov dword [esp], edi
lea eax, [0x50682c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 8], ecx
call fcn.004af660
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xac], esi
mov edi, dword [esp + 0xa4]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], ecx
mov esi, dword [0x5cb0f0]
test esi, esi
je 0x4ab8da
mov dword [esp + 0xb0], ebp
mov esi, edi
call fcn.004631d0
mov dword [edi], edx
mov ebp, dword [esi + 0x34]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0xb0]
mov edi, esi
mov dword [edi + 0x34], edx
test ebx, ebx
jne 0x4abae7
mov ebx, dword [edi + 0x40]
mov ebp, dword [edi + 0x44]
mov esi, dword [edi + 0x48]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.004afc50
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0xa4]
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], ecx
mov eax, dword [0x5cb0f0]
test eax, eax
je 0x4ab94a
mov eax, edi
call fcn.004631d0
mov dword [edi], edx
mov ecx, dword [eax + 0x28]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [edi + 0x28], edx
test ebx, ebx
jne 0x4abac7
mov esi, edi
lea edi, [esp + 0x58]
call fcn.004638ee
lea eax, [0x4d6e60]
mov dword [esp], eax
lea eax, [esp + 0x58]
mov dword [esp + 4], eax
call fcn.0047b5c0
mov eax, dword [esp + 8]
mov ecx, eax
sar eax, 0x1f
mov edx, dword [esp + 0x94]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov esi, edx
mov edx, dword [esp + 0x48]
add ecx, edx
mov edx, dword [esp + 0x4c]
adc edx, eax
add ecx, ebx
adc edx, ebp
cmp ebp, edx
setg al
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ecx, ebx
setb bl
and ebp, ebx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ab9c7
mov eax, dword [0x59e978]
mov ecx, dword [0x59e97c]
jmp 0x4ab9d1
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x4abaa7
mov eax, dword [esp + 0xa4]
movzx ecx, word [eax + 0x10]
lea edx, [0x50682c]
mov dword [esp], edx
mov dword [esp + 4], esi
mov word [esp + 8], cx
call fcn.004ac120
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0xa4]
mov dword [esi + 0x14], eax
mov eax, dword [0x5cb0f0]
test eax, eax
je 0x4aba30
call fcn.004631d0
mov dword [edi], ecx
mov eax, dword [esi + 0x18]
mov dword [edi + 4], eax
mov dword [esi + 0x18], ecx
test edx, edx
jne 0x4aba87
movzx eax, word [esi + 2]
lea ecx, [0x4d21e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044abc0
mov eax, dword [esp + 0xa4]
movzx ecx, word [eax + 2]
mov edx, dword [esp + 0xc]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov ecx, dword [0x5cb0f0]
test ecx, ecx
je 0x4aba7d
call fcn.004631d0
mov dword [edi], edx
mov ebx, dword [eax + 0x1c]
mov dword [edi + 4], ebx
mov dword [eax + 0x1c], edx
xor ecx, ecx
jmp 0x4abc19
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebp
add esp, 0xec
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xec
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x100], esi
add esp, 0xec
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], ebp
mov eax, dword [esp + 0xac]
mov dword [esp + 0x100], eax
add esp, 0xec
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x100], esi
add esp, 0xec
ret
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
movzx eax, word [eax]
mov word [esp], ax
call fcn.004092b0
mov eax, dword [esp + 4]
lea ecx, [0x4cbb00]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
lea eax, [0x4e5594]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0049e6d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xec
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xec
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xec
ret
mov dword [ecx + eax*4], edx
lea ecx, [eax + 1]
mov eax, ebp
movzx edx, word [eax + 2]
cmp ecx, edx
jge 0x4abf80
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.00463406
lea ecx, [0x5066c4]
mov dword [esp], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
lea ebx, [0x506960]
mov dword [esp + 8], ebx
lea ebp, [0x5caec0]
mov dword [esp + 0xc], ebp
lea esi, [0x4cd380]
mov dword [esp + 0x10], esi
lea esi, [esp + 0x6c]
mov dword [esp + 0x14], esi
call fcn.0047a470
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4abf58
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ebx, dword [eax + 0x48]
lea ebp, [esp + 0x6c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004aed60
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4abf30
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
lea edx, [0x4d5be0]
mov dword [esp], edx
call fcn.0040bb40
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.00463406
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xe0], ecx
movzx ecx, word [esp + 0x8c]
mov word [esp + 0xe4], cx
movzx ecx, word [esp + 0x8e]
mov word [esp + 0xe6], cx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xe8], ecx
mov ecx, dword [0x5cb0f0]
test ecx, ecx
je 0x4abdaf
lea eax, [0x4d8580]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
lea ecx, [esp + 0xc4]
mov dword [esp + 8], ecx
call fcn.00410260
xor eax, eax
mov edi, dword [esp + 0x98]
lea esi, [esp + 0xc4]
call fcn.004638bc
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x4abddb
lea ecx, [0x5caec0]
lea edx, [0x5066d8]
jmp 0x4abde9
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x34], edx
mov ebx, dword [esp + 0x98]
mov ebp, dword [ebx + 0x14]
mov dword [esp + 0x38], ebp
mov esi, dword [ebx + 0x10]
mov edi, 0xffffffff
sub edi, esi
mov ebx, 0x7fffffff
sbb ebx, 0
test ebx, ebx
sete bl
setg cl
cmp edi, ebp
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, ebx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4abe36
add esi, ebp
adc eax, 0
jmp 0x4abe40
mov eax, 0x7fffffff
mov esi, 0xffffffff
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], eax
lea ecx, [0x4d4160]
mov dword [esp], ecx
call fcn.0040bb40
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov ecx, dword [0x5cb0f0]
test ecx, ecx
jne 0x4abe73
mov edx, dword [esp + 0x9c]
jmp 0x4abe81
call fcn.004631c0
mov edx, dword [esp + 0x9c]
mov dword [edi], edx
mov dword [eax + 4], edx
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 [0x5cb0f0]
test edx, edx
jne 0x4abebd
mov edx, dword [esp + 0x98]
jmp 0x4abed1
call fcn.004631d0
mov dword [edi], eax
mov edx, dword [esp + 0x98]
mov ebx, dword [edx + 0x3c]
mov dword [edi + 4], ebx
mov dword [edx + 0x3c], eax
lea ebx, [0x506660]
mov dword [edx + 0x34], ebx
mov ebp, dword [0x5cb0f0]
test ebp, ebp
je 0x4abef4
call fcn.004631d0
mov dword [edi], eax
mov ebp, dword [edx + 0x38]
mov dword [edi + 4], ebp
mov dword [edx + 0x38], eax
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp + 0x20]
mov eax, dword [esp + 0x44]
cmp eax, ecx
jae 0x4ac0a1
mov esi, dword [0x5cb0f0]
mov ecx, dword [ebp + 0x1c]
test esi, esi
je 0x4abc11
call fcn.004631d0
mov dword [edi], edx
mov esi, dword [ecx + eax*4]
mov dword [edi + 4], esi
jmp 0x4abc11
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xec
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xec
ret
mov edx, dword [eax + 0x20]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x94]
xor ecx, ecx
jmp 0x4abfa0
lea ecx, [ebp + 1]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x94]
cmp ecx, edx
jge 0x4ac06d
mov ebp, dword [eax + 0x20]
cmp ecx, ebp
jae 0x4ac098
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 0x1c]
mov edx, dword [edx + ecx*4]
test byte [edx], al
mov dword [esp], edx
lea edx, [0x50682c]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004aee70
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jae 0x4ac091
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xb0], edx
mov esi, dword [eax + 0x1c]
mov esi, dword [esi + ebp*4]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], ecx
mov edi, dword [0x5cb0f0]
test edi, edi
je 0x4ac034
call fcn.004631d0
mov dword [edi], ebx
mov ecx, dword [esi + 0x28]
mov dword [edi + 4], ecx
mov dword [esi + 0x28], ebx
test edx, edx
je 0x4abf92
mov dword [esp + 0xf8], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x100], eax
add esp, 0xec
ret
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
add esp, 0xec
ret
mov eax, ebp
call fcn.00463220
mov eax, ecx
mov ecx, ebp
call fcn.00463220
call fcn.00463220
nop
call fcn.00461dc0
jmp fcn.004ab4d0