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

Disassembly:
sub esp, 0x18
cmp dword [esp + 0x24], 0
push ebx
push ebp
mov ebp, dword [esp + 0x28]
push esi
mov esi, dword [esp + 0x28]
push edi
movzx edx, byte [ebp + 1]
mov dword [esp + 0x10], edx
mov ecx, dword [esi + 0x50]
mov eax, dword [ecx + 0x10]
lea edi, [eax + edx*8]
mov eax, dword [esi + 0x60]
mov dword [esp + 0x14], edi
lea ebx, [eax + edx*4]
je 0x100c5e7a
cmp dword [esi + 0x8c8], ebp
jne 0x100c5e46
movzx eax, word [ebx]
mov ecx, eax
cmp ax, word [esi + 0x8cc]
jne 0x100c5e46
movzx eax, byte [esi + 0x8d4]
movzx ebp, word [esi + 0x8d0]
mov dword [esp + 0x2c], eax
or eax, 0x2800
mov word [esi + 0x78], ax
mov ax, word [esi + 0x8d2]
mov word [esi + 0x74], cx
mov ecx, esi
mov dword [esp + 0x34], ebp
mov word [esi + 0x76], ax
call fcn.100dbf90
mov dword [ebx], eax
mov dword [ebx + 0xc], eax
movsd xmm0, qword [edi + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [edi]
jmp 0x100c5f6d
push 0
lea eax, [esp + 0x1c]
push eax
push ebp
push esi
call fcn.100c6200
movzx eax, byte [esp + 0x34]
add esp, 0x10
movsd xmm0, qword [edi + 0x10]
mov dword [esp + 0x2c], eax
movaps xmm1, xmm0
movzx eax, word [esp + 0x20]
addsd xmm1, qword [edi]
mov dword [esp + 0x34], eax
jmp 0x100c5f6d
mov edx, edi
call fcn.100a35d0
mov eax, dword [ebx]
and eax, 0x1f000000
cmp eax, 0x13000000
je 0x100c5e9a
mov ebp, 0xe
mov dword [esp + 0x2c], ebp
jmp 0x100c5eaa
push edi
push esi
call fcn.100dde90
add esp, 8
mov dword [esp + 0x2c], eax
mov ebp, eax
xor edi, edi
nop dword [eax]
mov ecx, dword [ebx + edi*4]
test ecx, ecx
jne 0x100c5eca
mov eax, dword [esp + 0x10]
add eax, edi
push eax
push esi
call fcn.100c79e0
mov ecx, dword [ebx + edi*4]
add esp, 8
mov eax, ecx
and eax, 0x1f000000
cmp eax, 0x4000000
jne 0x100c5eef
mov word [esi + 0x74], cx
mov ecx, esi
mov dword [esi + 0x76], 0x588e0000
call fcn.100dbf90
mov ecx, eax
mov dword [ebx + edi*4], eax
mov eax, ecx
cmp ebp, 0x13
jne 0x100c5f0d
shr eax, 0x18
and eax, 0x1f
sub eax, 0xf
cmp eax, 4
jbe 0x100c5f2e
mov dword [esi + 0x76], 0x5593326e
jmp 0x100c5f20
and eax, 0x1f000000
cmp eax, 0xe000000
je 0x100c5f2e
mov dword [esi + 0x76], 0x550e01d3
mov word [esi + 0x74], cx
mov ecx, esi
call fcn.100dbf90
mov dword [ebx + edi*4], eax
inc edi
cmp edi, 2
jbe 0x100c5eb0
mov edi, dword [esp + 0x14]
mov eax, dword [ebx]
mov ebp, dword [ebx + 4]
push 1
push dword [ebx + 8]
mov dword [ebx + 0xc], eax
mov eax, dword [edi + 0x14]
not eax
mov dword [esp + 0x3c], ebp
push ebp
shr eax, 0x1f
push eax
push dword [esp + 0x3c]
push esi
call fcn.100c6080
movsd xmm1, qword [edi]
add esp, 0x18
movsd xmm0, qword [edi + 0x10]
cmp dword [edi + 0x14], 0
movsd xmm2, qword [edi + 8]
jl 0x100c5fa2
comisd xmm2, xmm1
jb 0x100c5f9b
addsd xmm0, xmm0
xor ecx, ecx
mov ebp, 0x280
addsd xmm0, xmm1
comisd xmm0, xmm2
setbe cl
inc ecx
mov dword [esp + 0x14], ecx
jmp 0x100c5fc3
mov ebp, 0x380
jmp 0x100c5fe4
comisd xmm1, xmm2
jb 0x100c5fdf
addsd xmm0, xmm0
xor eax, eax
mov ebp, 0x180
addsd xmm0, xmm1
comisd xmm2, xmm0
setbe al
inc eax
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x68], eax
movzx eax, word [edx + 2]
lea ecx, [eax*4 - 0x1fffc]
jmp 0x100c5ff9
mov ebp, 0x80
mov eax, dword [esp + 0x10]
xor edi, edi
mov edx, dword [esp + 0x30]
add eax, 4
mov dword [esi + 0x68], eax
mov ecx, 4
lea eax, [edx + 4]
mov dword [esp + 0x14], eax
lea eax, [ecx + edx]
push esi
mov dword [esi + 0x54], eax
call fcn.100c1290
movzx eax, word [ebx]
add esp, 4
or ebp, dword [esp + 0x2c]
mov ecx, esi
mov word [esi + 0x74], ax
mov eax, dword [esp + 0x34]
mov word [esi + 0x78], bp
mov word [esi + 0x76], ax
call fcn.100dbf90
mov eax, dword [esp + 0x10]
test edi, edi
jne 0x100c6059
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x68], eax
movzx eax, word [ecx + 2]
add eax, 0xffff8001
lea eax, [ecx + eax*4]
mov dword [esi + 0x54], eax
mov eax, edi
pop edi
mov byte [esi + 0x71], 1
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
add eax, 4
mov dword [esi + 0x68], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x54], eax
mov eax, edi
pop edi
mov byte [esi + 0x71], 1
pop esi
pop ebp
pop ebx
add esp, 0x18
ret