Function at 0x10063510
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ad639
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x100df00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x74], eax
mov ecx, dword [eax + 4]
add ecx, dword [eax + 0xc]
mov ebx, dword [eax]
mov eax, dword fs:[0x2c]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], ecx
mov ecx, dword [0x100e1a08]
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x39], 0
mov dword [ebp - 0x40], ebx
mov esi, dword [eax + ecx*4]
mov eax, dword [0x100e773c]
mov dword [ebp - 0x38], esi
cmp eax, dword [esi + 4]
jle 0x100635a1
push 0x100e773c
call fcn.100a68e6
add esp, 4
cmp dword [0x100e773c], 0xffffffff
jne 0x100635a1
mov eax, dword [edi]
push 0x100e773c
mov dword [0x100e775c], eax
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e7314]
cmp eax, dword [esi + 4]
jle 0x100635f2
push 0x100e7314
call fcn.100a68e6
add esp, 4
cmp dword [0x100e7314], 0xffffffff
jne 0x100635f2
mov dword [ebp - 4], 0
mov ecx, dword [0x100e4750]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
push 0x100e7314
fstp dword [0x100e7744]
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov ecx, dword [0x100e4750]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
fsub dword [0x100e7744]
mov eax, dword [0x100e7318]
fstp dword [ebp - 0x20]
cmp eax, dword [esi + 4]
jle 0x10063642
push 0x100e7318
call fcn.100a68e6
add esp, 4
cmp dword [0x100e7318], 0xffffffff
jne 0x10063642
mov eax, dword [0x100e4e60]
push 0x100e7318
mov dword [0x100e7764], eax
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e72d4]
cmp eax, dword [esi + 4]
jle 0x1006368c
push 0x100e72d4
call fcn.100a68e6
add esp, 4
cmp dword [0x100e72d4], 0xffffffff
jne 0x1006368c
mov eax, dword [0x100e4e60]
test eax, eax
jne 0x10063678
mov eax, dword [0x100e7764]
test eax, eax
cmove eax, edi
mov eax, dword [eax]
push 0x100e72d4
mov dword [0x100e72d8], eax
call fcn.100a689c
add esp, 4
mov edx, dword [0x100e4e60]
cmp edx, dword [0x100e7764]
je 0x100636b9
mov ecx, dword [0x100e4750]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [0x100e4e60]
fstp dword [0x100e7744]
mov dword [0x100e7764], edx
mov ecx, dword [ebp + 0xc]
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100636c0
sub ecx, esi
mov eax, 0
sar ecx, 1
setne al
lea esi, [eax*4 + 4]
mov eax, dword [0x100e7730]
add esi, dword [ebp - 0x30]
mov dword [ebp - 0x44], esi
cmp eax, ebx
jle 0x100637ca
lea ecx, [ebx + 0x46]
cmp eax, ecx
jge 0x100637ca
mov eax, dword [0x100e7734]
cmp eax, esi
jle 0x100637ca
lea ecx, [esi + 0x10]
cmp eax, ecx
jge 0x100637ca
test edx, edx
jne 0x100637a4
movss xmm0, dword [ebp - 0x20]
comiss xmm0, dword [0x100d3a2c]
jbe 0x100637a4
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, dword [0x100e5404]
jne 0x100637a4
cmp dword [0x100e7334], 1
jne 0x100637a4
cmp dword [0x100df7a0], 0
jle 0x1006375e
mov ecx, dword [0x100e4754]
push dword [0x100df894]
mov eax, dword [ecx]
call dword [eax + 0x138]
mov dword [0x100e4e60], edi
call fcn.10060ad0
mov bl, byte [edi + 3]
mov dl, byte [edi + 2]
mov cl, byte [edi + 1]
movzx eax, bl
mov byte [ebp - 0x39], 1
movd xmm0, eax
mov al, byte [edi]
cvtdq2ps xmm0, xmm0
mov byte [0x100e72db], bl
mov ebx, dword [ebp - 0x40]
mov byte [0x100e72d8], al
mov byte [0x100e72d9], cl
mov byte [0x100e72da], dl
movss dword [0x100e72f0], xmm0
mov ecx, dword [0x100e4754]
push dword [0x100dfa88]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea edx, [esi + 0x10]
push edx
lea edx, [ebx + 0x46]
push edx
mov eax, dword [ecx]
push esi
push ebx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [0x100dfa64]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea edx, [esi + 0x10]
push edx
lea edi, [ebx + 0x46]
mov dword [ebp - 0x28], edx
push edi
mov eax, dword [ecx]
push esi
push ebx
call dword [eax + 0x38]
push 0x100ce794
push 0x18
push 0x100dfab8
add esi, 8
mov dword [ebp - 0x30], 4
push esi
lea eax, [ebx + 0x23]
push eax
lea eax, [ebp - 0x30]
push eax
push 0x100df94c
call fcn.1007a5e0
push dword [ebp + 0xc]
lea eax, [edi + 0x27]
mov dword [ebp - 0x30], 4
push 0x10
push 0x100dfab8
push esi
push eax
lea eax, [ebp - 0x30]
push eax
push 0x100df94c
call fcn.1007a5e0
mov eax, dword [ebp - 0x44]
add esp, 0x38
add eax, 0xe
mov dword [ebp - 0x24], 0xffffffff
mov esi, dword [ebp - 0x24]
xor ebx, ebx
mov dword [ebp - 0x1c], 0xffb4b4b4
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
nop dword [eax]
mov ecx, dword [0x100e4754]
push esi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov ecx, dword [0x100e4754]
add edx, 0x51
add ebx, edx
lea edx, [esi + 6]
push edx
mov eax, dword [ecx]
lea edx, [esi + 2]
mov esi, dword [ebp - 0x20]
push ebx
push edx
mov edx, dword [ebp - 0x40]
add edx, 0x4d
add edx, esi
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
mov edi, dword [ebp - 0x1c]
push edi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov edi, dword [ebp - 0x44]
mov ecx, dword [0x100e4754]
lea edx, [edi + 0xa]
mov eax, dword [ecx]
push edx
push ebx
lea edx, [edi + 6]
push edx
lea edx, [esi + 0x4d]
add edx, dword [ebp - 0x40]
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x28]
push dword [ebp - 0x2c]
mov ecx, dword [0x100e4754]
mov edx, edi
add edx, 0xa
push ebx
push edx
mov edx, dword [ebp - 0x40]
mov ebx, esi
mov eax, dword [ecx]
add edx, 0x4d
add edx, ebx
push edx
call dword [eax + 0x30]
mov esi, dword [ebp - 0x24]
add ebx, 8
mov dword [ebp - 0x20], ebx
cmp ebx, 0x10
jle 0x10063870
mov dword [ebp - 0x24], 0xffb4b4b4
xor ebx, ebx
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x14], 0xffb4b4b4
mov dword [ebp - 0x20], ebx
mov ecx, dword [0x100e4754]
push esi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov ecx, dword [0x100e4754]
add edx, 0x55
add ebx, edx
lea edx, [esi + 6]
push edx
mov eax, dword [ecx]
lea edx, [esi + 2]
mov esi, dword [ebp - 0x20]
push ebx
push edx
mov edx, dword [ebp - 0x40]
add edx, 0x51
add edx, esi
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
mov edi, dword [ebp - 0x1c]
push edi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov edi, dword [ebp - 0x44]
mov ecx, dword [0x100e4754]
lea edx, [edi + 0xa]
mov eax, dword [ecx]
push edx
push ebx
lea edx, [edi + 6]
push edx
lea edx, [esi + 0x51]
add edx, dword [ebp - 0x40]
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x28]
push dword [ebp - 0x2c]
mov ecx, dword [0x100e4754]
mov edx, edi
add edx, 0xa
push ebx
push edx
mov edx, dword [ebp - 0x40]
mov ebx, esi
mov eax, dword [ecx]
add edx, 0x51
add edx, ebx
push edx
call dword [eax + 0x30]
mov esi, dword [ebp - 0x24]
add ebx, 8
mov dword [ebp - 0x20], ebx
cmp ebx, 0x10
jle 0x10063931
mov ecx, dword [0x100e4754]
mov edx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x40]
add edi, 0x4b
mov eax, dword [ecx]
push dword [edx]
call dword [eax + 0x28]
push dword [ebp - 0x28]
mov ecx, dword [0x100e4754]
lea esi, [edi + 0x1c]
mov ebx, dword [ebp - 0x44]
push esi
push ebx
mov eax, dword [ecx]
push edi
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [0x100dfa64]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea edx, [ebx + 0x10]
push edx
push esi
push ebx
mov eax, dword [ecx]
push edi
call dword [eax + 0x38]
mov eax, dword [0x100e4e60]
cmp eax, dword [ebp - 0x58]
jne 0x10064966
mov eax, dword [0x100e5248]
mov ecx, dword [0x100e4754]
push dword [0x100dfa80]
cdq
sub eax, edx
sar eax, 1
lea ebx, [eax - 0x77]
mov eax, dword [0x100e5244]
cdq
sub eax, edx
mov dword [ebp - 0x1c], ebx
mov edi, eax
mov eax, dword [ecx]
sar edi, 1
sub edi, 0x4f
mov dword [ebp - 0x24], edi
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea esi, [ebx + 0xef]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
lea eax, [edi + 0x9e]
push eax
lea eax, [esi - 0x1e]
push eax
push edi
push ebx
call edx
mov ecx, dword [0x100e4754]
mov dword [ebp - 0x14], 0xff000000
push dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
lea eax, [edi + 0x9f]
push eax
lea eax, [ebx + 0xd2]
push eax
lea eax, [edi - 1]
push eax
lea eax, [ebx - 1]
push eax
call edx
movd xmm0, esi
lea eax, [edi + 1]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ebp - 0x74]
push 0xe
push 0x15
push eax
mov byte [0x100e5250], 1
subss xmm0, dword [0x100d3aec]
subss xmm0, dword [0x100d3af8]
cvttss2si eax, xmm0
push eax
push 0
push 0x100ce780
call fcn.10062040
test al, al
jne 0x10063b0b
push 0x1b
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x10063b15
mov dword [0x100e4e60], 0
mov ecx, dword [0x100e4754]
push dword [0x100dfa88]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea esi, [edi - 1]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
lea eax, [esi + 0xa1]
push eax
lea eax, [ebx + 0xd3]
push eax
push esi
lea eax, [ebx - 1]
push eax
call edx
mov ecx, dword [0x100e4754]
push ecx
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
mov eax, esp
mov dword [eax], 0xffffffff
call edx
mov ecx, dword [0x100e4754]
lea esi, [edi + 0xa]
push 1
push 0
push 0xff
mov eax, dword [ecx]
mov dword [ebp - 0x20], esi
mov edx, dword [eax + 0x1d8]
lea eax, [edi + 0x82]
push eax
mov dword [ebp - 0x30], eax
lea edi, [ebx + 0xa]
lea eax, [ebx + 0x78]
push eax
push esi
push edi
call edx
mov edi, dword [0x100e4754]
movzx ecx, byte [0x100e775d]
movzx ebx, byte [0x100e775c]
movzx edx, byte [0x100e775e]
mov eax, dword [edi]
push ecx
mov esi, dword [eax + 0x28]
mov eax, esp
mov byte [eax + 1], cl
mov ecx, edi
mov byte [eax], bl
mov byte [eax + 2], dl
mov byte [eax + 3], 0xff
call esi
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [0x100e4754]
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x20]
push 1
mov eax, dword [ecx]
lea edx, [ebx + 0x82]
push 0xff
push 0
push edi
push edx
push esi
lea edx, [ebx + 0xa]
push edx
call dword [eax + 0x1d8]
mov ecx, dword [0x100e4754]
lea edx, [ebx + 0x82]
push 1
push 0x80
push 0
mov eax, dword [ecx]
push edi
push edx
push esi
lea edx, [ebx + 0xa]
push edx
call dword [eax + 0x1d8]
mov ecx, dword [0x100e4754]
push ecx
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
mov eax, esp
mov dword [eax], 0xff000000
call edx
mov ecx, dword [0x100e4754]
lea edx, [ebx + 0x82]
push 0
push 0xff
push 0
mov eax, dword [ecx]
push edi
push edx
push esi
lea edx, [ebx + 0xa]
push edx
call dword [eax + 0x1d8]
mov ecx, dword [0x100e4754]
lea edx, [ebx + 0x82]
push 0
push 0xff
push 0
mov eax, dword [ecx]
push edi
push edx
push esi
lea edx, [ebx + 0xa]
push edx
call dword [eax + 0x1d8]
mov ecx, dword [0x100e4754]
lea edx, [ebx + 0x82]
push 0
push 0x80
push 0
mov eax, dword [ecx]
push edi
push edx
push esi
lea edx, [ebx + 0xa]
push edx
call dword [eax + 0x1d8]
movss xmm1, dword [0x100e7750]
lea eax, [ebp - 0x14]
mulss xmm1, dword [0x100d3a70]
push eax
movss xmm0, dword [0x100d3b38]
movd xmm3, esi
subss xmm0, xmm1
mov dword [ebp - 0x14], 0x64ffffff
movss xmm1, dword [0x100e774c]
mulss xmm1, dword [0x100d3a70]
push 0x100dfa78
cvtdq2ps xmm3, xmm3
push 1
push 2
push 2
addss xmm0, xmm3
cvttss2si eax, xmm0
push eax
lea eax, [ebx + 0xa]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
push eax
call fcn.1007a900
mov eax, dword [0x100e7730]
lea ecx, [ebx + 0xa]
cmp eax, ecx
jle 0x10063df5
lea ecx, [ebx + 0x82]
cmp eax, ecx
jge 0x10063df5
mov eax, dword [0x100e7734]
cmp eax, esi
jle 0x10063df5
cmp eax, edi
jge 0x10063df5
mov esi, dword [sym.imp.USER32.dll_GetActiveWindow]
call esi
cmp eax, dword [0x100e5404]
jne 0x10063d66
cmp dword [0x100e7334], 1
jne 0x10063d66
mov ecx, dword [0x100e4754]
push dword [0x100df894]
mov eax, dword [ecx]
call dword [eax + 0x138]
jmp 0x10063df5
call esi
cmp eax, dword [0x100e5404]
jne 0x10063d79
cmp dword [0x100e7334], 2
je 0x10063d89
push 1
mov ecx, 0x100e7330
call fcn.1005f520
test al, al
je 0x10063df5
xorps xmm1, xmm1
movss xmm2, dword [0x100d3b2c]
cvtsi2ss xmm1, dword [0x100e7730]
lea eax, [ebx + 0xb]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [ebp - 0x24]
add eax, 0xb
subss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm1, dword [0x100d3b30]
mulss xmm1, xmm2
movss dword [0x100e774c], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [0x100e7734]
subss xmm1, xmm0
movaps xmm0, xmm2
divss xmm1, dword [0x100d3b30]
mulss xmm1, xmm2
subss xmm0, xmm1
movss dword [0x100e7750], xmm0
mov ecx, dword [ebp - 0x38]
mov eax, dword [0x100e72e8]
cmp eax, dword [ecx + 4]
jle 0x10063e6e
push 0x100e72e8
call fcn.100a68e6
add esp, 4
cmp dword [0x100e72e8], 0xffffffff
jne 0x10063e6e
push 0x100e72e8
mov dword [0x100e72f4], 0xff0000ff
mov dword [0x100e72f8], 0xff00c8ff
mov dword [0x100e72fc], 0xff00ff00
mov dword [0x100e7300], 0xffffff00
mov dword [0x100e7304], 0xffff0000
mov dword [0x100e7308], 0xffff00ff
mov dword [0x100e730c], 0xff0000ff
call fcn.100a689c
add esp, 4
lea eax, [ebx + 0x8c]
xor edx, edx
mov dword [ebp - 0x14], eax
lea eax, [ebx + 0x96]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], eax
movd xmm1, dword [ebp - 0x20]
mov ecx, dword [0x100e4754]
push dword [edx*4 + 0x100e72f4]
mov esi, dword [edx*4 + 0x100e72f8]
movd xmm0, edx
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, dword [0x100d3ae8]
addss xmm0, xmm1
cvttss2si ebx, xmm0
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea edi, [ebx + 0x14]
push 0
push 0xff
push 0xff
mov eax, dword [ecx]
push edi
push dword [ebp - 0x2c]
push ebx
push dword [ebp - 0x14]
call dword [eax + 0x1d8]
mov ecx, dword [0x100e4754]
push esi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
push 0
push 0xff
push 0
mov eax, dword [ecx]
push edi
mov edi, dword [ebp - 0x2c]
push edi
push ebx
push dword [ebp - 0x14]
call dword [eax + 0x1d8]
mov edx, dword [ebp - 0x28]
inc edx
mov dword [ebp - 0x28], edx
cmp edx, 6
jl 0x10063e85
mov esi, dword [ebp - 0x24]
lea eax, [ebp - 0x14]
movss xmm1, dword [0x100e7748]
mulss xmm1, dword [0x100d3a40]
push eax
mov ebx, dword [ebp - 0x1c]
lea eax, [esi + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 0x100dfa78
push 1
push 5
push 0xe
mov dword [ebp - 0x14], 0x64ffffff
addss xmm0, xmm1
cvttss2si eax, xmm0
push eax
lea eax, [ebx + 0x8a]
push eax
call fcn.1007a900
mov ecx, dword [0x100e7730]
lea eax, [ebx + 0x8c]
cmp ecx, eax
jle 0x10064026
cmp ecx, edi
jge 0x10064026
mov eax, dword [0x100e7734]
lea ecx, [esi + 0xa]
cmp eax, ecx
jle 0x10064026
lea ecx, [esi + 0x82]
cmp eax, ecx
jge 0x10064026
mov edi, dword [sym.imp.USER32.dll_GetActiveWindow]
call edi
cmp eax, dword [0x100e5404]
jne 0x10063fd2
cmp dword [0x100e7334], 1
jne 0x10063fd2
mov ecx, dword [0x100e4754]
push dword [0x100df894]
mov eax, dword [ecx]
call dword [eax + 0x138]
jmp 0x10064026
call edi
cmp eax, dword [0x100e5404]
jne 0x10063fe5
cmp dword [0x100e7334], 2
je 0x10063ff5
push 1
mov ecx, 0x100e7330
call fcn.1005f520
test al, al
je 0x10064026
movd xmm1, dword [0x100e7734]
lea eax, [esi + 0xb]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
divss xmm1, dword [0x100d3b30]
mulss xmm1, dword [0x100d3b78]
movss dword [0x100e7748], xmm1
mov edi, dword [ebp - 0x58]
lea ecx, [ebp - 0x70]
movss xmm3, dword [0x100e7750]
movss xmm2, dword [0x100e774c]
movss xmm1, dword [0x100e7748]
mov al, byte [edi + 3]
mov byte [ebp - 0x16], al
call fcn.10060c50
mov dword [ebp - 4], 1
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cmp eax, 2
jbe 0x100649ae
mov al, byte [ecx + 2]
lea ecx, [ebp - 0x54]
movss xmm3, dword [0x100e7750]
movss xmm2, dword [0x100e774c]
movss xmm1, dword [0x100e7748]
mov byte [ebp - 0x15], al
call fcn.10060c50
mov byte [ebp - 4], 2
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cmp eax, 1
jbe 0x100649ae
mov al, byte [ecx + 1]
lea ecx, [ebp - 0x64]
movss xmm3, dword [0x100e7750]
movss xmm2, dword [0x100e774c]
movss xmm1, dword [0x100e7748]
mov byte [ebp - 0x31], al
call fcn.10060c50
mov byte [ebp - 4], 3
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x100649ae
mov al, byte [ecx]
mov byte [0x100e72d8], al
mov al, byte [ebp - 0x31]
mov byte [0x100e72d9], al
mov al, byte [ebp - 0x15]
mov byte [0x100e72da], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x64]
mov byte [0x100e72db], al
test edx, edx
je 0x10064143
mov ecx, dword [ebp - 0x5c]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x10064124
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100641b9
push ecx
push edx
call fcn.100a6782
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x1006418c
mov edx, dword [ebp - 0x4c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1006416d
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100641b9
push edx
push ecx
call fcn.100a6782
add esp, 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x100641c9
mov edx, dword [ebp - 0x68]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x100641bf
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100641bf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100a6782
add esp, 8
movss xmm3, dword [0x100d3b2c]
lea ecx, [ebp - 0x70]
mov al, byte [edi + 3]
movaps xmm2, xmm3
movss xmm1, dword [0x100e7748]
mov byte [ebp - 0x31], al
call fcn.10060c50
mov dword [ebp - 4], 4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cmp eax, 2
jbe 0x100649ae
mov al, byte [ecx + 2]
lea ecx, [ebp - 0x64]
movss xmm3, dword [0x100d3b2c]
movss xmm1, dword [0x100e7748]
movaps xmm2, xmm3
mov byte [ebp - 0x15], al
call fcn.10060c50
mov byte [ebp - 4], 5
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cmp eax, 1
jbe 0x100649ae
mov al, byte [ecx + 1]
lea ecx, [ebp - 0x54]
movss xmm3, dword [0x100d3b2c]
movss xmm1, dword [0x100e7748]
movaps xmm2, xmm3
mov byte [ebp - 0x16], al
call fcn.10060c50
mov byte [ebp - 4], 6
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x100649ae
mov al, byte [ecx]
mov byte [0x100e775c], al
mov al, byte [ebp - 0x16]
mov byte [0x100e775d], al
mov al, byte [ebp - 0x15]
mov byte [0x100e775e], al
mov al, byte [ebp - 0x31]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x54]
mov byte [0x100e775f], al
test edx, edx
je 0x100642d4
mov ecx, dword [ebp - 0x4c]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x100642b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006434a
push ecx
push edx
call fcn.100a6782
add esp, 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x1006431d
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x100642fe
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006434a
push edx
push ecx
call fcn.100a6782
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x70]
test ecx, ecx
je 0x1006436f
mov edx, dword [ebp - 0x68]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10064350
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10064350
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100a6782
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov ecx, dword [0x100e4754]
push ecx
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
mov eax, esp
mov dword [eax], 0xffffffff
call edx
mov ecx, dword [0x100e4754]
lea edx, [esi + 0x96]
push 1
push 0xff
push 0
mov eax, dword [ecx]
lea edi, [esi + 0x8c]
push edx
lea edx, [ebx + 0x82]
push edx
push edi
lea edx, [ebx + 0xa]
push edx
call dword [eax + 0x1d8]
mov ecx, dword [0x100e4754]
push ecx
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
mov eax, esp
mov dword [eax], 0xff000000
call edx
mov ecx, dword [0x100e4754]
lea edx, [esi + 0x96]
push 1
push 0
push 0xff
mov eax, dword [ecx]
push edx
lea edx, [ebx + 0x82]
push edx
push edi
lea edx, [ebx + 0xa]
push edx
call dword [eax + 0x1d8]
mov ecx, dword [0x100e7730]
lea eax, [ebx + 0xa]
cmp ecx, eax
jle 0x100644b3
lea eax, [ebx + 0x83]
cmp ecx, eax
jge 0x100644b3
mov ecx, dword [0x100e7734]
cmp ecx, edi
jle 0x100644b3
lea eax, [esi + 0x96]
cmp ecx, eax
jge 0x100644b3
mov edi, dword [sym.imp.USER32.dll_GetActiveWindow]
call edi
cmp eax, dword [0x100e5404]
jne 0x1006445f
cmp dword [0x100e7334], 1
jne 0x1006445f
mov ecx, dword [0x100e4754]
push dword [0x100df894]
mov eax, dword [ecx]
call dword [eax + 0x138]
jmp 0x100644b3
call edi
cmp eax, dword [0x100e5404]
jne 0x10064472
cmp dword [0x100e7334], 2
je 0x10064482
push 1
mov ecx, 0x100e7330
call fcn.1005f520
test al, al
je 0x100644b3
movd xmm1, dword [0x100e7730]
lea eax, [ebx + 0xb]
movd xmm0, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
divss xmm1, dword [0x100d3b34]
mulss xmm1, dword [0x100d3b60]
movss dword [0x100e72f0], xmm1
cvttss2si eax, dword [0x100e72f0]
lea ecx, [ebp - 0x64]
movss xmm3, dword [0x100e7750]
movss xmm2, dword [0x100e774c]
movss xmm1, dword [0x100e7748]
mov dword [ebp - 0x30], eax
call fcn.10060c50
mov dword [ebp - 4], 7
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cmp eax, 2
jbe 0x100649ae
mov al, byte [ecx + 2]
lea ecx, [ebp - 0x54]
movss xmm3, dword [0x100e7750]
movss xmm2, dword [0x100e774c]
movss xmm1, dword [0x100e7748]
mov byte [ebp - 0x15], al
call fcn.10060c50
mov byte [ebp - 4], 8
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cmp eax, 1
jbe 0x100649ae
mov al, byte [ecx + 1]
lea ecx, [ebp - 0x70]
movss xmm3, dword [0x100e7750]
movss xmm2, dword [0x100e774c]
movss xmm1, dword [0x100e7748]
mov byte [ebp - 0x16], al
call fcn.10060c50
mov byte [ebp - 4], 9
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x100649ae
mov al, byte [ecx]
mov byte [0x100e72d8], al
mov al, byte [ebp - 0x16]
mov byte [0x100e72d9], al
mov al, byte [ebp - 0x15]
mov byte [0x100e72da], al
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x70]
mov byte [0x100e72db], al
test edx, edx
je 0x100645d2
mov ecx, dword [ebp - 0x68]
mov eax, edx
sub ecx, edx
cmp ecx, 0x1000
jb 0x100645b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064648
push ecx
push edx
call fcn.100a6782
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x1006461b
mov edx, dword [ebp - 0x4c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x100645fc
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10064648
push edx
push ecx
call fcn.100a6782
add esp, 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x10064658
mov edx, dword [ebp - 0x5c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x1006464e
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1006464e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100a6782
add esp, 8
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x64ffffff
push eax
push 0x100dfa78
push 1
push 0xe
push 5
lea eax, [esi + 0x8a]
push eax
movzx eax, byte [0x100e72db]
movd xmm1, eax
lea eax, [ebx + 8]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, dword [0x100d3a4c]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
push eax
call fcn.1007a900
lea ecx, [esi + 0x17]
mov dword [ebp - 0x14], 0xffffffff
mov esi, dword [ebp - 0x14]
lea eax, [ecx + 0x10]
mov dword [ebp - 0x48], ecx
xor ecx, ecx
mov dword [ebp - 0x38], 0xffb4b4b4
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x20], 0xffb4b4b4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], ecx
nop dword [eax]
nop word [eax + eax]
add ecx, 0xa6
add ebx, ecx
mov ecx, dword [0x100e4754]
push esi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, dword [ebp - 0x48]
mov ecx, dword [0x100e4754]
lea edx, [esi + 4]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp - 0x28]
push ebx
push esi
mov esi, dword [ebp - 0x1c]
add edx, 0xa2
add edx, esi
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
mov edi, dword [ebp - 0x38]
push edi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov edi, dword [ebp - 0x48]
mov ecx, dword [0x100e4754]
lea edx, [edi + 8]
mov eax, dword [ecx]
push edx
push ebx
lea edx, [edi + 4]
push edx
lea edx, [esi + 0xa2]
add edx, dword [ebp - 0x28]
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
mov esi, edi
mov eax, dword [ecx]
lea edx, [esi + 0xc]
push edx
push ebx
lea edx, [esi + 8]
push edx
mov edx, dword [ebp - 0x1c]
add edx, 0xa2
add edx, dword [ebp - 0x28]
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [ebp - 0x20]
mov eax, dword [ecx]
call dword [eax + 0x28]
push dword [ebp - 0x30]
mov ecx, dword [0x100e4754]
mov edx, esi
add edx, 0xc
push ebx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp - 0x28]
add edx, 0xa2
add edx, ebx
push edx
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
add ecx, 8
mov dword [ebp - 0x28], ecx
cmp ecx, 0x20
jle 0x100646e0
xor ecx, ecx
mov dword [ebp - 0x14], 0xffb4b4b4
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x20], 0xffb4b4b4
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x38], ecx
mov ecx, dword [0x100e4754]
push esi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x38]
mov ecx, dword [0x100e4754]
add eax, 0xaa
add ebx, eax
lea edx, [esi + 4]
push edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ecx]
add edx, 0xa6
push ebx
push esi
mov esi, dword [ebp - 0x1c]
add edx, esi
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
mov edi, dword [ebp - 0x28]
push edi
mov eax, dword [ecx]
call dword [eax + 0x28]
mov edi, dword [ebp - 0x48]
mov ecx, dword [0x100e4754]
lea edx, [edi + 8]
mov eax, dword [ecx]
push edx
push ebx
lea edx, [edi + 4]
push edx
lea edx, [esi + 0xa6]
add edx, dword [ebp - 0x38]
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [ebp - 0x20]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
mov esi, edi
mov eax, dword [ecx]
lea edx, [esi + 0xc]
push edx
push ebx
lea edx, [esi + 8]
push edx
mov edx, dword [ebp - 0x1c]
add edx, 0xa6
add edx, dword [ebp - 0x38]
push edx
call dword [eax + 0x30]
mov ecx, dword [0x100e4754]
push dword [ebp - 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x28]
push dword [ebp - 0x30]
mov ecx, dword [0x100e4754]
mov edx, esi
add edx, 0xc
push ebx
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ecx]
push edx
mov edx, dword [ebp - 0x38]
add edx, 0xa6
add edx, ebx
push edx
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
add ecx, 8
mov dword [ebp - 0x38], ecx
cmp ecx, 0x18
jle 0x100647e3
mov ecx, dword [0x100e4754]
lea esi, [ebx + 0xa1]
mov edi, dword [ebp - 0x24]
push dword [0x100e72d8]
add edi, 0x16
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea eax, [edi + 0x12]
push eax
lea eax, [esi + 0x26]
push eax
mov edx, dword [ecx]
push edi
push esi
call dword [edx + 0x30]
mov ecx, dword [0x100e4754]
lea edi, [ebx + 0xa0]
mov esi, dword [ebp - 0x24]
push dword [0x100dfa64]
add esi, 0x15
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [0x100e4754]
lea eax, [esi + 0x14]
push eax
lea eax, [edi + 0x28]
push eax
mov edx, dword [ecx]
push esi
push edi
call dword [edx + 0x38]
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x74]
add eax, 0x2e
push 0xf
push 0x28
push eax
push edi
push 0
push 0x100ce784
mov ecx, ebx
call fcn.10062040
test al, al
je 0x1006495f
mov edx, dword [ebp - 0x58]
mov eax, dword [0x100e72d8]
mov dword [0x100e4e60], 0
mov dword [edx], eax
jmp 0x1006496d
mov eax, dword [0x100e4e60]
jmp 0x10064969
mov ebx, dword [ebp - 0x74]
test eax, eax
jne 0x10064974
mov byte [0x100e5250], 0
mov eax, dword [ebp - 0x40]
mov dword [ebx], eax
mov eax, dword [ebp - 0x44]
mov dword [ebx + 4], eax
mov al, byte [ebp - 0x39]
mov dword [ebx + 8], 0x46
mov dword [ebx + 0xc], 0x10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100a6425
mov esp, ebp
pop ebp
ret 8
call fcn.100103e0
int3