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

Disassembly:
sub esp, 0x668
mov ecx, dword [0xc97b24]
lea eax, [esp + 0x168]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x678]
push edi
push 0x100
push esi
push eax
call dword [ecx + 0xfc]
mov edx, dword [0xc97b24]
push esi
call dword [edx + 0x120]
add esp, 0x10
cmp eax, 0x100
jb 0x7f4b60
movsx eax, byte [esi + 0xff]
push eax
push 0xff
push 0x100
push esi
push 0x8000001e
mov dword [esp + 0x24], 1
call fcn.008088d0
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], eax
push ecx
call fcn.00808820
add esp, 0x18
mov byte [esp + 0x277], 0
mov ebp, dword [esp + 0x680]
xor esi, esi
cmp ebp, esi
mov byte [esp + 0x78], 0
je 0x7f4be3
cmp byte [ebp], 0
je 0x7f4be3
mov eax, dword [0xc97b24]
push 0x100
lea edx, [esp + 0x7c]
push ebp
push edx
call dword [eax + 0xfc]
mov ecx, dword [0xc97b24]
push ebp
call dword [ecx + 0x120]
add esp, 0x10
cmp eax, 0x100
jb 0x7f4be3
movsx edx, byte [ebp + 0xff]
push edx
push 0xff
push 0x100
push ebp
push 0x8000001e
mov dword [esp + 0x24], 1
call fcn.008088d0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
call fcn.00808820
add esp, 0x18
mov byte [esp + 0x177], 0
mov eax, dword [0xc97b4c]
mov ecx, dword [0xc97b24]
mov ebx, 4
cmp dword [eax + ecx + 0x1c], esi
je 0x7f4c0b
mov edx, dword [eax + ecx + 0x20]
mov ebx, 0x8004
cmp edx, esi
je 0x7f4c0b
mov ebx, 0x9004
mov eax, dword [eax + ecx + 0x30]
cmp eax, esi
je 0x7f4c27
push ebx
lea ecx, [esp + 0x7c]
push esi
lea edx, [esp + 0x180]
push ecx
push edx
call eax
add esp, 0x10
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
lea ecx, [esp + 0x88]
push ebx
lea edx, [esp + 0x18c]
push ecx
push edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x3c], esi
call fcn.007f4690
mov edi, eax
add esp, 0x1c
cmp edi, esi
mov dword [esp + 0x38], edi
jne 0x7f4c73
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x668
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push edx
push eax
call fcn.007fb230
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7f4cab
push edi
call fcn.00802740
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x668
ret
mov eax, dword [esp + 0x24]
test ah, ah
jns 0x7f4f90
test ah, 0x10
je 0x7f4ccb
push edi
push esi
call fcn.00804290
add esp, 8
jmp 0x7f4fa0
push esi
call fcn.007fb160
mov ecx, eax
mov edi, 1
add esp, 4
cmp ecx, edi
mov dword [esp + 0x10], ecx
jle 0x7f4e80
mov ecx, dword [esp + 0x67c]
mov eax, dword [0xc97b24]
push 0x100
lea edx, [esp + 0x17c]
push ecx
push edx
call dword [eax + 0xfc]
mov ecx, dword [esp + 0x688]
mov edx, dword [0xc97b24]
push ecx
call dword [edx + 0x120]
add esp, 0x10
cmp eax, 0x100
jb 0x7f4d6a
mov eax, dword [esp + 0x67c]
mov dword [esp + 0x30], 1
movsx ecx, byte [eax + 0xff]
push ecx
push 0xff
push 0x100
push eax
push 0x8000001e
call fcn.008088d0
lea edx, [esp + 0x44]
mov dword [esp + 0x48], eax
push edx
call fcn.00808820
add esp, 0x18
mov byte [esp + 0x277], 0
test ebp, ebp
mov byte [esp + 0x78], 0
je 0x7f4de5
cmp byte [ebp], 0
je 0x7f4de5
mov ecx, dword [0xc97b24]
push 0x100
lea eax, [esp + 0x7c]
push ebp
push eax
call dword [ecx + 0xfc]
mov edx, dword [0xc97b24]
push ebp
call dword [edx + 0x120]
add esp, 0x10
cmp eax, 0x100
jb 0x7f4de5
movsx eax, byte [ebp + 0xff]
push eax
push 0xff
push 0x100
push ebp
push 0x8000001e
mov dword [esp + 0x2c], 1
call fcn.008088d0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
push ecx
call fcn.00808820
add esp, 0x18
mov byte [esp + 0x177], 0
mov edx, dword [0xc97b24]
mov eax, dword [0xc97b4c]
mov eax, dword [eax + edx + 0x30]
test eax, eax
je 0x7f4e0c
push ebx
lea ecx, [esp + 0x7c]
push edi
lea edx, [esp + 0x180]
push ecx
push edx
call eax
add esp, 0x10
push 5
push edi
push esi
call fcn.007fb2d0
mov eax, dword [esi + 0xc]
push esi
mov dword [esp + 0x38], eax
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [esi + 0x14]
xor eax, eax
mov dword [esp + 0x3c], edx
mov ah, byte [esi + 0x23]
mov al, byte [esi + 0x20]
mov dword [esp + 0x34], eax
call fcn.007faec0
lea ecx, [esp + 0x34]
lea edx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x34]
push edx
lea ecx, [esp + 0x40]
push eax
push ecx
lea edx, [esp + 0x98]
push ebx
lea eax, [esp + 0x19c]
push edx
push eax
call fcn.007f4690
add esp, 0x2c
mov dword [esp + edi*4 + 0x38], eax
test eax, eax
je 0x7f4ea1
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jl 0x7f4ce7
mov ecx, eax
xor eax, eax
mov al, byte [esi + 0x23]
test al, 0x60
je 0x7f4ef3
test al, 0x40
je 0x7f4eca
push 4
lea edx, [esp + 0x3c]
push ecx
push edx
lea eax, [esp + 0x284]
push 0
push eax
jmp 0x7f4edc
dec edi
js 0x7f4eb4
mov ecx, dword [esp + edi*4 + 0x38]
push ecx
call fcn.00802740
add esp, 4
dec edi
jns 0x7f4ea4
push esi
call fcn.007fb020
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x668
ret
push 8
push ecx
lea ecx, [esp + 0x40]
lea edx, [esp + 0x280]
push ecx
push 0
push edx
call fcn.007f44c0
mov eax, dword [esp + 0x4c]
add esp, 0x14
push eax
call fcn.00803e30
add esp, 4
jmp 0x7f4f0f
xor edi, edi
test ecx, ecx
jle 0x7f4f13
mov ecx, dword [esp + edi*4 + 0x38]
push ecx
call fcn.00803e30
mov eax, dword [esp + 0x14]
add esp, 4
inc edi
cmp edi, eax
jl 0x7f4ef9
mov ecx, dword [esp + 0x10]
xor edi, edi
test ecx, ecx
jle 0x7f4fc9
push 5
push edi
push esi
call fcn.007fb2d0
add esp, 0xc
test eax, eax
je 0x7f4f48
mov edx, dword [esp + edi*4 + 0x38]
push edx
push esi
call fcn.00804290
add esp, 8
test eax, eax
je 0x7f4f60
push esi
call fcn.007faec0
add esp, 4
mov eax, dword [esp + edi*4 + 0x38]
push eax
call fcn.00802740
mov eax, dword [esp + 0x14]
add esp, 4
inc edi
cmp edi, eax
jl 0x7f4f1d
jmp 0x7f4fc9
mov ebx, dword [esp + 0x10]
cmp edi, ebx
jge 0x7f4f7a
mov ecx, dword [esp + edi*4 + 0x38]
push ecx
call fcn.00802740
add esp, 4
inc edi
cmp edi, ebx
jl 0x7f4f68
push esi
call fcn.007fb020
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x668
ret
push edi
call fcn.00803e30
push edi
push esi
call fcn.00804290
add esp, 0xc
test eax, eax
jne 0x7f4fc0
push esi
call fcn.007fb020
push edi
call fcn.00802740
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x668
ret
push edi
call fcn.00802740
add esp, 4
mov eax, dword [0xc97b24]
mov edx, dword [0xc97b4c]
push 0x30006
mov ecx, dword [edx + eax + 8]
push ecx
call dword [eax + 0x144]
mov edi, eax
add esp, 8
test edi, edi
je 0x7f4f7a
lea ebx, [edi + 0x10]
mov dword [edi + 0x50], 0
push edi
mov byte [edi + 0x51], 0x11
push 0x8e23cc
mov dword [edi + 4], 0
mov byte [ebx], 0
mov byte [edi + 0x30], 0
mov dword [edi], esi
mov dword [edi + 0x54], 1
mov byte [edi + 0x50], 1
call fcn.008086e0
mov esi, dword [esp + 0x684]
mov edx, dword [0xc97b24]
add esp, 8
push 0x20
push esi
push ebx
call dword [edx + 0xfc]
mov eax, dword [0xc97b24]
push esi
call dword [eax + 0x120]
add esp, 0x10
cmp eax, 0x20
mov ebx, 1
jb 0x7f5081
movsx ecx, byte [esi + 0x1f]
push ecx
push 0x1f
push 0x20
push esi
push 0x8000001e
mov dword [esp + 0x2c], ebx
call fcn.008088d0
lea edx, [esp + 0x2c]
mov dword [esp + 0x30], eax
push edx
call fcn.00808820
add esp, 0x18
mov byte [edi + 0x2f], 0
test ebp, ebp
lea eax, [edi + 0x30]
push 0x20
je 0x7f50d3
push ebp
push eax
mov eax, dword [0xc97b24]
call dword [eax + 0xfc]
mov ecx, dword [0xc97b24]
push ebp
call dword [ecx + 0x120]
add esp, 0x10
cmp eax, 0x20
jb 0x7f5132
movsx edx, byte [ebp + 0x1f]
push edx
push 0x1f
push 0x20
push ebp
push 0x8000001e
mov dword [esp + 0x2c], ebx
call fcn.008088d0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c]
push eax
jmp 0x7f5126
mov ecx, dword [0xc97b24]
push 0xc97904
push eax
call dword [ecx + 0xfc]
mov edx, dword [0xc97b24]
push 0xc97904
call dword [edx + 0x120]
add esp, 0x10
cmp eax, 0x20
jb 0x7f5132
movsx eax, byte [0xc97923]
push eax
push 0x1f
push 0x20
push 0xc97904
push 0x8000001e
mov dword [esp + 0x2c], ebx
call fcn.008088d0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], eax
push ecx
call fcn.00808820
add esp, 0x18
mov byte [edi + 0x4f], 0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x668
ret