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

Disassembly:
mov eax, 0x1084
call fcn.00925382
push ebp
push edi
mov edi, ecx
mov ecx, dword [edi]
xor ebp, ebp
cmp ecx, ebp
je 0x7c354e
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [edi + 4], ebp
mov dword [edi], ebp
mov dword [edi + 0xc8], ebp
mov dword [edi + 0xcc], ebp
mov dword [edi + 0xc0], ebp
mov dword [edi + 0xc4], ebp
je 0x7c3ad2
mov eax, dword [0x75d7ec]
test ah, 8
je 0x7c3588
cmp dword [esp + 0x10a8], ebp
je 0x7c3ad2
cmp dword [esp + 0x10a4], ebp
je 0x7c3ad2
push ebx
mov ebx, dword [esp + 0x109c]
push esi
mov esi, dword [esp + 0x109c]
mov ecx, esi
or ecx, ebx
je 0x7c378b
mov eax, dword [edi + 8]
mov edx, dword [eax]
mov ecx, dword [edx + 0x48]
cmp ecx, ebp
mov dword [edi + 0xb0], ecx
jne 0x7c35cb
mov dword [edi + 0xb0], 1
mov ecx, dword [edi + 0xb0]
fild dword [edi + 0xb0]
test ecx, ecx
jge 0x7c35e1
fadd qword [0x5e0280]
fmul qword [0x5fac28]
mov ecx, dword [eax]
mov edx, dword [ecx]
fadd qword [0x5e0330]
fstp qword [esp + 0x1c]
call dword [edx + 0x1c]
fadd qword [esp + 0x1c]
mov ecx, dword [edi + 8]
fadd qword [0x5fac20]
fstp qword [edi + 0xb8]
mov al, byte [ecx + 0x138]
test al, al
je 0x7c3629
fld qword [0x5e0218]
fstp qword [edi + 0xb8]
fld qword [0x5e0218]
jmp 0x7c362d
fld qword [esp + 0x1c]
mov eax, dword [edi + 0xb0]
cmp dword [esp + 0x10ac], eax
jae 0x7c3660
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x7c364e
fadd qword [0x5e0280]
fadd st(1)
fadd qword [0x5e0330]
fstp qword [edi + 0xb8]
fstp st(0)
jmp 0x7c3682
fstp st(0)
fld qword [edi + 0xb8]
fcomp qword [0x5e36d0]
fnstsw ax
test ah, 0x41
jp 0x7c3682
cmp dword [esp + 0x10b0], ebp
je 0x7c378b
mov eax, dword [ecx + 0xb0]
mov edx, dword [ecx + 0xb4]
and esi, eax
and ebx, edx
mov dword [esp + 0x109c], esi
or esi, ebx
mov dword [esp + 0x10a0], ebx
je 0x7c3aa4
mov ebx, dword [esp + 0x1098]
mov dword [esp + 0x4c], ebx
mov ecx, dword [ecx]
mov eax, dword [ecx]
call dword [eax + 0x12c]
mov ecx, dword [edi + 0xd0]
mov edx, dword [edi + 0xd4]
mov esi, dword [esp + 0x10a8]
mov dword [esp + 0x17c], eax
or ecx, dword [esp + 0x10a4]
mov eax, dword [edi + 0xd8]
mov dword [esp + 0x164], ecx
mov ecx, dword [edi + 0xdc]
mov dword [esp + 0x16c], eax
mov eax, dword [edi + 8]
or edx, esi
mov dword [esp + 0x168], edx
mov dword [esp + 0x170], ecx
mov edx, dword [eax + 0x1c0]
mov dword [esp + 0x174], edx
mov ecx, dword [eax + 0x1c4]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x9b0]
lea edx, [esp + 0x2c]
push ebp
mov dword [esp + 0x17c], ecx
push eax
mov ecx, edx
push ecx
mov dword [esp + 0x18c], ebp
mov dword [esp + 0x168], edx
mov dword [ebx + 0x1358], 1
call fcn.0083d7c2
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x64]
lea eax, [eax + eax*4]
shl eax, 2
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00841822
add esp, 0x14
cmp eax, ebp
mov dword [esp + 0x54], eax
jne 0x7c379a
lea edx, [esp + 0x2c]
push ebp
push edx
mov dword [ebx + 0x1358], ebp
call fcn.00841952
add esp, 8
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0x1084
ret 0x1c
mov esi, eax
mov eax, dword [ebx + 0x38]
lea ecx, [esp + 0x2c]
mov dword [ebx + 0x38], ecx
mov dword [esp + 0x14], eax
mov eax, dword [edi + 8]
cmp dword [eax + 0x60], ebp
mov ecx, dword [eax + 0xb8]
mov dword [esp + 0x10], ebp
jbe 0x7c387b
lea ebp, [ecx + 4]
mov edx, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x10a0]
call fcn.00796242
test al, al
je 0x7c385f
cmp byte [ebp], 0
js 0x7c385f
mov eax, dword [esp + 0x180]
mov dword [esp + eax*4 + 0x5c], esi
mov edx, dword [ebp + 4]
mov eax, dword [ebp + 0x14]
xor ecx, ecx
test edx, edx
jbe 0x7c3846
jmp 0x7c3802
mov dx, word [esp + 0x180]
mov word [esi], dx
mov word [esi + 2], cx
mov dx, word [eax + 0xc]
mov word [esi + 6], dx
mov dx, word [eax + 0xe]
mov word [esi + 4], dx
mov edx, dword [eax]
mov dword [esi + 0xc], edx
mov dl, byte [eax + 0x16]
mov byte [esi + 8], dl
mov edx, dword [ebp]
shr edx, 0xa
and edx, 1
mov dword [esi + 0x10], edx
mov edx, dword [ebp + 4]
inc ecx
add esi, 0x14
add eax, 0x18
cmp ecx, edx
jb 0x7c3802
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x18c], ecx
inc dword [esp + 0x180]
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 8]
mov ecx, dword [edx + 0x60]
inc eax
add ebp, 0x28
cmp eax, ecx
mov dword [esp + 0x10], eax
jb 0x7c37c3
xor ebp, ebp
mov eax, dword [edi + 4]
push eax
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x60], esi
call fcn.007c3122
add esp, 8
cmp eax, ebp
mov dword [esp + 0x24], eax
je 0x7c3a89
mov ecx, dword [eax]
cmp ecx, ebp
jne 0x7c38b9
fld qword [0x5e05e0]
mov dword [edi + 0xb0], ebp
fstp qword [edi + 0xb8]
jmp 0x7c3a89
cmp ecx, 3
je 0x7c38c7
cmp ecx, 4
jne 0x7c3a89
mov edx, dword [esp + 0x180]
lea ebx, [eax + 4]
lea eax, [ebx + edx*4]
xor esi, esi
cmp ebx, eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], eax
je 0x7c3a80
jmp 0x7c38f2
mov eax, dword [ebx]
test eax, eax
je 0x7c3a15
cmp dword [eax + 0x34], 2
mov ebp, dword [esp + esi*4 + 0x18c]
je 0x7c3910
mov cl, byte [eax + 2]
test cl, cl
je 0x7c391c
push ebp
lea ecx, [edi + 0xc8]
call fcn.00775df2
mov eax, dword [ebx]
mov ecx, esi
lea esi, [esp + 0x4c]
call fcn.007c2162
mov esi, eax
cmp esi, 0xffffffff
je 0x7c39c1
cmp esi, 2
jbe 0x7c39c1
mov eax, dword [edi + 8]
push ebp
lea ecx, [eax + 0xa8]
call fcn.00796242
test al, al
je 0x7c39c1
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x184]
mov ecx, dword [eax]
mov eax, dword [ecx]
push 1
push edx
push ebp
call dword [eax + 0x130]
test al, 0x40
je 0x7c39c1
mov eax, dword [edi + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 0xb8]
lea edx, [ebp + ebp*4]
mov ebp, dword [eax + edx*8]
add ebp, dword [ecx + 0x90]
mov eax, dword [ecx + 0x94]
shr eax, 1
xor edx, edx
div ebp
inc eax
lea ecx, [eax + esi - 1]
test ecx, ecx
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
jge 0x7c39ab
fadd qword [0x5e0280]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7c39bd
fadd qword [0x5e0280]
fdivp st(1)
jmp 0x7c39ef
mov edx, dword [edi + 8]
mov ecx, dword [edx]
mov edx, dword [esp + 0x188]
mov eax, dword [ecx]
push esi
push edx
push ebp
call dword [eax + 0x20]
test esi, esi
mov dword [esp + 0x1c], esi
fild dword [esp + 0x1c]
jge 0x7c39e7
fadd qword [0x5e0280]
fmul qword [0x5fac28]
faddp st(1)
fcom qword [edi + 0xb8]
fnstsw ax
test ah, 5
jp 0x7c3a13
cmp esi, 0xffffffff
je 0x7c3a13
fstp qword [edi + 0xb8]
mov dword [edi + 0xb0], esi
mov dword [esp + 0x18], ebx
jmp 0x7c3a15
fstp st(0)
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
add ebx, 4
inc esi
cmp ebx, eax
mov dword [esp + 0x10], esi
jne 0x7c38f2
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x7c3a80
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x7c3a80
mov eax, dword [ebx]
push eax
sub ebx, dword [esp + 0x28]
sub ebx, 4
sar ebx, 2
lea esi, [esp + 0x50]
call fcn.007c21f2
mov ebx, dword [esp + 0x109c]
add esp, 4
xor ebp, ebp
test eax, eax
mov dword [edi], eax
je 0x7c3a89
mov ecx, dword [edi + 0xb0]
mov dword [eax + 0x78], ecx
fld qword [edi + 0xb8]
mov edx, dword [edi]
fstp qword [edx + 0x80]
jmp 0x7c3a89
mov ebx, dword [esp + 0x1098]
xor ebp, ebp
lea eax, [esp + 0x2c]
push ebp
push eax
call fcn.00841952
mov ecx, dword [esp + 0x1c]
add esp, 8
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x1358], ebp
cmp dword [edi + 0xb0], ebp
je 0x7c3ac2
mov ecx, dword [edi]
pop esi
pop ebx
xor eax, eax
cmp ecx, ebp
pop edi
setne al
pop ebp
add esp, 0x1084
ret 0x1c
pop esi
pop ebx
pop edi
or eax, 0xffffffff
pop ebp
add esp, 0x1084
ret 0x1c
pop edi
xor eax, eax
pop ebp
add esp, 0x1084
ret 0x1c