Function at 0x1002a3e0
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x184
mov eax, dword [0x1010230c]
push ebx
push esi
push edi
cmp dword [eax], 0
mov dword [esp + 0x24], ecx
je 0x1002b021
mov esi, dword [0x100ffc08]
mov ecx, esi
mov edi, dword [eax]
push 0xf412939a
call fcn.100246c0
movd xmm1, dword [0x10105bd8]
movzx ecx, ax
mov eax, dword [0x100ffbfc]
cvtdq2ps xmm1, xmm1
mov eax, dword [eax + 0x10]
movss xmm0, dword [ecx + edi]
mulss xmm1, dword [eax + 0x20]
comiss xmm0, xmm1
ja 0x1002b021
push 0x66dc9d6d
mov ecx, esi
call fcn.100246c0
movzx eax, ax
cmp byte [eax + edi], 0
jne 0x1002b021
push 0x76649c6f
mov ecx, esi
call fcn.100246c0
movzx eax, ax
cmp byte [eax + edi], 0
jne 0x1002b021
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x42c]
call eax
mov ebx, eax
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x1002b021
mov esi, dword [0x100ffc08]
mov ecx, esi
push 0xb22c092c
call fcn.100246c0
movzx ecx, ax
cmp dword [ecx + ebx], 0
je 0x1002b021
push 0x96ed4d1e
mov ecx, esi
call fcn.100246c0
mov edi, dword [0x1010230c]
movzx ecx, ax
mov eax, dword [edi]
cmp dword [ecx + eax], 0
jle 0x1002a4f4
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x730]
call eax
test eax, eax
je 0x1002b021
mov al, byte [eax + 0xec]
test al, al
je 0x1002b021
mov edi, dword [0x1010230c]
mov esi, dword [0x100ffc08]
push 0x19cdc55d
mov ecx, esi
call fcn.100246c0
movzx eax, ax
mov cx, word [eax + ebx]
call fcn.10029a00
mov dword [esp + 0x28], eax
test eax, eax
je 0x1002b021
mov edx, dword [0x100ffbf8]
lea ecx, [eax + eax*4]
mov dword [esp + 0x20], edx
cmp byte [edx + ecx*8], 0
jne 0x1002a54b
push 0x19cdc55d
mov ecx, esi
call fcn.100246c0
movzx eax, ax
mov cx, word [eax + ebx]
call fcn.10029bc0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x28], eax
xor ecx, ecx
lea eax, [eax + eax*4]
cmp byte [edx + eax*8], cl
cmovne ecx, dword [esp + 0x28]
lea ebx, [ecx + ecx*4]
cmp byte [edx + ebx*8 + 0x25], 0
jne 0x1002a59f
push 0xb439d47
mov ecx, esi
call fcn.100246c0
movd xmm1, dword [0x10105bd8]
movzx ecx, ax
mov eax, dword [0x100ffbfc]
cvtdq2ps xmm1, xmm1
mov eax, dword [eax + 0x10]
mulss xmm1, dword [eax + 0x20]
mov eax, dword [esp + 0x30]
movss xmm0, dword [ecx + eax]
comiss xmm0, xmm1
ja 0x1002b021
mov edx, dword [esp + 0x20]
cmp byte [edx + ebx*8 + 6], 0
jne 0x1002a5ce
push 0x346c4efc
mov ecx, esi
call fcn.100246c0
movss xmm0, dword [0x100f6328]
movzx ecx, ax
mov eax, dword [edi]
comiss xmm0, dword [ecx + eax - 8]
jb 0x1002b021
mov edx, dword [esp + 0x20]
cmp byte [edx + 0x640], 0
je 0x1002a623
cmp dword [edx + 0x648], 0
push dword [edx + 0x644]
jne 0x1002a5f1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jmp 0x1002a613
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1002a60c
cmp byte [0x100ff9b0], 0
sete al
mov byte [0x100ff9b0], al
jmp 0x1002a611
mov al, byte [0x100ff9b0]
test al, al
je 0x1002b021
mov edx, dword [0x100ffbf8]
mov dword [esp + 0x20], edx
cmp byte [edx + ebx*8], 0
je 0x1002b021
mov edi, dword [esp + 0x24]
test byte [edi + 0x30], 1
jne 0x1002a649
cmp byte [edx + ebx*8 + 8], 0
jne 0x1002a649
cmp byte [edx + ebx*8 + 1], 0
je 0x1002b021
mov esi, dword [esp + 0x30]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x788]
mov dword [esp + 0x2c], eax
call dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
fstp dword [esp + 0x2c]
movss xmm0, dword [eax + ebx*8 + 0x18]
comiss xmm0, dword [esp + 0x2c]
jb 0x1002b021
mov eax, dword [0x100ffbf8]
cmp byte [eax + ebx*8 + 5], 0
je 0x1002a6b9
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x718]
call eax
cmp eax, 5
jne 0x1002a6b9
mov ecx, dword [0x100ffc08]
push 0x747d37fc
call fcn.100246c0
movzx ecx, ax
mov eax, dword [0x1010230c]
mov eax, dword [eax]
cmp byte [ecx + eax], 0
je 0x1002b021
mov eax, dword [0x100ffbf8]
lea edx, [esp + 0x78]
push edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
movss xmm0, dword [eax + ebx*8 + 0xc]
mov eax, dword [0x1010230c]
movss dword [esp + 0x24], xmm0
mov dword [esp + 0x50], 0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x470]
call eax
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x74], eax
mov eax, dword [esi]
movq qword [esp + 0xb8], xmm0
movq qword [esp + 0x6c], xmm0
mov eax, dword [eax + 0x730]
call eax
test eax, eax
je 0x1002a76b
movss xmm0, dword [0x100f6318]
comiss xmm0, dword [eax + 0x19c]
jbe 0x1002a76b
movss xmm0, dword [eax + 0x1b4]
comiss xmm0, dword [eax + 0xdc]
jbe 0x1002a76b
mov eax, dword [0x1010230c]
lea edx, [esp + 0x78]
push edx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x564]
call eax
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
jmp 0x1002a776
xorps xmm0, xmm0
mov dword [esp + 0x58], 0
lea eax, [esp + 0x50]
movq qword [esp + 0x50], xmm0
movq xmm0, qword [eax]
mov esi, 1
mov eax, dword [eax + 8]
mov dword [esp + 0x64], eax
mov eax, dword [0x100ffc00]
movq qword [esp + 0x5c], xmm0
mov dword [esp + 0x2c], esi
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp eax, esi
jl 0x1002b021
mov eax, dword [0x100ffc00]
push esi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x1002ac1b
mov ecx, dword [0x1010230c]
cmp esi, dword [ecx]
je 0x1002ac1b
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1002ac1b
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x26c]
call eax
test al, al
je 0x1002ac1b
mov eax, dword [0x1010230c]
mov ecx, dword [eax]
mov eax, dword [0x100ffbfc]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x38]
call eax
test al, al
jne 0x1002a828
mov eax, dword [0x100ffbf8]
cmp byte [eax + ebx*8 + 3], 0
je 0x1002ac1b
mov ecx, dword [0x100ffc08]
push 0xe7cc7916
call fcn.100246c0
movzx eax, ax
cmp byte [eax + esi], 0
jne 0x1002ac1b
movaps xmm0, xmmword [0x100f64b0]
lea eax, [esp + 0xa0]
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb0], 6
mov dword [esp + 0xb4], 5
mov edx, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x68], edx
movups xmmword [esp + 0xa0], xmm0
cmp eax, ecx
je 0x1002ac1b
nop word [eax + eax]
mov eax, dword [0x100ffbf8]
mov ecx, dword [eax + ebx*8 + 0x14]
cmp ecx, 1
jle 0x1002a8a7
mov eax, 0xa
sub eax, ecx
jmp 0x1002a8a9
mov eax, dword [edx]
push eax
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
call fcn.10029dc0
movss xmm0, dword [esp + 0x38]
lea ecx, [esp + 0x94]
subss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x3c]
subss xmm0, dword [esp + 0x70]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x40]
subss xmm0, dword [esp + 0x74]
xorps xmm0, xmmword [0x100f6c00]
movss dword [esp + 0x28], xmm0
fld dword [esp + 0x28]
fld dword [esp + 0x34]
fst dword [esp + 0x34]
fld dword [esp + 0x18]
movss xmm1, dword [esp + 0x34]
fst dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fxch st(1)
fxch st(3)
movss xmm0, dword [esp + 0x5c]
fxch st(1)
fpatan
addss xmm0, dword [edi + 0xc]
fstp dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fpatan
mulss xmm1, dword [0x100f631c]
fstp dword [esp + 0x18]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x60]
addss xmm0, dword [edi + 0x10]
movss dword [esp + 0x94], xmm1
movss xmm1, dword [esp + 0x18]
mulss xmm1, dword [0x100f631c]
subss xmm1, xmm0
movss xmm0, dword [esp + 0x64]
addss xmm0, dword [edi + 0x14]
movss dword [esp + 0x98], xmm1
xorps xmm0, xmmword [0x100f6c00]
movss dword [esp + 0x9c], xmm0
call fcn.10029c50
movq xmm0, qword [eax]
movq qword [esp + 0x50], xmm0
fld dword [esp + 0x50]
fstp dword [esp + 0x18]
movss xmm1, dword [esp + 0x18]
fld dword [esp + 0x54]
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, xmm0
mov eax, dword [eax + 8]
mulss xmm1, xmm1
mov dword [esp + 0x58], eax
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fstp dword [esp + 0x28]
movss xmm0, dword [esp + 0x28]
comiss xmm0, dword [esp + 0x20]
ja 0x1002abf9
mov eax, dword [0x100ffbf8]
cmp byte [eax + ebx*8 + 7], 0
jne 0x1002aa66
mov eax, dword [0x100ffbfc]
movq xmm0, qword [esp + 0x38]
push 1
sub esp, 0xc
mov edx, dword [eax + 0x30]
mov ecx, esp
mov eax, dword [esp + 0x50]
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [esp + 0xd4]
mov dword [ecx + 8], eax
mov eax, esp
mov ecx, dword [esp + 0x2c]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
call edx
add esp, 0x1c
test al, al
jne 0x1002abf9
mov eax, dword [0x1010230c]
cmp dword [eax], 0
je 0x1002ab70
mov ecx, dword [0x100ffc00]
lea edx, [esp + 0xd0]
push edx
mov edi, dword [ecx + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x90], 0x100ec6b4
mov dword [esp + 0x94], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x470]
call eax
xorps xmm1, xmm1
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0x38]
ucomiss xmm0, xmm1
mov dword [esp + 0x80], eax
lahf
test ah, 0x44
jp 0x1002aafc
movss xmm0, dword [esp + 0x3c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002aafc
movss xmm0, dword [esp + 0x40]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002aafc
push 8
lea eax, [esp + 0xe8]
mov ecx, esi
push eax
call fcn.10029dc0
jmp 0x1002ab1d
mov eax, dword [esp + 0x40]
movq xmm0, qword [esp + 0x38]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xc4]
movq qword [esp + 0xc4], xmm0
push eax
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x150]
call fcn.10029d10
mov eax, dword [edi]
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x90]
push ecx
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x150]
push 0x46004009
push ecx
mov ecx, edi
call eax
cmp dword [esp + 0x13c], esi
je 0x1002abc2
movss xmm0, dword [esp + 0x11c]
comiss xmm0, dword [0x100f624c]
ja 0x1002abc2
mov eax, dword [0x100ffbf8]
cmp byte [eax + ebx*8 + 4], 0
jne 0x1002abf9
cmp byte [eax + ebx*8 + 0x24], 0
mov cl, byte [eax + ebx*8 + 3]
mov dword [esp + 0x18], ecx
je 0x1002ab9b
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x1e4]
call eax
mov edi, eax
jmp 0x1002ab9f
mov edi, dword [eax + ebx*8 + 0x20]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax + 0x730]
call eax
push dword [esp + 0x18]
lea edx, [esp + 0x3c]
mov ecx, esi
push edi
push eax
call fcn.10029e40
test al, al
je 0x1002abf9
movss xmm0, dword [esp + 0x28]
movss xmm1, dword [esp + 0x20]
comiss xmm1, xmm0
jbe 0x1002abed
mov eax, dword [esp + 0x40]
movss dword [esp + 0x20], xmm0
movq xmm0, qword [esp + 0x38]
movq qword [esp + 0x44], xmm0
mov dword [esp + 0x4c], eax
mov eax, dword [0x100ffbf8]
cmp dword [eax + ebx*8 + 0x14], 0
jne 0x1002ac17
mov edx, dword [esp + 0x68]
lea eax, [esp + 0xb8]
mov edi, dword [esp + 0x24]
add edx, 4
mov dword [esp + 0x68], edx
cmp edx, eax
jne 0x1002a890
mov edi, dword [esp + 0x24]
mov eax, dword [0x100ffc00]
mov esi, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x2c], esi
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp esi, eax
jle 0x1002a7b1
movss xmm4, dword [esp + 0x44]
xorps xmm1, xmm1
movss xmm2, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x48]
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jp 0x1002ac6f
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jp 0x1002ac6f
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1002b021
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1010160c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101051b4]
cmp eax, dword [ecx + 4]
jle 0x1002acd8
push 0x101051b4
call fcn.1009aac1
add esp, 4
cmp dword [0x101051b4], 0xffffffff
jne 0x1002acc3
movq xmm0, qword [edi + 0xc]
movq qword [0x101051b8], xmm0
mov eax, dword [edi + 0x14]
push 0x101051b4
mov dword [0x101051c0], eax
call fcn.1009aa77
add esp, 4
movss xmm4, dword [esp + 0x44]
xorps xmm1, xmm1
movss xmm3, dword [esp + 0x48]
movss xmm2, dword [esp + 0x4c]
mov eax, dword [edi + 4]
dec eax
cmp dword [0x10102310], eax
jne 0x1002ad38
movss xmm0, dword [0x101051b8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ad17
movss xmm0, dword [0x101051bc]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ad17
movss xmm0, dword [0x101051c0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1002ad38
mov eax, dword [0x100ffbf8]
cmp byte [eax + ebx*8 + 2], 0
je 0x1002ad38
movq xmm0, qword [0x101051b8]
movq qword [edi + 0xc], xmm0
mov eax, dword [0x101051c0]
mov dword [edi + 0x14], eax
subss xmm2, dword [esp + 0x74]
subss xmm4, dword [esp + 0x6c]
subss xmm3, dword [esp + 0x70]
lea esi, [edi + 0xc]
lea ecx, [esp + 0x50]
xorps xmm2, xmmword [0x100f6c00]
movss dword [esp + 0x10], xmm2
fld dword [esp + 0x10]
movss dword [esp + 0x18], xmm4
fld dword [esp + 0x18]
fst dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
movss dword [esp + 0x34], xmm3
fld dword [esp + 0x34]
fst dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [esp + 0x5c]
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fxch st(1)
fxch st(3)
fxch st(1)
fpatan
addss xmm1, dword [esi]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
fpatan
mulss xmm0, dword [0x100f631c]
fstp dword [esp + 0x10]
subss xmm0, xmm1
movss xmm1, dword [esp + 0x10]
mulss xmm1, dword [0x100f631c]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 4]
addss xmm0, dword [esp + 0x60]
subss xmm1, xmm0
movss xmm0, dword [esi + 8]
addss xmm0, dword [esp + 0x64]
movss dword [esp + 0x54], xmm1
xorps xmm0, xmmword [0x100f6c00]
movss dword [esp + 0x58], xmm0
call fcn.10029c50
movss xmm1, dword [0x100f6bd0]
mov byte [esp + 0x17], 0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x5c], xmm0
movss xmm3, dword [esp + 0x5c]
movss xmm2, dword [esp + 0x60]
movaps xmm0, xmm3
mov dword [esp + 0x64], eax
andps xmm0, xmm1
mov eax, dword [0x100ffbf8]
movss xmm4, dword [eax + 0x2928]
comiss xmm0, xmm4
ja 0x1002ae68
movaps xmm0, xmm2
andps xmm0, xmm1
comiss xmm0, xmm4
jbe 0x1002ae9c
comiss xmm3, xmm4
movaps xmm1, xmm4
xorps xmm1, xmmword [0x100f6c00]
jbe 0x1002ae7c
movaps xmm3, xmm4
jmp 0x1002ae86
movaps xmm0, xmm1
maxss xmm0, xmm3
movaps xmm3, xmm0
comiss xmm2, xmm4
jbe 0x1002ae90
movaps xmm2, xmm4
jmp 0x1002ae97
maxss xmm1, xmm2
movaps xmm2, xmm1
mov byte [esp + 0x17], 1
movss xmm1, dword [0x100f6254]
divss xmm1, dword [eax + ebx*8 + 0x10]
movss xmm0, dword [esp + 0x64]
mulss xmm3, xmm1
mulss xmm2, xmm1
addss xmm3, dword [esi]
mulss xmm0, xmm1
addss xmm2, dword [esi + 4]
addss xmm0, dword [esi + 8]
movss dword [esi], xmm3
movss dword [esi + 4], xmm2
movss dword [esi + 8], xmm0
mov eax, dword [0x100ffbf8]
cmp byte [eax + ebx*8 + 2], 0
jne 0x1002aef4
mov eax, dword [0x100ffc00]
push esi
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
mov eax, dword [0x100ffbf8]
cmp byte [eax + ebx*8 + 9], 0
je 0x1002af73
mov ecx, dword [0x100ffc08]
push 0xb439d47
call fcn.100246c0
movd xmm0, dword [0x10105bd8]
mov edi, dword [esp + 0x30]
movzx ecx, ax
mov eax, dword [0x100ffbfc]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
comiss xmm0, dword [ecx + edi]
jb 0x1002af77
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x718]
call eax
cmp eax, 5
jne 0x1002af77
mov ecx, dword [0x100ffc08]
push 0x747d37fc
call fcn.100246c0
movzx ecx, ax
mov eax, dword [0x1010230c]
mov eax, dword [eax]
cmp byte [ecx + eax], 0
jne 0x1002af77
mov ecx, dword [esp + 0x24]
or dword [ecx + 0x30], 0x800
jmp 0x1002af77
mov edi, dword [esp + 0x30]
mov eax, dword [0x100ffbf8]
mov dword [esp + 0x18], eax
cmp byte [eax + ebx*8 + 8], 0
je 0x1002aff1
mov ecx, dword [0x100ffc08]
push 0xb439d47
call fcn.100246c0
movd xmm0, dword [0x10105bd8]
movzx ecx, ax
mov eax, dword [0x100ffbfc]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
comiss xmm0, dword [ecx + edi]
jb 0x1002aff1
mov al, byte [esp + 0x17]
test al, al
jne 0x1002aff9
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x788]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
fstp dword [esp + 0x10]
movss xmm0, dword [eax + ebx*8 + 0x1c]
comiss xmm0, dword [esp + 0x10]
jb 0x1002b02c
or dword [ecx + 0x30], 1
jmp 0x1002b02c
mov al, byte [esp + 0x17]
test al, al
je 0x1002b028
mov ecx, dword [esp + 0x24]
and dword [ecx + 0x30], 0xfffffffe
test al, al
je 0x1002b02c
movq xmm0, qword [esi]
movq qword [0x101051b8], xmm0
mov eax, dword [esi + 8]
mov dword [0x101051c0], eax
mov eax, dword [ecx + 4]
mov dword [0x10102310], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
mov eax, dword [0x100ffbf8]
movss xmm0, dword [eax + ebx*8 + 0x10]
comiss xmm0, dword [0x100f6254]
ja 0x1002b005
pop edi
xorps xmm0, xmm0
mov dword [0x101051c0], 0
movq qword [0x101051b8], xmm0
mov eax, dword [ecx + 4]
pop esi
mov dword [0x10102310], eax
pop ebx
mov esp, ebp
pop ebp
ret