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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov edx, dword [ebp + 8]
push ebx
mov ebx, ecx
mov dword [ebx], 0x1004fad8
mov eax, dword [edx]
mov dword [ebx + 0x20], eax
mov eax, dword [edx + 4]
push esi
mov dword [ebx + 4], eax
mov eax, dword [edx + 8]
push edi
mov dword [ebx + 0x60], eax
mov eax, dword [edx + 0xc]
push 6
mov dword [ebx + 0x64], eax
lea edi, [ebx + 0x3c]
lea esi, [edx + 0x28]
pop ecx
rep movsd dword es:[edi], dword [esi]
xor esi, esi
cmp dword [edx + 0x40], esi
mov eax, 0x10063308
jne 0x1002970b
mov eax, 0x10063288
mov dword [ebx + 0x34], eax
mov eax, dword [ebp + 0xc]
shr eax, 3
mov dword [ebp + 8], eax
mov dword [ebx + 0x78], eax
xor eax, eax
cmp dword [ebp + 0xc], esi
mov dword [ebx + 0x54], esi
setne al
mov dword [ebx + 0x58], esi
mov dword [ebp - 4], eax
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 8], eax
mov eax, dword [edx + 0x4c]
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 4]
cmp eax, 0x29
je 0x1002974b
cmp eax, 0x28
je 0x1002974b
xor eax, eax
jmp 0x1002974e
xor eax, eax
inc eax
cmp dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x38], esi
mov eax, dword [edx + 0x48]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x5c], esi
je 0x100297be
mov ecx, dword [edx + 0x4c]
fld dword [0x1004c530]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [ebp + 0xc], eax
mov eax, ecx
shr eax, 8
fild dword [ebp + 0xc]
movzx eax, al
fmul st(1)
mov dword [ebp + 0xc], eax
movzx eax, cl
fstp dword [ebp - 0x14]
fild dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
shr ecx, 0x18
lea edi, [ebx + 0x24]
fmul st(1)
lea esi, [ebp - 0x14]
fstp dword [ebp - 0x10]
fild dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
fmul st(1)
fstp dword [ebp - 0xc]
fild dword [ebp + 0xc]
fmul st(1)
fstp dword [ebp - 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
cmp dword [ebp + 0x10], 2
jne 0x100297cd
cmp dword [ebx + 4], 0x3d
je 0x100297d6
mov dword [ebx + 0x10], esi
cmp dword [ebp + 0x10], 3
jne 0x100297d6
mov dword [ebx + 0x10], esi
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
mov esi, dword [ebx + 0x40]
mov edi, dword [ebx + 0x48]
sub eax, ecx
mov dword [ebx + 0x68], eax
imul eax, dword [ebp + 8]
sub edi, esi
mov esi, dword [ebx + 0x4c]
mov dword [ebx + 0x6c], edi
mov edi, dword [ebx + 0x50]
mov dword [ebx + 0x74], eax
sub edi, esi
xor eax, eax
cmp dword [ebp - 4], eax
mov dword [ebx + 0x70], edi
je 0x10029838
imul ecx, dword [ebp + 8]
mov edi, dword [ebx + 0x60]
imul edi, dword [ebx + 0x40]
add ecx, edi
mov edi, dword [ebx + 0x64]
imul edi, esi
add ecx, edi
add dword [ebx + 0x20], ecx
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0x44], ecx
mov ecx, dword [ebx + 0x6c]
mov dword [ebx + 0x48], ecx
mov ecx, dword [ebx + 0x70]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], ecx
cmp dword [edx + 0x44], eax
je 0x10029885
mov esi, dword [ebx + 0x68]
inc esi
inc esi
mov eax, esi
shl eax, 4
push eax
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
test edi, edi
pop ecx
je 0x10029864
push 0x1001f103
push esi
push 0x10
push edi
call fcn.10002920
jmp 0x10029866
xor edi, edi
test edi, edi
mov dword [ebx + 0x5c], edi
je 0x10029885
mov ecx, dword [ebx + 0x68]
inc ecx
inc ecx
shl ecx, 4
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 0xc