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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x7c0218
push ebx
push esi
push edi
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x7c0bd2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0
je 0x7c0b9d
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
je 0x7c0b9d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x58]
xor edx, edx
push ebp
push 0x7c0b96
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0x10]
push eax
or ecx, 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.007c004c
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x10]
call fcn.0040af74
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 0x10
jne 0x7c02b5
lea edx, [ebp - 4]
mov eax, dword [ebp - 0x18]
call fcn.007bfdcc
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x14]
test al, al
jne 0x7c02b5
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x10]
call fcn.0040af74
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, dword [0x56f68c]
call fcn.00408f3c
test al, al
je 0x7c0794
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
mov eax, ebx
mov edx, dword [0x63a6d4]
call fcn.00408f3c
test al, al
jne 0x7c02fa
mov eax, ebx
mov edx, dword [0x7ebc4c]
call fcn.00408f3c
test al, al
je 0x7c064e
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 1
je 0x7c0401
movzx eax, byte [ebx + 0x6d]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0bec
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.00577678
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x50]
mov esi, dword [eax + 0x54]
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0c04
mov edx, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x34]
cmp dword [ebp - 8], 0
jne 0x7c0389
push 0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0x11
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, 0x7c0c18
call fcn.00428e90
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x34]
cmp dword [ebp - 8], 0
je 0x7c0401
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x7c0c34
call fcn.0040bf80
mov edi, eax
test edi, edi
jle 0x7c03e7
lea eax, [ebp - 0x40]
push eax
mov ecx, edi
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040be24
mov eax, dword [ebp - 0x40]
mov edx, ebx
call fcn.00427a70
mov ebx, eax
lea eax, [ebp - 0x44]
push eax
lea edx, [edi + 1]
mov ecx, 0xff
mov eax, dword [ebp - 8]
call fcn.0040be24
mov eax, dword [ebp - 0x44]
mov edx, esi
call fcn.00427a70
mov esi, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.005779d4
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, esi
call fcn.00577a08
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 2
je 0x7c04e3
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0c44
mov edx, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x34]
cmp dword [ebp - 8], 0
jne 0x7c0461
push 0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0x11
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, 0x7c0c5c
call fcn.00428e90
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x34]
cmp dword [ebp - 8], 0
je 0x7c04e3
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x7c0c34
call fcn.0040bf80
mov edi, eax
test edi, edi
jle 0x7c04e3
lea eax, [ebp - 0x4c]
push eax
mov ecx, edi
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040be24
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 8]
mov edx, dword [edx + 0x58]
call fcn.00427a70
mov edx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
call fcn.00577a40
lea eax, [ebp - 0x50]
push eax
lea edx, [edi + 1]
mov ecx, 0xff
mov eax, dword [ebp - 8]
call fcn.0040be24
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 8]
mov edx, dword [edx + 0x5c]
call fcn.00427a70
mov edx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
call fcn.00577a74
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 4
je 0x7c055c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, dword [0x63a6d4]
call fcn.00408f3c
test al, al
je 0x7c055c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0c7c
mov edx, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x18]
test al, al
je 0x7c0546
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
movzx eax, byte [ebx + 0x2d6]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0c7c
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.00645a30
jmp 0x7c055c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
cmp byte [eax + 0x2da], 1
jne 0x7c055c
mov dl, 2
call fcn.00645a30
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 8
je 0x7c05d0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, dword [0x63a6d4]
call fcn.00408f3c
test al, al
je 0x7c05d0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, dword [0x807f48]
mov edx, dword [edx]
cmp eax, dword [edx + 0x58]
je 0x7c05d0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0c94
mov edx, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x18]
test al, al
je 0x7c05d0
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
movzx eax, byte [ebx + 0x2da]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0c94
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.006452d0
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
mov eax, ebx
mov edx, dword [0x7c3544]
call fcn.00408f3c
test al, al
je 0x7c0610
movzx eax, byte [ebx + 0x428]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0cac
mov edx, dword [ebp - 0x10]
mov esi, dword [eax]
call dword [esi + 0x40]
mov edx, eax
mov eax, ebx
call fcn.007c45c4
jmp 0x7c0794
mov eax, ebx
mov edx, dword [0x7ebc4c]
call fcn.00408f3c
test al, al
je 0x7c0794
movzx eax, byte [ebx + 0x310]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0cac
mov edx, dword [ebp - 0x10]
mov esi, dword [eax]
call dword [esi + 0x40]
mov edx, eax
mov eax, ebx
call fcn.007c4a40
jmp 0x7c0794
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 2
je 0x7c06a1
mov eax, dword [ebx + 0x58]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0cd8
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.00577a40
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
mov eax, dword [ebx + 0x5c]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0cf0
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.00577a74
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 1
je 0x7c0723
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
movzx eax, byte [ebx + 0x6d]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0bec
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.00577678
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
mov eax, dword [ebx + 0x50]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0d0c
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.005779d4
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
mov eax, dword [ebx + 0x54]
cdq
push edx
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0d24
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x30]
mov edx, eax
mov eax, ebx
call fcn.00577a08
mov eax, dword [ebp - 0x18]
test byte [eax + 0x18], 4
je 0x7c0780
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
movzx eax, byte [ebx + 0x69]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0d38
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x40]
mov edx, eax
mov eax, ebx
call fcn.00578454
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax + 8]
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x78]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0d54
mov edx, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x40]
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x94]
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x14], 0
je 0x7c0794
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
call dword [edx + 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x7c0b7b
inc esi
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
call fcn.007c2e3c
mov ebx, eax
test ebx, ebx
je case.0x7c07f2.0
mov eax, dword [ebx]
mov eax, dword [eax]
movzx eax, byte [eax]
cmp eax, 0x12
ja case.0x7c07f2.0
movzx eax, byte [eax + 0x7c07f9]
jmp dword [eax*4 + 0x7c080c]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.0050567c
cdq
push edx
push eax
lea eax, [ebp - 0x58]
lea edx, [ebx + 0x1a]
call fcn.0040bb70
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x30]
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.005056f0
jmp case.0x7c07f2.0
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.00506010
mov eax, dword [ebp - 0x60]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x64]
lea edx, [ebx + 0x1a]
call fcn.0040bb70
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x34]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.005060e8
jmp case.0x7c07f2.0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.005063f4
fstp qword [ebp - 0x3c]
wait
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
lea eax, [ebp - 0x68]
lea edx, [ebx + 0x1a]
call fcn.0040bb70
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x38]
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov edx, ebx
call fcn.005064b4
jmp case.0x7c07f2.0
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 8]
mov eax, edi
mov edx, dword [0x4569d8]
call fcn.00408f3c
test al, al
je case.0x7c07f2.0
mov eax, edi
mov edx, ebx
call fcn.0050567c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [0x44b040]
call fcn.00408f3c
test al, al
je 0x7c0a61
push dword [ebp - 4]
push 0x7c0d70
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
mov edx, 3
call fcn.0040bcdc
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call dword [ecx + 0x14]
test al, al
je 0x7c097a
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.0040af74
jmp 0x7c0985
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x18]
call fcn.007bfdcc
push 0
push 0
push dword [ebp - 0x14]
push 0x7c0d70
lea ecx, [ebp - 0x78]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x78]
lea eax, [ebp - 0x74]
mov edx, 3
call fcn.0040bcdc
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x7c0d80
mov ebx, dword [eax]
call dword [ebx + 0x30]
test eax, eax
jle case.0x7c07f2.0
mov ebx, eax
dec ebx
test ebx, ebx
jl case.0x7c07f2.0
inc ebx
mov dword [ebp - 0x20], 0
push 0
lea eax, [ebp - 0x7c]
push eax
push dword [ebp - 0x14]
push 0x7c0d70
lea ecx, [ebp - 0x84]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x84]
lea eax, [ebp - 0x80]
mov edx, 3
call fcn.0040bcdc
mov eax, dword [ebp - 0x80]
push eax
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x38], 0
lea edx, [ebp - 0x3c]
xor ecx, ecx
mov eax, 0x7c0d98
call fcn.00428e90
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
pop edx
mov edi, dword [eax]
call dword [edi + 0x34]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc dword [ebp - 0x20]
dec ebx
jne 0x7c09e0
jmp case.0x7c07f2.0
push 0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x8c]
lea edx, [ebx + 0x1a]
call fcn.0040bb70
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x34]
mov ecx, 1
mov edx, dword [ebp - 8]
mov eax, 0x7c0dac
call fcn.0040bf80
mov edi, eax
test edi, edi
jle 0x7c0af8
lea eax, [ebp - 0x90]
push eax
mov ecx, edi
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040be24
mov edx, dword [ebp - 0x90]
mov eax, dword [0x807f48]
mov eax, dword [eax]
call fcn.00488684
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x7c0ae4
mov eax, dword [ebp - 0x30]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 8]
push eax
lea edx, [edi + 1]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 8]
call fcn.0040be24
jmp 0x7c0b39
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
cmp dword [eax + 4], 0
je 0x7c0b12
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], eax
jmp 0x7c0b39
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x30], 0
je 0x7c0b2c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x28], eax
jmp 0x7c0b39
mov eax, dword [0x807f48]
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
call fcn.00488684
mov edi, eax
mov eax, dword [ebx]
mov eax, dword [eax]
call fcn.00504708
mov dword [ebp - 0x2c], eax
mov eax, edi
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
call fcn.00408f3c
test al, al
je case.0x7c07f2.0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov ecx, edi
mov edx, ebx
call fcn.005056f0
inc dword [ebp - 0x1c]
dec esi
jne 0x7c07b2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7c0b9d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax]
call dword [edx + 0x5c]
pop eax
jmp eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7c0bd9
lea eax, [ebp - 0x90]
mov edx, 0x15
call fcn.0040abac
lea eax, [ebp - 0x34]
call fcn.0040ab4c
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.0040abac
pop eax
jmp eax