Function at 0x10019977
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], 0x1003d878
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, 0x1004d2e0
jne 0x100199c0
mov eax, 0x1004d260
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 0x10019a00
cmp eax, 0x28
je 0x10019a00
xor eax, eax
jmp 0x10019a03
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 0x10019a73
mov ecx, dword [edx + 0x4c]
fld dword [0x1003a2d4]
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 0x10019a82
cmp dword [ebx + 4], 0x3d
je 0x10019a8b
mov dword [ebx + 0x10], esi
cmp dword [ebp + 0x10], 3
jne 0x10019a8b
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 0x10019aed
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 0x10019b3a
mov esi, dword [ebx + 0x68]
inc esi
inc esi
mov eax, esi
shl eax, 4
push eax
call fcn.1003897c
mov edi, eax
test edi, edi
pop ecx
je 0x10019b19
push 0x1000abab
push esi
push 0x10
push edi
call fcn.100036e0
jmp 0x10019b1b
xor edi, edi
test edi, edi
mov dword [ebx + 0x5c], edi
je 0x10019b3a
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