Function at 0x10292260
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 ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 8]
and eax, 0xfffffffe
mov dword [esp + 0x38], eax
cmp eax, 8
sete byte [esp + 0x30]
xor ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x1c]
mov edx, esi
xor edx, dword [ebp + 0x14]
mov eax, edx
or eax, ecx
movss xmm2, dword [ebp + 0x10]
movss xmm0, dword [0x103564b8]
setne byte [esp + 0x28]
ucomiss xmm0, dword [ebp + 0x28]
xorps xmm0, xmm0
setne byte [esp + 0x50]
ucomiss xmm0, xmm2
mov ebx, dword [ebp + 0x2c]
mov eax, dword [0x1042dd60]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jne 0x1029230d
mov eax, edx
mov edi, ecx
or eax, ecx
je 0x1029230f
mov eax, esi
sub eax, dword [ebp + 0x14]
movd xmm0, eax
mov eax, dword [ebp + 0x20]
sbb eax, dword [ebp + 0x18]
movd xmm1, eax
punpckldq xmm0, xmm1
movq qword [esp + 0xe8], xmm0
fild qword [esp + 0xe8]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x14]
movss xmm2, dword [eax + 0x2ce8]
mulss xmm2, dword [esp + 0x7c]
jmp 0x1029230f
mov edi, ecx
and ebx, 1
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1a18]
cmp eax, 1
movss dword [esp + 0x20], xmm2
jne 0x102923af
mov dword [esp], 0
call fcn.1023e490
test al, al
je 0x1029239f
mov eax, dword [esp + 0x14]
movss xmm0, dword [0x103564b8]
ucomiss xmm0, dword [eax + 0x444]
jae 0x1029239f
mov eax, dword [esp + 0x14]
movss xmm1, dword [eax + ebx*4 + 0x378]
cmp byte [eax + 0xfe], 0
je 0x1029236e
mulss xmm1, dword [0x10357354]
mov edx, edi
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x2c]
mov cl, byte [esp + 0x28]
movss xmm2, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xfd], 0
je 0x10292396
mulss xmm1, dword [0x10357330]
mov al, byte [esp + 0x30]
jmp 0x1029258f
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1a18]
movss xmm2, dword [esp + 0x20]
pxor xmm1, xmm1
cmp eax, 2
jne 0x102923f9
xor esi, esi
cmp dword [esp + 0x38], 8
jne 0x102924e5
mov ecx, dword [ebp + 0x24]
jmp 0x102923df
movzx eax, byte [ecx + 1]
mov edx, 2
cmp al, 0x25
jne 0x1029240f
add ecx, edx
movzx eax, byte [ecx]
cmp al, 0x25
je 0x102923d0
mov edx, 1
test al, al
jne 0x102923dd
mov esi, 3
jmp 0x102924e5
mov edx, edi
mov edi, dword [esp + 0x18]
mov al, byte [esp + 0x30]
mov ebx, dword [ebp + 0x2c]
mov cl, byte [esp + 0x28]
jmp 0x1029258f
mov edx, eax
add dl, 0xd0
cmp dl, 9
ja 0x10292431
nop dword [eax]
movzx eax, byte [ecx + 2]
add ecx, 1
mov edx, eax
add dl, 0xd0
cmp dl, 0xa
jb 0x10292420
mov esi, Ordinal_2
cmp al, 0x2e
jne 0x102924b6
mov dl, byte [ecx + 2]
xor eax, eax
mov byte [esp + 0x80], dl
cmp dl, 0x2d
sete al
lea esi, [ecx + eax]
add esi, 2
xor edx, edx
mov dword [esp + 0x60], eax
cmp byte [ecx + eax + 2], 0x2b
sete dl
mov al, byte [edx + esi]
mov ah, al
add ah, 0xd0
xor esi, esi
cmp ah, 9
ja 0x1029249c
add edx, dword [esp + 0x60]
add ecx, edx
add ecx, 3
xor esi, esi
nop word [eax + eax]
movzx eax, al
lea edx, [esi + esi*4]
lea esi, [eax + edx*2]
add esi, 0xffffffd0
movzx eax, byte [ecx]
mov edx, eax
add dl, 0xd0
add ecx, 1
cmp dl, 0xa
jb 0x10292480
mov ecx, esi
neg ecx
cmp byte [esp + 0x80], 0x2d
cmovne ecx, esi
cmp ecx, 0x64
mov esi, 3
cmovb esi, ecx
cmp al, 0x45
je 0x102924e0
cmp al, 0x65
je 0x102924e0
cmp al, 0x67
jne 0x102924cc
cmp esi, 0x7fffffff
jne 0x102924e5
jmp 0x102924e0
cmp al, 0x47
jne 0x102929ef
cmp esi, 0x7fffffff
jne 0x102929ef
mov esi, 0xffffffff
movaps xmm0, xmmword [0x10362590]
movups xmmword [esp + 4], xmm0
lea eax, [esp + 0xf4]
mov dword [esp], eax
call fcn.10253a20
movss xmm1, dword [esp + ebx*4 + 0xf4]
test esi, esi
js 0x10292526
cmp esi, 9
mov edx, edi
mov edi, dword [esp + 0x18]
mov ebx, dword [ebp + 0x2c]
jg 0x1029253d
movss xmm0, dword [esi*4 + 0x1036241c]
jmp 0x1029257a
movss xmm0, dword [0x103625a0]
mov edx, edi
mov edi, dword [esp + 0x18]
mov al, byte [esp + 0x30]
mov ebx, dword [ebp + 0x2c]
jmp 0x1029257e
neg esi
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x103625a8]
movsd qword [esp], xmm0
movaps xmmword [esp + 0x80], xmm1
mov esi, edx
call sub.api_ms_win_crt_math_l1_1_0.dll_exp2
mov edx, esi
movaps xmm1, xmmword [esp + 0x80]
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x78]
mov al, byte [esp + 0x30]
mov cl, byte [esp + 0x28]
movss xmm2, dword [esp + 0x20]
maxss xmm2, xmm0
mov esi, dword [ebp + 0x1c]
and al, cl
mulss xmm1, xmm2
test bl, 1
je 0x102925a1
xorps xmm1, xmmword [0x10357340]
mov ebx, dword [ebp + 0xc]
and byte [esp + 0x50], al
mov eax, edi
mov dword [esp + 0x6c], edx
or eax, edx
jne 0x102925b6
xor eax, eax
jmp 0x102925e6
mov eax, ebx
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
cmp edx, esi
mov eax, ecx
sbb eax, dword [ebp + 0x20]
jl 0x102925d0
mov al, 1
xorps xmm0, xmm0
ucomiss xmm1, xmm0
ja 0x102925e6
cmp dword [ebp + 0x14], edx
mov eax, dword [ebp + 0x18]
sbb eax, ecx
setge cl
xorps xmm0, xmm0
ucomiss xmm1, xmm0
setb al
and al, cl
mov ecx, dword [esp + 0x14]
mov cl, byte [ecx + 0x19fc]
cmp byte [esp + 0x50], 0
je 0x10292624
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jae 0x1029260c
mov edx, dword [esp + 0x14]
ucomiss xmm0, dword [edx + 0x2ce4]
jb 0x1029265c
ucomiss xmm1, xmm0
jbe 0x10292624
xorps xmm0, xmm0
mov edx, dword [esp + 0x14]
ucomiss xmm0, dword [edx + 0x2ce4]
seta dl
jmp 0x10292626
xor edx, edx
test cl, cl
setne cl
or cl, al
jne 0x1029265c
test dl, dl
jne 0x1029265c
xorps xmm0, xmm0
ucomiss xmm1, xmm0
je 0x10292678
mov eax, dword [esp + 0x14]
movss xmm0, dword [eax + 0x2ce4]
addss xmm0, xmm1
movss dword [eax + 0x2ce4], xmm0
mov byte [eax + 0x2ce0], 1
jmp 0x10292689
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2ce4], 0
mov byte [eax + 0x2ce0], 0
xor eax, eax
jmp 0x102929e3
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x2ce0], 0
je 0x102929eb
movaps xmmword [esp + 0x80], xmm1
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp byte [esp + 0x50], 0
je 0x102928b1
movss xmm0, dword [ebp + 0x28]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movsd qword [esp + 0x60], xmm1
movsd xmm2, qword [0x10358bb0]
movapd xmm0, xmm2
divsd xmm0, xmm1
movapd xmm3, xmm0
movsd qword [esp + 0x30], xmm0
mov edx, dword [ebp + 0x14]
sub ecx, edx
movd xmm0, ecx
mov ecx, dword [ebp + 0x18]
sbb eax, ecx
movd xmm1, eax
punpckldq xmm0, xmm1
movq qword [esp + 0xd8], xmm0
fild qword [esp + 0xd8]
fstp qword [esp + 0xd0]
sub esi, edx
movd xmm1, esi
mov edi, dword [ebp + 0x20]
sbb edi, ecx
movd xmm0, edi
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x50], xmm1
movq qword [esp + 0xc8], xmm1
fild qword [esp + 0xc8]
fstp qword [esp + 0xc0]
divsd xmm2, qword [esp + 0xc0]
movsd qword [esp + 0x28], xmm2
movsd xmm0, qword [esp + 0xd0]
mulsd xmm0, xmm2
movsd qword [esp + 8], xmm3
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
fstp qword [esp + 0x98]
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x20], xmm1
mov ebx, dword [esp + 0x14]
movss xmm0, dword [ebx + 0x2ce4]
movaps xmm2, xmmword [esp + 0x50]
movlps qword [esp + 0xb8], xmm2
fild qword [esp + 0xb8]
fstp dword [esp + 0x70]
divss xmm0, dword [esp + 0x70]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
minss xmm0, dword [0x103564b8]
lea eax, [ebx + 0x2ce4]
mov dword [esp + 0x50], eax
xorpd xmm1, xmm1
maxss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fnstcw word [esp + 0x1e]
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov word [esp + 0x3e], ax
fldcw word [esp + 0x3e]
fistp qword [esp + 0x40]
fldcw word [esp + 0x1e]
mov ecx, dword [esp + 0x40]
mov eax, esi
mul ecx
imul esi, dword [esp + 0x44]
add esi, edx
imul edi, ecx
add edi, esi
add eax, dword [ebp + 0x14]
adc edi, dword [ebp + 0x18]
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], edi
call fcn.102992d0
mov esi, eax
mov edi, edx
mov byte [ebx + 0x2ce0], 0
sub eax, dword [ebp + 0x14]
mov ecx, edx
sbb ecx, dword [ebp + 0x18]
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0xb0], xmm0
fild qword [esp + 0xb0]
fstp qword [esp + 0xa8]
movsd xmm0, qword [esp + 0x28]
mulsd xmm0, qword [esp + 0xa8]
movq xmm1, qword [esp + 0x30]
movq qword [esp + 8], xmm1
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
fstp qword [esp + 0xa0]
movsd xmm0, qword [esp + 0xa0]
subsd xmm0, qword [esp + 0x20]
cvtsd2ss xmm0, xmm0
mov ebx, dword [ebp + 0xc]
jmp 0x1029294b
mov edi, dword [esp + 0x14]
movss xmm0, dword [edi + 0x2ce4]
movss dword [esp + 0x48], xmm0
fld dword [esp + 0x48]
fnstcw word [esp + 0x1c]
movzx edx, word [esp + 0x1c]
or edx, 0xc00
mov word [esp + 0x3c], dx
fldcw word [esp + 0x3c]
fistp qword [esp + 0x48]
fldcw word [esp + 0x1c]
add ecx, dword [esp + 0x48]
lea edx, [edi + 0x2ce4]
mov dword [esp + 0x50], edx
adc eax, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0x24]
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.102992d0
mov esi, eax
mov byte [edi + 0x2ce0], 0
sub eax, dword [ebx]
mov edi, edx
mov ecx, edx
sbb ecx, dword [ebx + 4]
movd xmm0, eax
movd xmm1, ecx
punpckldq xmm0, xmm1
movq qword [esp + 0xe0], xmm0
fild qword [esp + 0xe0]
fstp dword [esp + 0x74]
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
movss xmm1, dword [eax]
subss xmm1, xmm0
movss dword [eax], xmm1
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edx, ecx
xor edx, edi
mov ebx, eax
xor ebx, esi
or ebx, edx
je 0x102929cc
mov edx, dword [esp + 0x18]
or edx, dword [esp + 0x6c]
je 0x102929cc
cmp esi, dword [ebp + 0x14]
mov edx, edi
sbb edx, dword [ebp + 0x18]
movaps xmm1, xmmword [esp + 0x80]
jl 0x1029299f
cmp eax, esi
mov edx, ecx
sbb edx, edi
jge 0x102929a5
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jae 0x102929a5
cmp dword [esp + 0x38], 8
je 0x102929a5
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
cmp dword [ebp + 0x1c], esi
mov edx, dword [ebp + 0x20]
sbb edx, edi
jl 0x102929c6
cmp esi, eax
mov edx, edi
sbb edx, ecx
jge 0x102929cc
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x102929cc
cmp dword [esp + 0x38], 8
je 0x102929cc
mov esi, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x20]
xor eax, esi
xor ecx, edi
mov edx, eax
or edx, ecx
je 0x102929de
mov edx, dword [ebp + 0xc]
mov dword [edx], esi
mov dword [edx + 4], edi
or eax, ecx
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp 0x102929e3
cmp esi, 0x7fffffff
mov eax, 3
cmove esi, eax
jmp 0x102924e5