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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 8]
mov eax, dword [0x1029f900]
xor eax, ebp
and edi, 0xfffffffe
cmp edi, 8
sete byte [esp + 0x60]
cmp edx, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp + 0x18]
mov ecx, esi
sbb ecx, ebx
vmovss xmm0, dword [ebp + 0x28]
setl byte [esp + 0x18]
vucomiss xmm0, dword [0x10144ae0]
mov dword [esp + 0xf8], eax
setp ch
setne cl
cmp dword [ebp + 0x1c], edx
mov eax, ebx
sbb eax, esi
jl 0x100cd7c9
mov eax, dword [ebp + 0x14]
mov byte [esp + 0x30], cl
mov dword [esp + 0x3c], edi
vmovss xmm2, dword [ebp + 0x10]
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x20], edx
mov esi, dword [0x102a05a0]
vxorps xmm0, xmm0, xmm0
vucomiss xmm2, xmm0
jne 0x100cd19d
jp 0x100cd19d
mov edi, eax
cmp eax, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
sbb eax, ebx
jge 0x100cd19f
mov eax, dword [ebp + 0x1c]
sub eax, edi
vmovd xmm0, eax
mov eax, ebx
sbb eax, dword [ebp + 0x18]
vpinsrd xmm0, xmm0, eax, 1
vmovq qword [esp + 0xe8], xmm0
fild qword [esp + 0xe8]
fstp dword [esp + 0x7c]
vmovss xmm0, dword [esi + 0x2d84]
vmulss xmm2, xmm0, dword [esp + 0x7c]
jmp 0x100cd19f
mov edi, eax
and dword [esp + 0x20], 1
mov eax, dword [esi + 0x1a6c]
cmp eax, 1
mov dword [esp + 0x24], esi
mov byte [esp + 0x28], ch
vmovaps xmmword [esp + 0x50], xmm2
jne 0x100cd244
mov dword [esp], 0
call fcn.100a0710
test al, al
je 0x100cd231
vmovss xmm0, dword [esi + 0x44c]
vucomiss xmm0, dword [0x10144ae0]
jbe 0x100cd231
mov eax, dword [esp + 0x20]
vmovss xmm3, dword [esi + eax*4 + 0x378]
cmp byte [esi + 0x102], 0
je 0x100cd201
vmulss xmm3, xmm3, dword [0x10147224]
mov edi, dword [ebp + 0x14]
movzx eax, byte [esp + 0x60]
mov ch, byte [esp + 0x28]
vmovaps xmm2, xmmword [esp + 0x50]
mov ah, byte [esp + 0x30]
cmp byte [esi + 0x101], 0
je 0x100cd35e
vmulss xmm3, xmm3, dword [0x101474e8]
jmp 0x100cd35e
mov eax, dword [esi + 0x1a6c]
mov edi, dword [ebp + 0x14]
mov ch, byte [esp + 0x28]
vmovaps xmm2, xmmword [esp + 0x50]
vxorps xmm3, xmm3, xmm3
cmp eax, 2
jne 0x100cd2aa
cmp dword [esp + 0x3c], 8
jne 0x100cd2b8
mov eax, dword [ebp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 3
call fcn.100d4090
mov esi, eax
vmovaps xmm0, xmmword [0x10151070]
vmovups xmmword [esp + 4], xmm0
lea eax, [esp + 0xf0]
mov dword [esp], eax
call fcn.100b07e0
mov eax, dword [esp + 0x20]
vmovss xmm3, dword [esp + eax*4 + 0xf0]
test esi, esi
js 0x100cd2ef
cmp esi, 9
ja 0x100cd2f9
vmovss xmm0, dword [esi*4 + 0x10151034]
jmp 0x100cd339
movzx eax, byte [esp + 0x60]
mov ah, byte [esp + 0x30]
jmp 0x100cd35e
vmovaps xmm0, xmmword [0x10151070]
vmovups xmmword [esp + 4], xmm0
lea eax, [esp + 0xf0]
mov dword [esp], eax
call fcn.100b07e0
mov eax, dword [esp + 0x20]
vmovss xmm3, dword [esp + eax*4 + 0xf0]
xor esi, esi
vmovss xmm0, dword [esi*4 + 0x10151034]
jmp 0x100cd339
vmovss xmm0, dword [0x10151080]
jmp 0x100cd339
neg esi
vcvtsi2ss xmm0, xmm1, esi
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 8], xmm0
mov dword [esp + 4], 0x40240000
mov dword [esp], 0
vmovss dword [esp + 0x80], xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
vmovss xmm3, dword [esp + 0x80]
fstp dword [esp + 0x78]
vmovss xmm0, dword [esp + 0x78]
mov edi, dword [ebp + 0x14]
mov esi, dword [esp + 0x24]
movzx eax, byte [esp + 0x60]
mov ch, byte [esp + 0x28]
vmovaps xmm2, xmmword [esp + 0x50]
mov ah, byte [esp + 0x30]
vcmpless xmm1, xmm0, xmm2
vblendvps xmm2, xmm0, xmm2, xmm1
or ah, ch
movzx edx, byte [esp + 0x18]
and dl, al
vmulss xmm2, xmm3, xmm2
cmp dword [esp + 0x20], 0
je 0x100cd37f
vbroadcastss xmm0, dword [0x10144e60]
vxorps xmm2, xmm2, xmm0
and dl, ah
mov eax, dword [ebp + 0x1c]
cmp edi, eax
mov ecx, eax
mov eax, dword [ebp + 0x18]
sbb eax, ebx
mov edi, dword [ebp + 0xc]
movzx eax, byte [esi + 0x1a48]
mov byte [esp + 0x18], dl
jge 0x100cd3ef
mov esi, dword [edi]
mov edi, dword [edi + 4]
cmp esi, ecx
mov ecx, edi
sbb ecx, ebx
jl 0x100cd3f9
mov cl, 1
vxorps xmm0, xmm0, xmm0
vucomiss xmm2, xmm0
jbe 0x100cd3f9
cmp byte [esp + 0x18], 0
je 0x100cd418
vucomiss xmm0, xmm2
mov esi, dword [esp + 0x24]
mov edi, dword [ebp + 0xc]
jbe 0x100cd3d8
vmovss xmm1, dword [esi + 0x2d80]
vucomiss xmm1, xmm0
ja 0x100cd457
vucomiss xmm2, xmm0
jbe 0x100cd3f1
vucomiss xmm0, dword [esi + 0x2d80]
seta dl
test al, al
je 0x100cd425
jmp 0x100cd457
xor ecx, ecx
xor edx, edx
test al, al
je 0x100cd425
jmp 0x100cd457
cmp dword [ebp + 0x14], esi
mov ecx, dword [ebp + 0x18]
sbb ecx, edi
setge dl
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm2
seta cl
and cl, dl
cmp byte [esp + 0x18], 0
jne 0x100cd3bd
xor edx, edx
mov esi, dword [esp + 0x24]
mov edi, dword [ebp + 0xc]
test al, al
jne 0x100cd457
test cl, cl
jne 0x100cd457
test dl, dl
jne 0x100cd457
vxorps xmm0, xmm0, xmm0
vucomiss xmm2, xmm0
jne 0x100cd439
jnp 0x100cd46d
vaddss xmm0, xmm2, dword [esi + 0x2d80]
vmovss dword [esi + 0x2d80], xmm0
mov byte [esi + 0x2d7c], 1
vmovss xmm0, dword [ebp + 0x28]
jmp 0x100cd47f
mov dword [esi + 0x2d80], 0
mov byte [esi + 0x2d7c], 0
jmp 0x100cd7c9
cmp byte [esi + 0x2d7c], 0
vmovss xmm0, dword [ebp + 0x28]
je 0x100cd7c9
vmovaps xmmword [esp + 0x60], xmm2
mov ecx, dword [edi]
mov eax, dword [edi + 4]
cmp byte [esp + 0x18], 0
je 0x100cd68c
vcvtss2sd xmm1, xmm0, xmm0
vmovsd qword [esp + 0x18], xmm1
vmovsd xmm0, qword [0x10147b70]
vdivsd xmm2, xmm0, xmm1
vmovsd qword [esp + 0x30], xmm2
mov edi, dword [ebp + 0x14]
sub ecx, edi
mov esi, dword [ebp + 0x18]
sbb eax, esi
mov edx, esi
vmovd xmm0, ecx
vpinsrd xmm0, xmm0, eax, 1
vmovq qword [esp + 0xd8], xmm0
fild qword [esp + 0xd8]
fstp qword [esp + 0xd0]
vmovsd xmm0, qword [esp + 0xd0]
mov esi, dword [ebp + 0x1c]
sub esi, edi
sbb ebx, edx
vmovd xmm1, esi
vpinsrd xmm1, xmm1, ebx, 1
vmovdqa xmmword [esp + 0x80], xmm1
vmovq qword [esp + 0xc8], xmm1
fild qword [esp + 0xc8]
fstp qword [esp + 0xc0]
vmovsd xmm1, qword [esp + 0xc0]
vmovsd qword [esp + 0x28], xmm1
vdivsd xmm0, xmm0, xmm1
vmovsd qword [esp + 8], xmm2
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
fstp qword [esp + 0xa0]
vmovsd xmm1, qword [esp + 0xa0]
vmovsd qword [esp + 0x50], xmm1
mov ecx, dword [esp + 0x24]
lea eax, [ecx + 0x2d80]
mov dword [esp + 0x20], eax
vmovss xmm0, dword [ecx + 0x2d80]
vmovaps xmm2, xmmword [esp + 0x80]
vmovlps qword [esp + 0xb8], xmm2
fild qword [esp + 0xb8]
fstp dword [esp + 0x70]
vdivss xmm0, xmm0, dword [esp + 0x70]
vcvtss2sd xmm0, xmm0, xmm0
vaddsd xmm0, xmm1, xmm0
vcvtsd2ss xmm0, xmm0, xmm0
vmovss xmm1, dword [0x10144ae0]
vminss xmm1, xmm1, xmm0
vxorps xmm2, xmm2, xmm2
vcmpltss xmm0, xmm0, xmm2
vandnps xmm0, xmm0, xmm1
vcvtss2sd xmm0, xmm0, xmm0
vmovsd xmm1, qword [esp + 0x18]
vmovsd qword [esp + 8], xmm1
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fisttp qword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov edx, esi
mulx edx, eax, ecx
imul ebx, ecx
add ebx, edx
imul esi, dword [esp + 0x44]
add ebx, esi
mov esi, dword [ebp + 0x18]
add eax, edi
adc ebx, esi
mov ecx, dword [ebp + 8]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 0x24]
mov dword [esp], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.100de300
mov ebx, edx
mov ecx, dword [esp + 0x24]
mov byte [ecx + 0x2d7c], 0
mov dword [esp + 0x18], eax
sub eax, edi
mov ecx, edx
sbb ecx, esi
vmovd xmm0, eax
vpinsrd xmm0, xmm0, ecx, 1
vmovq qword [esp + 0xb0], xmm0
fild qword [esp + 0xb0]
fstp qword [esp + 0xa8]
vmovsd xmm0, qword [esp + 0xa8]
vdivsd xmm0, xmm0, qword [esp + 0x28]
vmovsd xmm1, qword [esp + 0x30]
vmovsd qword [esp + 8], xmm1
vmovsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
fstp qword [esp + 0x98]
vmovsd xmm0, qword [esp + 0x98]
vsubsd xmm0, xmm0, qword [esp + 0x50]
vcvtsd2ss xmm0, xmm0, xmm0
mov ecx, dword [ebp + 0xc]
jmp 0x100cd715
vmovss xmm0, dword [esi + 0x2d80]
vmovss dword [esp + 0x48], xmm0
fld dword [esp + 0x48]
fisttp qword [esp + 0x48]
add ecx, dword [esp + 0x48]
lea edi, [esi + 0x2d80]
mov dword [esp + 0x20], edi
adc eax, dword [esp + 0x4c]
mov edi, esi
mov esi, dword [ebp + 8]
mov dword [esp + 4], esi
mov esi, dword [ebp + 0x24]
mov dword [esp], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.100de300
mov ecx, eax
mov ebx, edx
mov byte [edi + 0x2d7c], 0
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0xc]
sub eax, dword [edx]
mov ecx, ebx
sbb ecx, dword [edx + 4]
vmovd xmm0, eax
vpinsrd xmm0, xmm0, ecx, 1
vmovq qword [esp + 0xe0], xmm0
fild qword [esp + 0xe0]
fstp dword [esp + 0x74]
vmovss xmm0, dword [esp + 0x74]
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov ecx, edx
cmp edi, dword [ebp + 0x1c]
mov eax, esi
sbb eax, dword [ebp + 0x20]
mov eax, dword [esp + 0x20]
vmovss xmm1, dword [eax]
vsubss xmm0, xmm1, xmm0
vmovss dword [eax], xmm0
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
jge 0x100cd7bd
mov edx, ecx
mov esi, dword [esp + 0x18]
xor edx, esi
mov edi, eax
xor edi, ebx
or edi, edx
je 0x100cd7bd
mov edi, dword [ebp + 0x14]
cmp esi, edi
mov edx, ebx
mov esi, dword [ebp + 0x18]
sbb edx, esi
mov edx, esi
vmovaps xmm1, xmmword [esp + 0x60]
jl 0x100cd780
cmp dword [esp + 0x3c], 8
je 0x100cd786
cmp ecx, dword [esp + 0x18]
mov edx, eax
sbb edx, ebx
jge 0x100cd786
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, xmm1
mov edx, dword [ebp + 0x18]
mov esi, dword [esp + 0x18]
jbe 0x100cd78a
mov esi, edi
mov ebx, edx
jmp 0x100cd78a
mov esi, dword [esp + 0x18]
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x18], esi
cmp edi, esi
mov esi, dword [ebp + 0x20]
mov edx, esi
sbb edx, ebx
jl 0x100cd7b7
cmp dword [esp + 0x3c], 8
je 0x100cd7bd
cmp dword [esp + 0x18], ecx
mov edx, ebx
sbb edx, eax
jge 0x100cd7bd
vxorps xmm0, xmm0, xmm0
vucomiss xmm1, xmm0
jbe 0x100cd7bd
mov dword [esp + 0x18], edi
mov ebx, esi
mov edx, dword [esp + 0x18]
xor ecx, edx
xor eax, ebx
or eax, ecx
jne 0x100cd7e3
xor ebx, ebx
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.100e81f3
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov dword [eax + 4], ebx
mov bl, 1
jmp 0x100cd7cb