Function at 0x1002e330
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1011a7e0
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x108
cmp byte [0x1128ff3b], 0
push esi
push edi
je 0x1002eefd
mov eax, dword [0x1128fed4]
cmp dword [eax], 0
je 0x1002eefd
mov ecx, dword [0x11290b48]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1002eefd
mov eax, dword [0x1128fed4]
mov ecx, dword [eax]
call fcn.100b55c0
test al, al
je 0x1002eefd
mov ecx, dword [0x11290b48]
lea edx, [ebp - 0x4c]
push edx
lea edx, [ebp - 0x48]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
push 8
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov esi, dword [0x1128fecc]
mov ecx, esi
shr ax, 0xf
and al, 1
mov byte [0x11291220], al
mov eax, dword [0x1128fec8]
sub ecx, eax
mov dword [ebp - 0x18], eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1002eefd
cmp byte [0x1128ff4e], 0
je 0x1002e850
mov edx, dword [0x11290d04]
mov eax, edx
mov edi, dword [0x11290d00]
sub eax, edi
sar eax, 5
mov dword [ebp - 0x1c], edi
test eax, eax
je 0x1002e850
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], ecx
nop
sub edx, edi
sar edx, 5
cmp edx, esi
jbe 0x1002f011
movss xmm0, dword [ecx + edi + 0x1c]
ucomiss xmm0, dword [0x11064b7c]
lahf
test ah, 0x44
jp 0x1002e458
mov dword [ecx + edi + 0x1c], 0x3f800000
call fcn.10014bb0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x98]
mov esi, dword [0x112911ac]
add eax, 4
add eax, edi
push eax
mov dword [ebp - 0x24], eax
call fcn.100118c0
cmp dword [ebp - 0x84], 0x10
lea eax, [ebp - 0x98]
push 0
cmovae eax, dword [ebp - 0x98]
mov ecx, esi
push 0
push eax
sub esp, 0xc
mov dword [ebp - 4], 0
lea eax, [ebp - 0x5c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x7f7fffff
mov dword [esp], 0x41900000
push eax
call fcn.10077aa0
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x1002e500
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002e4f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e83b
push ecx
push edx
call fcn.10117be7
add esp, 8
call fcn.10014bb0
mov esi, eax
lea ecx, [ebp - 0xb8]
mov eax, dword [ebp - 0x18]
push dword [eax + edi]
push 0x19
push 0x19
push 0x19
call fcn.100b6ca0
movss xmm3, dword [ebp - 0x5c]
mulss xmm3, dword [0x10122b74]
push 0xf
movups xmm5, xmmword [eax]
mov eax, dword [ebp - 0x48]
movd xmm2, dword [ebp - 0x4c]
movaps xmm0, xmm3
cdq
sub eax, edx
movd xmm1, dword [ebp - 0x20]
sar eax, 1
cvtdq2ps xmm2, xmm2
push ecx
mov dword [esp], 0
movd xmm4, eax
mulss xmm2, dword [0x11064acc]
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm1, xmm1
addss xmm0, xmm4
subss xmm4, xmm3
addss xmm0, dword [0x11064b04]
subss xmm4, dword [0x11064b04]
movss dword [ebp - 0x44], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x11064b2c]
subss xmm2, dword [0x11064b14]
movss dword [ebp - 0x54], xmm4
subss xmm0, xmm1
subss xmm2, xmm1
movss dword [ebp - 0x40], xmm0
movaps xmm0, xmm5
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm5
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm5
shl ecx, 8
psrldq xmm0, 4
movzx eax, al
add ecx, eax
movss dword [ebp - 0x50], xmm2
movd eax, xmm0
shl ecx, 8
movzx eax, al
add ecx, eax
movd eax, xmm5
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x44]
push ecx
mov ecx, dword [esi + 8]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10077150
call fcn.10014bb0
mov ecx, dword [ebp - 0x18]
mov edi, eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [0x112911ac]
push dword [ecx + eax]
lea ecx, [ebp - 0xa8]
push 0xff
push 0xff
push 0xff
call fcn.100b6ca0
mov ecx, eax
mov eax, dword [ebp - 0x48]
cdq
sub eax, edx
movd xmm1, dword [ebp - 0x4c]
movd xmm0, dword [ebp - 0x20]
cvtdq2pd xmm1, xmm1
push 1
push esi
push 0
push 1
sar eax, 1
sub esp, 0x10
cvtdq2pd xmm0, xmm0
mulsd xmm1, qword [0x11064af0]
movd xmm2, eax
mov eax, esp
push ecx
cvtdq2ps xmm2, xmm2
subsd xmm1, xmm0
movss dword [ebp - 0x30], xmm2
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
movups xmm0, xmmword [ecx]
mov ecx, edi
movups xmmword [eax], xmm0
mov dword [esp], 0x41900000
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x24]
call fcn.100b2dc0
fstp st(0)
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 0xa
push edx
push eax
call fcn.10118540
or eax, edx
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
jne 0x1002e6c2
movss xmm0, dword [edi + esi + 0x1c]
subss xmm0, dword [0x11064aac]
movss dword [edi + esi + 0x1c], xmm0
movss xmm0, dword [edi + esi + 0x1c]
comiss xmm0, dword [0x10122b74]
jbe 0x1002e6ec
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 5
push edx
push eax
call fcn.10118540
or eax, edx
jne 0x1002e705
add dword [edi + esi], 5
jmp 0x1002e705
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
push 5
push edx
push eax
call fcn.10118540
or eax, edx
jne 0x1002e705
add dword [edi + esi], 0xfffffffb
mov eax, dword [edi + esi]
cmp eax, 0xff
jle 0x1002e74d
mov dword [edi + esi], 0xff
mov esi, dword [ebp - 0x14]
add dword [ebp - 0x20], 0x19
inc esi
mov edx, dword [0x11290d04]
add edi, 0x20
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], edi
mov edi, dword [0x11290d00]
mov eax, edx
sub eax, edi
mov dword [ebp - 0x1c], edi
sar eax, 5
cmp esi, eax
jae 0x1002e841
mov ecx, dword [ebp - 0x18]
jmp 0x1002e430
cmp eax, 1
jge 0x1002e75b
mov dword [edi + esi], 1
jmp 0x1002e760
cmp eax, 3
jge 0x1002e716
mov ecx, dword [0x11290d00]
mov esi, dword [0x11290d04]
add ecx, edi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], esi
lea eax, [ecx + 0x20]
mov dword [ebp - 0x24], eax
cmp eax, esi
je 0x1002e7e2
mov edx, dword [ebp - 0x1c]
lea edi, [ecx + 4]
lea esi, [ecx + 0x24]
mov eax, dword [eax]
mov dword [ecx], eax
cmp edi, esi
je 0x1002e7bd
mov ecx, edi
call fcn.1000b370
movups xmm0, xmmword [esi]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov eax, dword [esi + 0x18]
add ecx, 0x20
mov dword [edi + 0x18], eax
add esi, 0x20
mov eax, dword [ebp - 0x24]
add edi, 0x20
add eax, 0x20
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
cmp eax, edx
jne 0x1002e787
mov esi, dword [0x11290d04]
mov ecx, dword [esi - 8]
cmp ecx, 0x10
jb 0x1002e812
mov eax, dword [esi - 0x1c]
inc ecx
cmp ecx, 0x1000
jb 0x1002e808
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e83b
mov eax, edx
push ecx
push eax
call fcn.10117be7
add esp, 8
mov dword [esi - 0xc], 0
mov dword [esi - 8], 0xf
mov byte [esi - 0x1c], 0
mov edx, dword [0x11290d04]
mov esi, dword [ebp - 0x14]
sub edx, 0x20
mov dword [0x11290d04], edx
jmp 0x1002e72d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, dword [0x1128fec8]
mov esi, dword [0x1128fecc]
mov dword [ebp - 0x18], ecx
mov ecx, esi
mov eax, 0x38e38e39
sub ecx, dword [ebp - 0x18]
xor edi, edi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1002eefd
mov dword [ebp - 0x1c], edi
sub esi, dword [ebp - 0x18]
mov eax, 0x38e38e39
imul esi
mov dword [ebp - 0x34], 0x7f800000
sar edx, 3
mov eax, edx
mov dword [ebp - 0x38], 0x7f800000
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x3c], 0x7f800000
cmp eax, edi
jbe 0x1002f00c
mov ecx, dword [0x11290b48]
mov eax, dword [ecx]
mov eax, dword [eax + 0xd4]
call eax
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
add ecx, 0xc
add ecx, esi
push ecx
push eax
call fcn.1000fe70
add esp, 8
test al, al
je 0x1002eecb
mov eax, dword [0x11290d64]
mov ecx, dword [0x1128fecc]
sub ecx, dword [0x1128fec8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x14], eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x1002f00c
mov eax, dword [0x1128fec8]
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [0x11290d64]
add eax, esi
push eax
call dword [ebp - 0x14]
test eax, eax
jne 0x1002eecb
mov eax, dword [0x1128fed4]
lea ecx, [ebp - 0xb4]
push ecx
mov ecx, dword [eax]
call fcn.100b5160
mov ecx, dword [0x1128fecc]
sub ecx, dword [0x1128fec8]
mov dword [ebp - 0x14], eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x1002f00c
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x1128fec8]
movss xmm1, dword [ecx]
movss xmm2, dword [ecx + 4]
subss xmm2, dword [esi + eax + 4]
subss xmm1, dword [esi + eax]
movss xmm0, dword [ecx + 8]
subss xmm0, dword [esi + eax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x1002e9a6
sqrtsd xmm0, xmm0
jmp 0x1002e9ab
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm2, xmm2
movss xmm1, dword [0x11064b18]
cvtsd2ss xmm2, xmm0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x40], 0xff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x32
lea esi, [ebp - 0x50]
mov dword [ebp - 0x50], 0x41400000
mov dword [ebp - 0x18], 0x40a00000
movaps xmm0, xmm2
mulss xmm2, dword [0x10122b74]
divss xmm0, dword [0x11064b40]
subss xmm1, xmm0
movss xmm0, dword [0x11064b04]
comiss xmm0, xmm1
movss xmm0, dword [0x11064b44]
subss xmm0, xmm2
movss dword [ebp - 0x60], xmm1
cmovbe eax, ecx
lea ecx, [ebp - 0x14]
comiss xmm1, dword [0x11064b18]
cvttss2si edx, xmm0
cmovbe esi, eax
lea eax, [ebp - 0x20]
movss xmm0, dword [ebp - 0x38]
subss xmm0, dword [0x11064b08]
cmp edx, 0x32
mov dword [ebp - 0x20], edx
cmovge ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x40]
cmovle eax, ecx
lea edx, [ebp - 0x28]
mov ecx, dword [0x11290b48]
push edx
lea edx, [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cvttss2si eax, xmm0
push edx
movss xmm0, dword [ebp - 0x3c]
subss xmm0, dword [0x11064b08]
mov dword [ebp - 0x2c], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x40], eax
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x24]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x28]
cdq
sub eax, edx
sar ecx, 1
mov edx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x40]
sar edx, 1
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
cmp ecx, eax
jle 0x1002eabc
lea ecx, [eax + 0xc]
cmp ecx, dword [ebp - 0x20]
jle 0x1002eabc
mov eax, dword [ebp - 0x2c]
cmp edx, eax
jle 0x1002eabc
add eax, 0xc
cmp eax, edx
jle 0x1002eabc
mov al, 1
jmp 0x1002eabe
xor al, al
mov byte [0x11290c7d], al
call fcn.10014bb0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x2c], eax
push 0x32
push 0x32
push 0x32
call fcn.100b6ca0
cmp byte [0x11290c7d], 0
movss xmm1, dword [esi]
movaps xmm0, xmm1
mulss xmm0, dword [0x11064ae0]
movss dword [ebp - 0x40], xmm0
je 0x1002eb01
movaps xmm2, xmm0
jmp 0x1002eb04
movaps xmm2, xmm1
movups xmm1, xmmword [eax]
push 0x80
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x64], xmm0
movaps xmm0, xmm1
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm1
shl ecx, 8
psrldq xmm0, 4
movzx eax, al
add ecx, eax
movd eax, xmm0
shl ecx, 8
movzx eax, al
add ecx, eax
movd eax, xmm1
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x68]
push ecx
push ecx
mov ecx, dword [ebp - 0x2c]
movss dword [esp], xmm2
push eax
mov ecx, dword [ecx + 8]
call fcn.100753d0
call fcn.10014bb0
cmp byte [0x11290c7d], 0
movd xmm5, dword [ebp - 0x14]
movss xmm0, dword [0x11064b44]
movss xmm1, dword [0x11290274]
movss xmm2, dword [0x11290278]
movss xmm3, dword [0x1129027c]
cvtdq2ps xmm5, xmm5
mov dword [ebp - 0x2c], eax
divss xmm5, xmm0
je 0x1002ebcf
movss xmm4, dword [0x11064b3c]
lea ecx, [ebp - 0xd8]
mulss xmm1, xmm4
mulss xmm2, xmm4
mulss xmm3, xmm4
jmp 0x1002ebd5
lea ecx, [ebp - 0xe8]
mulss xmm5, xmm0
mov dword [ebp - 0x14], ecx
mulss xmm3, xmm0
cvttss2si eax, xmm5
mulss xmm2, xmm0
push eax
mov dword [ebp - 0x20], eax
cvttss2si eax, xmm3
mulss xmm1, xmm0
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm1
push eax
call fcn.100b6ca0
cmp byte [0x11290c7d], 0
je 0x1002ec14
movss xmm2, dword [ebp - 0x40]
jmp 0x1002ec18
movss xmm2, dword [esi]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x38]
movups xmm1, xmmword [eax]
push ecx
movss dword [ebp - 0x6c], xmm0
movaps xmm0, xmm1
mov dword [esp], 0x3f800000
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm1
shl ecx, 8
psrldq xmm0, 4
movzx eax, al
add ecx, eax
movd eax, xmm0
shl ecx, 8
push 0x80
movzx eax, al
add ecx, eax
movd eax, xmm1
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x70]
push ecx
push ecx
mov ecx, dword [ebp - 0x2c]
movss dword [esp], xmm2
push eax
mov ecx, dword [ecx + 8]
call fcn.10075340
call fcn.10014bb0
cmp byte [0x11290c7d], 0
movss xmm1, dword [0x11290274]
movss xmm0, dword [0x11064b44]
movss xmm2, dword [0x11290278]
movss xmm3, dword [0x1129027c]
mov dword [ebp - 0x2c], eax
je 0x1002ece2
movss xmm4, dword [0x11064b3c]
lea ecx, [ebp - 0xf8]
mulss xmm1, xmm4
mulss xmm2, xmm4
mulss xmm3, xmm4
jmp 0x1002ece8
lea ecx, [ebp - 0x108]
push dword [ebp - 0x20]
mulss xmm3, xmm0
mov dword [ebp - 0x14], ecx
mulss xmm2, xmm0
cvttss2si eax, xmm3
mulss xmm1, xmm0
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm1
push eax
call fcn.100b6ca0
movss xmm1, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
movaps xmm0, xmm1
addss xmm0, dword [esi]
push ecx
subss xmm1, dword [esi]
movups xmm2, xmmword [eax]
mov dword [esp], 0x3f800000
subss xmm0, dword [0x10122b78]
movss dword [ebp - 0x80], xmm1
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x74], xmm0
movss dword [ebp - 0x7c], xmm0
movaps xmm0, xmm2
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm2
shl ecx, 8
psrldq xmm0, 4
movzx eax, al
add ecx, eax
movd eax, xmm0
shl ecx, 8
movzx eax, al
add ecx, eax
movd eax, xmm2
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x80]
push eax
mov ecx, dword [ecx + 8]
call fcn.100763b0
call fcn.10014bb0
cmp byte [0x11290c7d], 0
movss xmm1, dword [0x11290274]
movss xmm0, dword [0x11064b44]
movss xmm2, dword [0x11290278]
movss xmm3, dword [0x1129027c]
mov dword [ebp - 0x2c], eax
je 0x1002edee
movss xmm4, dword [0x11064b3c]
lea ecx, [ebp - 0x118]
mulss xmm1, xmm4
mulss xmm2, xmm4
mulss xmm3, xmm4
jmp 0x1002edf4
lea ecx, [ebp - 0x90]
push dword [ebp - 0x20]
mulss xmm3, xmm0
mov dword [ebp - 0x14], ecx
mulss xmm2, xmm0
cvttss2si eax, xmm3
mulss xmm1, xmm0
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm1
push eax
call fcn.100b6ca0
movss xmm2, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
movaps xmm0, xmm2
addss xmm0, dword [esi]
push ecx
subss xmm2, dword [esi]
movups xmm3, xmmword [eax]
mov dword [esp], 0x3f800000
subss xmm0, dword [0x10122b78]
movss xmm1, dword [ebp - 0x3c]
movss dword [ebp - 0xa0], xmm1
movss dword [ebp - 0x5c], xmm1
movss dword [ebp - 0x58], xmm2
movss dword [ebp - 0x9c], xmm0
movaps xmm0, xmm3
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm3
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm3
shl ecx, 8
psrldq xmm0, 4
movzx eax, al
add ecx, eax
movd eax, xmm0
shl ecx, 8
movzx eax, al
add ecx, eax
movd eax, xmm3
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [ebp - 0xa0]
push ecx
mov ecx, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x5c]
push eax
mov ecx, dword [ecx + 8]
call fcn.100763b0
cmp byte [0x11290c7d], 0
je 0x1002eec8
cmp byte [0x11291220], 0
jne 0x1002ef10
mov esi, dword [ebp - 0x1c]
mov eax, dword [0x1128fec8]
add esi, 0x24
mov dword [ebp - 0x1c], esi
inc edi
mov esi, dword [0x1128fecc]
mov ecx, esi
sub ecx, eax
mov dword [ebp - 0x18], eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x1002e871
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [0x1128fec8]
lea ecx, [edi + edi*8]
mov esi, dword [0x1128fecc]
mov dword [ebp - 0x24], esi
lea ecx, [eax + ecx*4]
lea eax, [ecx + 0x24]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], eax
cmp eax, esi
je 0x1002efa5
mov edx, dword [ebp - 0x24]
lea edi, [ecx + 0xc]
lea esi, [ecx + 0x44]
nop word [eax + eax]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [esi - 0x1c]
mov dword [edi - 8], eax
mov eax, dword [esi - 0x18]
mov dword [edi - 4], eax
lea eax, [esi - 0x14]
cmp edi, eax
je 0x1002ef86
mov ecx, edi
call fcn.1000b370
movups xmm0, xmmword [esi - 0x14]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
movups xmmword [edi], xmm0
movq xmm0, qword [esi - 4]
movq qword [edi + 0x10], xmm0
mov dword [esi - 4], 0
mov dword [esi], 0xf
mov byte [esi - 0x14], 0
mov eax, dword [ebp - 0x14]
add ecx, 0x24
add eax, 0x24
mov dword [ebp - 0x28], ecx
add edi, 0x24
mov dword [ebp - 0x14], eax
add esi, 0x24
cmp eax, edx
jne 0x1002ef40
mov esi, dword [0x1128fecc]
mov ecx, dword [esi - 4]
cmp ecx, 0x10
jb 0x1002efd9
mov eax, dword [esi - 0x18]
inc ecx
cmp ecx, 0x1000
jb 0x1002efcf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e83b
mov eax, edx
push ecx
push eax
call fcn.10117be7
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword [esi - 8], 0
mov dword [esi - 4], 0xf
mov byte [esi - 0x18], 0
sub dword [0x1128fecc], 0x24
pop edi
mov byte [0x11291220], 0
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10017620
call fcn.10017620
int3