Function at 0x10012ae6
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], 0x10036738
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, 0x100442e0
jne 0x10012b2f
mov eax, 0x10044260
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 0x10012b6f
cmp eax, 0x28
je 0x10012b6f
xor eax, eax
jmp 0x10012b72
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 0x10012be2
mov ecx, dword [edx + 0x4c]
fld dword [0x100331c4]
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 0x10012bf1
cmp dword [ebx + 4], 0x3d
je 0x10012bfa
mov dword [ebx + 0x10], esi
cmp dword [ebp + 0x10], 3
jne 0x10012bfa
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 0x10012c5c
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 0x10012ca9
mov esi, dword [ebx + 0x68]
inc esi
inc esi
mov eax, esi
shl eax, 4
push eax
call fcn.100327bc
mov edi, eax
test edi, edi
pop ecx
je 0x10012c88
push 0x1000445a
push esi
push 0x10
push edi
call fcn.100031c0
jmp 0x10012c8a
xor edi, edi
test edi, edi
mov dword [ebx + 0x5c], edi
je 0x10012ca9
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