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

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x64
push ebp
mov ebp, dword [esp + 0x74]
mov ecx, dword [ebp]
test eax, eax
je 0x10028d77
mov edx, dword [ebp + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], edx
test edx, edx
je 0x10028d77
movss xmm0, dword [ebp + 0x14]
ucomiss xmm0, dword [0x100f4e08]
movss dword [esp + 0x30], xmm0
lahf
test ah, 0x44
jnp 0x10028d77
push edi
test cl, 0x20
je 0x100289c5
mov edi, dword [ebp + 8]
jmp 0x100289d9
mov edi, edx
lea edx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x100289d0
sub edi, edx
mov dword [esp + 0x2c], edi
push ebx
test ecx, 0x20000
je 0x100289ed
mov ebx, 0x384
jmp 0x100289ff
mov ebx, ecx
and ebx, 0x8000
neg ebx
sbb ebx, ebx
and ebx, 0x2bc
mov eax, ecx
mov dword [esp + 0x3c], ebx
and eax, 0x10000
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], eax
mov eax, ecx
and eax, 0x10
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], eax
je 0x10028a2e
movss xmm0, dword [ebp + 0x18]
movss dword [esp + 0x4c], xmm0
jmp 0x10028a34
movss xmm0, dword [esp + 0x4c]
movss dword [esp + 0xc], xmm0
test cl, 1
je 0x10028a46
mov eax, 2
jmp 0x10028a4e
movzx eax, cl
shr eax, 1
and eax, 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x7c], eax
mov eax, ecx
and eax, 0x40
mov dword [esp + 0x24], eax
mov dword [esp + 0x58], eax
mov eax, ecx
and eax, 0x80
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], eax
test ecx, 0x40000
je 0x10028a92
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x10], edx
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x64], edx
jmp 0x10028aa4
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x74]
push esi
mov esi, dword [eax + 0x30]
test esi, esi
je 0x10028b14
push ecx
lea eax, [esp + 0x34]
push eax
push esi
call fcn.10027ee0
add esp, 0xc
test eax, eax
je 0x10028b10
mov ecx, dword [esp + 0x78]
mov eax, dword [esi + 0x40]
movss xmm1, dword [esp + 0x3c]
mov dword [ecx + 0x30], eax
movss xmm3, dword [esi + 0xc]
movss xmm2, dword [esi + 0x24]
ucomiss xmm3, xmm1
lahf
test ah, 0x44
mov eax, dword [esp + 0x84]
jp 0x10028c0a
mov ecx, dword [esp + 0x88]
movss dword [eax], xmm2
movss xmm1, dword [esi + 0x28]
movss dword [ecx], xmm1
mov eax, dword [esi + 0x3c]
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x64
ret
mov eax, dword [esp + 0x78]
mov esi, dword [eax + 0x2c]
test esi, esi
je 0x10028b3c
nop dword [eax + eax]
push dword [ebp]
lea eax, [esp + 0x34]
push eax
push esi
call fcn.10027ee0
add esp, 0xc
test eax, eax
jne 0x10028b89
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x10028b20
push 0x44
call fcn.100b8158
mov esi, eax
add esp, 4
test esi, esi
je 0x10028d60
push edi
mov dword [esi + 4], edi
call fcn.100b8158
mov ebp, eax
add esp, 4
mov dword [esi + 8], ebp
test ebp, ebp
jne 0x10028c39
push esi
call fcn.100b813d
mov eax, dword [esp + 0x90]
add esp, 4
pop esi
pop ebx
pop edi
mov dword [eax], 5
xor eax, eax
pop ebp
add esp, 0x64
ret
mov edx, dword [esp + 0x78]
mov ecx, dword [edx + 0x2c]
cmp ecx, esi
jne 0x10028b9e
mov eax, dword [esi + 0x40]
mov dword [edx + 0x2c], eax
mov eax, esi
jmp 0x10028bb4
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x10028bb2
cmp eax, esi
je 0x10028c00
mov ecx, eax
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x10028ba5
xor eax, eax
push eax
push dword [edx + 0x30]
push edx
call fcn.10028610
movss xmm3, dword [esi + 0xc]
add esp, 0xc
movss xmm1, dword [esp + 0x3c]
movss xmm2, dword [esi + 0x24]
ucomiss xmm3, xmm1
lahf
test ah, 0x44
mov eax, dword [esp + 0x84]
jp 0x10028c0a
mov ecx, dword [esp + 0x88]
movss dword [eax], xmm2
movss xmm1, dword [esi + 0x28]
movss dword [ecx], xmm1
mov eax, dword [esi + 0x3c]
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x64
ret
mov eax, dword [esi + 0x40]
mov dword [ecx + 0x40], eax
mov eax, esi
jmp 0x10028bb4
movaps xmm0, xmm1
mov ecx, dword [esp + 0x88]
divss xmm0, xmm3
mulss xmm0, xmm2
movss dword [eax], xmm0
divss xmm1, dword [esi + 0xc]
mulss xmm1, dword [esi + 0x28]
movss dword [ecx], xmm1
mov eax, dword [esi + 0x3c]
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x64
ret
push edi
push dword [esp + 0x20]
push ebp
call fcn.100aff00
mov ecx, ebp
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028c50
sub ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
add eax, eax
push eax
call fcn.100b8158
add esp, 4
mov edi, eax
push ebp
test edi, edi
je 0x10028d52
push 0x100f604c
push dword [esp + 0x24]
push edi
call fcn.10028ea0
mov eax, dword [esp + 0x8c]
push dword [esp + 0x9c]
movss xmm0, dword [esp + 0x50]
mov dword [esi], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x28]
push edi
movss dword [esi + 0xc], xmm0
movss xmm0, dword [esp + 0x28]
mov dword [esi + 0x10], ebx
mov ebx, dword [esp + 0x90]
mov dword [esi + 0x34], eax
mov eax, dword [esp + 0x30]
push esi
push ebx
movss dword [esi + 0x20], xmm0
mov dword [esi + 0x38], eax
call fcn.10027fb0
add esp, 0x20
test eax, eax
je 0x10028d31
inc dword [ebx + 0x34]
push edi
call fcn.100b813d
push esi
push dword [ebx + 0x30]
push ebx
call fcn.10028610
mov eax, dword [esp + 0x94]
add esp, 0x10
mov ecx, dword [esi + 0x24]
mov dword [eax], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esi + 0x28]
mov dword [eax], ecx
mov eax, dword [esi + 0x3c]
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x64
ret
push dword [esi + 8]
call fcn.100b813d
push esi
call fcn.100b813d
push edi
call fcn.100b813d
add esp, 0xc
xor eax, eax
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x64
ret
call fcn.100b813d
push esi
call fcn.100b813d
add esp, 8
mov eax, dword [esp + 0x8c]
pop esi
pop ebx
pop edi
mov dword [eax], 5
xor eax, eax
pop ebp
add esp, 0x64
ret
mov eax, dword [esp + 0x80]
pop ebp
mov dword [eax], 0xb
xor eax, eax
add esp, 0x64
ret