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

Disassembly:
sub esp, 0x8b0
mov ecx, dword [esp + 0x8bc]
push ebx
push ebp
push esi
push edi
xor edi, edi
mov eax, 1
xor ebx, ebx
xor ebp, ebp
cmp ecx, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
je 0x7c4327
mov eax, dword [ecx]
call dword [eax + 0x58]
mov ebx, eax
mov ebp, edx
mov esi, dword [esp + 0x8c4]
cmp esi, edi
je 0x7c43f4
cmp dword [esi + 0x14], edi
je 0x7c4373
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 0x1c0]
mov edx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x1c4]
or edx, eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x2c]
or edx, ecx
and eax, ebx
and ecx, ebp
or eax, ecx
mov dword [esp + 0x2c], edx
je 0x7c4396
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8b0
ret
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 0x1c0]
mov ecx, dword [esp + 0x34]
or ecx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 0x1c4]
or eax, ecx
mov dword [esp + 0x38], eax
mov edx, dword [esi + 0x24]
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 0x12c]
test ah, 0x20
je 0x7c43ba
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], edi
jmp 0x7c43ea
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push 0x12
call dword [edx + 0x9c]
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push edi
push edx
call fcn.00924872
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov esi, dword [esi]
cmp esi, edi
jne 0x7c4336
mov edx, dword [esp + 0x8c8]
mov eax, dword [edx]
mov ebp, dword [eax + 4]
cmp ebp, edi
mov dword [esp + 0x44], eax
je 0x7c483c
lea ebx, [ebx]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x30]
cmp eax, 2
jne 0x7c47e5
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xec]
sub eax, edi
je 0x7c47a2
sub eax, 4
je 0x7c4610
dec eax
jne 0x7c4805
mov eax, dword [ebp + 0x38]
mov ebx, dword [eax]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x30]
test eax, eax
jne 0x7c45d9
mov edx, dword [ebx + 0x58]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0xc0]
mov dword [esp + 0x98], eax
mov esi, dword [edx + 0x10]
mov eax, dword [esi + 0x1c0]
and eax, ecx
mov ecx, dword [esi + 0x1c4]
and ecx, edi
or eax, ecx
jne 0x7c45d2
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x8d0]
lea eax, [esp + 0x44]
push eax
push ecx
push edx
push 1
lea eax, [esp + 0x9c]
call fcn.007c4022
add esp, 0x14
test eax, eax
je 0x7c45d2
mov eax, dword [esp + 0x94]
mov ecx, dword [esi]
mov edx, dword [ecx]
push eax
mov dword [ecx + 0xa4], 1
call dword [edx]
mov eax, dword [esp + 0x90]
test eax, eax
mov ecx, dword [esi]
jne 0x7c44ea
mov edx, dword [esi + 0x44]
mov eax, dword [ecx]
push edx
call dword [eax + 0x60]
jmp 0x7c4516
mov edx, dword [ecx]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x40]
and bl, 8
neg bl
sbb ebx, ebx
and ebx, 0xfffffffd
add ebx, 7
push ebx
push eax
lea eax, [esp + 0xc8]
push eax
mov eax, dword [esi + 0x44]
push eax
call dword [edx + 0x4c]
mov ebx, dword [esp + 0x10]
mov edi, eax
test edi, edi
jne 0x7c457a
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x94]
mov ebx, dword [ebx + 0x58]
push edx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x9c]
push eax
push ecx
push edx
call fcn.007ae7c2
add esp, 0x10
test eax, eax
jne 0x7c4575
mov eax, dword [esp + 0x8cc]
test eax, eax
je 0x7c457a
test byte [esp + 0x10], 1
jne 0x7c457a
mov eax, dword [esp + 0x8cc]
push eax
push ebx
push 1
call fcn.007c41e2
add esp, 0xc
test eax, eax
je 0x7c457a
mov edi, 0x78
mov al, byte [esi + 0x13c]
test al, al
je 0x7c4597
mov ecx, dword [esi]
mov byte [esi + 0x13c], 0
mov edx, dword [ecx]
push 8
call dword [edx + 0xa0]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov dword [ecx + 0xa4], 0
call dword [eax + 4]
test edi, edi
jne 0x7c484b
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x1c0]
mov eax, dword [esp + 0x24]
or edx, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x1c4]
or eax, edx
mov dword [esp + 0x24], eax
jmp 0x7c45f2
xor edi, edi
jmp 0x7c4805
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x6c]
test eax, eax
je 0x7c4805
cmp dword [esp + 0x30], edi
je 0x7c4805
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x1c]
mov ecx, ebp
jne 0x7c4778
mov edx, dword [ebp]
call dword [edx + 0xf0]
jmp 0x7c478c
mov eax, dword [ebp + 0x38]
mov ebx, dword [eax]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x30]
test eax, eax
jne 0x7c45d9
mov edx, dword [ebx + 0x58]
lea eax, [esp + 0x4c0]
mov dword [esp + 0x60], eax
mov esi, dword [edx + 0x10]
mov ecx, dword [esi + 0x1c0]
mov eax, dword [esp + 0x28]
and eax, ecx
mov ecx, dword [esp + 0x2c]
and ecx, dword [esi + 0x1c4]
or eax, ecx
jne 0x7c4805
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x8d0]
lea eax, [esp + 0x40]
push eax
push ecx
push edx
push edi
lea eax, [esp + 0x64]
call fcn.007c4022
add esp, 0x14
test eax, eax
je 0x7c4805
mov eax, dword [esp + 0x5c]
mov ecx, dword [esi]
mov edx, dword [ecx]
push eax
mov dword [ecx + 0xa4], 1
call dword [edx]
mov eax, dword [esp + 0x58]
cmp eax, edi
mov ecx, dword [esi]
jne 0x7c46a1
mov edx, dword [esi + 0x44]
mov eax, dword [ecx]
push edx
call dword [eax + 0x5c]
jmp 0x7c46c0
mov edi, dword [esp + 0x3c]
mov edx, dword [ecx]
and edi, 4
or edi, 2
shr edi, 1
push edi
push eax
lea eax, [esp + 0x4c8]
push eax
mov eax, dword [esi + 0x44]
push eax
call dword [edx + 0x4c]
mov edi, eax
test edi, edi
jne 0x7c471d
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
mov ebx, dword [ebx + 0x58]
push edx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x64]
push eax
push ecx
push edx
call fcn.007ae7c2
add esp, 0x10
test eax, eax
jne 0x7c4718
mov eax, dword [esp + 0x8cc]
test eax, eax
je 0x7c471d
test byte [esp + 0x10], 2
jne 0x7c471d
mov eax, dword [esp + 0x8cc]
push eax
push ebx
push edi
call fcn.007c41e2
add esp, 0xc
test eax, eax
je 0x7c471d
mov edi, 0x78
mov al, byte [esi + 0x13c]
test al, al
je 0x7c473a
mov ecx, dword [esi]
mov byte [esi + 0x13c], 0
mov edx, dword [ecx]
push 8
call dword [edx + 0xa0]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov dword [ecx + 0xa4], 0
call dword [eax + 4]
test edi, edi
jne 0x7c487f
mov edx, dword [esp + 0x20]
mov ecx, dword [esi + 0x1c0]
mov eax, dword [esp + 0x24]
or edx, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x1c4]
or eax, edx
mov dword [esp + 0x24], eax
jmp 0x7c45f2
mov eax, dword [ebp]
call dword [eax + 0xf0]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xf4]
mov dword [ebp + 0x98], edi
mov dword [ebp + 0x9c], edi
mov dword [esp + 0x10], 1
jmp 0x7c4809
cmp dword [esp + 0x8cc], edi
jne 0x7c4805
mov eax, dword [ebp + 0x38]
mov ecx, dword [eax]
mov al, byte [ecx + 0x26]
test al, al
jne 0x7c4805
mov edx, dword [esp + 0x28]
or edx, dword [esp + 0x2c]
jne 0x7c4805
cmp dword [esp + 0x30], edi
je 0x7c4805
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], ecx
mov dword [ebp + 0x58], edi
mov dword [ebp + 0x5c], edi
mov dword [esp + 0x10], 1
jmp 0x7c4809
cmp dword [esp + 0x14], edi
je 0x7c4809
cmp dword [esp + 0x10], edi
je 0x7c47f9
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x78]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x6c]
test eax, eax
jne 0x7c4809
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov ebp, dword [eax + 4]
cmp ebp, edi
mov dword [esp + 0x44], eax
jne 0x7c4412
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, eax
or edx, ecx
je 0x7c483c
cmp dword [esp + 0x34], eax
jne 0x7c4838
cmp dword [esp + 0x38], ecx
je 0x7c483c
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8b0
ret
cmp edi, 0x78
je 0x7c4871
cmp edi, 0x89
je 0x7c4871
mov esi, dword [esi]
mov edx, dword [esi]
push 0
push edi
mov ecx, esi
call dword [edx + 0x14]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8b0
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x8b0
ret
cmp edi, 0x78
je 0x7c4871
cmp edi, 0x89
je 0x7c4871
mov esi, dword [esi]
mov eax, dword [esi]
push 0
push edi
mov ecx, esi
call dword [eax + 0x14]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8b0
ret