Function at 0x1009fa20
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
sub esp, 0x148
mov eax, dword [0x1014300c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
cmp dword [0x101a517c], 0xffffffff
push esi
push edi
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
je 0x100a0f4e
call fcn.10079800
cmp al, 1
je 0x100a0f44
cmp byte [0x101907bd], 1
je 0x100a0f44
cmp dword [0x101f0048], 0
je 0x100a0f4e
cmp dword [0x102bca1c], 0
je 0x100a0f4e
call fcn.100787e0
test al, al
jne 0x100a0f4e
push 0x48
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x100a0f4e
push 1
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0f4e
push 0x39
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0f4e
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0f4e
push 0x22
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0f4e
mov eax, dword [0x101f0048]
cmp eax, 1
je 0x1009fb11
cmp eax, 2
jne 0x100a0f4e
mov eax, dword [0x7bc4f04]
mov dword [ebp - 0x148], eax
mov esi, dword [0x101a51b8]
movss xmm0, dword [eax + 0x418]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x10139878]
cvttsd2si eax, xmm0
cdq
xor eax, edx
sub eax, edx
imul eax, eax, 0x2d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x101399f8]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x13c], xmm0
call fcn.1009f3e0
cmp esi, 1
jne 0x1009fb81
movss xmm2, dword [0x1013921c]
movsd xmm0, qword [0x10139498]
movss dword [ebp - 0x12c], xmm2
jmp 0x1009fbb8
cmp esi, 2
jne 0x1009fba0
movss xmm2, dword [0x10139258]
movsd xmm0, qword [0x10139538]
movss dword [ebp - 0x12c], xmm2
jmp 0x1009fbb8
movss xmm0, dword [0x10139330]
movss dword [ebp - 0x12c], xmm0
movsd xmm0, qword [0x101395e0]
mov eax, dword [0x101a518c]
mov esi, 0x8000
cvtpd2ps xmm0, xmm0
mov ecx, dword [0x879340c]
mov edx, dword [0x8793410]
movd xmm2, ecx
movss dword [ebp - 0x144], xmm0
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
cvtdq2ps xmm2, xmm2
addsd xmm0, qword [eax*8 + 0x1013a790]
mov eax, dword [0x101a5188]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
movss dword [ebp - 0x138], xmm1
addsd xmm0, qword [eax*8 + 0x1013a790]
xor eax, eax
cmp ecx, dword [0xe61e58]
cmovl eax, ecx
cvtpd2ps xmm0, xmm0
movd xmm3, eax
xor eax, eax
cmp edx, dword [0xe61e5c]
cvtdq2ps xmm3, xmm3
cmovl eax, edx
movss dword [ebp - 0x124], xmm0
comiss xmm0, xmm2
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0x128], xmm3
movss dword [ebp - 0x130], xmm4
ja 0x1009fccd
addss xmm0, dword [0x10139eb4]
comiss xmm2, xmm0
ja 0x1009fccd
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm1, xmm2
ja 0x1009fccd
movaps xmm0, xmm1
addss xmm0, dword [0x10139ec8]
comiss xmm2, xmm0
ja 0x1009fccd
cmp byte [0x101a516c], 0
jne 0x1009fcda
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movss xmm3, dword [ebp - 0x128]
movss xmm4, dword [ebp - 0x130]
test si, ax
je 0x1009fccd
cvttss2si edx, xmm3
mov byte [0x101a516c], 1
cvttss2si esi, xmm4
mov word [0x101a516e], dx
mov word [0x101a5170], si
jmp 0x1009fce8
cmp byte [0x101a516c], 0
je 0x1009fdda
mov si, word [0x101a5170]
mov dx, word [0x101a516e]
cmp dword [0xe61e58], 0x550
jl 0x1009fd09
cmp dword [0x102bcb7c], 0
je 0x1009fd09
mov eax, 0x3ac
mov ecx, 0x1b8
jmp 0x1009fd13
mov ecx, 0x12c
mov eax, 0x1f4
movss xmm2, dword [0x10139d58]
movd xmm1, eax
movsx eax, dx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, si
subss xmm3, xmm0
movaps xmm0, xmm2
addss xmm3, dword [ebp - 0x124]
maxss xmm0, xmm3
minss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm3, xmm1
movd xmm1, ecx
subss xmm4, xmm0
movss dword [ebp - 0x124], xmm3
cvtdq2ps xmm1, xmm1
addss xmm4, dword [ebp - 0x138]
movaps xmm0, xmm3
maxss xmm2, xmm4
minss xmm1, xmm2
movss dword [ebp - 0x138], xmm1
call fcn.10128980
movss xmm0, dword [ebp - 0x138]
mov esi, eax
mov dword [0x101a5174], esi
call fcn.10128980
cmp byte [0x101a516c], 0
mov edi, eax
mov dword [0x101a5178], edi
je 0x1009fdda
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
jne 0x1009fdda
mov byte [0x101a516c], 0
mov dword [0x101a5188], esi
mov dword [0x101a518c], edi
mov dword [0x101a5174], esi
mov dword [0x101a5178], edi
movss xmm1, dword [ebp - 0x138]
mov esi, 0x637c60
addss xmm1, dword [0x10139cf8]
movss xmm2, dword [ebp - 0x124]
subss xmm2, dword [0x10139330]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
movss dword [ebp - 0x128], xmm1
movss dword [ebp - 0x130], xmm2
mov dword [esp + 0x1c], 0x3e93f7cc
mov dword [esp + 0x18], 0x3f13f7ce
mov dword [esp + 0x14], 0x3d800000
mov dword [esp + 0x10], 0x3ebd70a2
mov dword [esp + 0xc], 0x42fa0000
mov dword [esp + 8], 0x42fa0000
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
push 0x7ae8
call esi
movss xmm0, dword [ebp - 0x12c]
add esp, 0x2c
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ebp - 0x144]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x101a51b4]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x101a51b0]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10139d50]
mov dword [esp + 0xc], 0x42c80000
mov dword [esp + 8], 0x42be0000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [0x10139d38]
movss dword [esp], xmm0
push 0x7ae6
call esi
mov esi, dword [0xe8c58c]
add esp, 0x30
mov eax, 0x41fe10
call eax
push esi
mov edx, 0x420120
mov ecx, eax
call edx
mov eax, dword [ebp - 0x148]
mov ecx, dword [0xe61e18]
mov esi, dword [eax + 0xb0]
mov edi, dword [eax + 0xac]
lea eax, [ecx - 0x52]
cmp eax, 0x44
ja 0x1009ff3a
lea eax, [ecx + 0xe90]
mov ecx, 0x8128adc
push eax
mov eax, 0x402320
call eax
jmp 0x1009ff45
push ecx
mov eax, 0x5d2c10
call eax
add esp, 4
push esi
push edi
push eax
lea eax, [ebp - 0x108]
push str._s____d____d__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov esi, 0x41fe10
push 0
push 0
push 0
push 0
call esi
mov edx, 0x4200b0
mov ecx, eax
call edx
push 0xff
push 0xf0
push 0xf0
push 0xf0
call esi
mov edx, 0x420040
mov ecx, eax
call edx
mov eax, dword [0x101a5198]
mov esi, 0x635fd0
sub eax, dword [0x101a51a8]
add eax, dword [0x101a5174]
mov dword [0x101a51a0], eax
mov eax, dword [0x101a519c]
sub eax, dword [0x101a51ac]
add eax, dword [0x101a5178]
push 1
mov dword [0x101a51a4], eax
call esi
mov eax, dword [0x101a51a4]
movss xmm0, dword [ebp - 0x13c]
mov dword [esp], 0x3f0c0000
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f0c0000
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
movss dword [esp + 0x10], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [esp + 0xc], 0x41200000
mov dword [esp + 8], 0x41200000
addsd xmm0, qword [eax*8 + 0x1013a790]
mov eax, dword [0x101a51a0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1013a790]
mov eax, 0x637e80
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ec2
call eax
lea edi, [esi - 0x80]
call edi
add esp, 0x1c
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor3f]
push 0
call esi
add esp, 4
push 1
call esi
movss xmm0, dword [0x101a51c0]
mov esi, dword [sym.imp.OPENGL32.dll_glColor4f]
movss dword [esp], xmm0
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call esi
call fcn.1009f5c0
call edi
push 0
mov eax, 0x635fd0
call eax
mov dword [esp], 0x3f800000
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call esi
mov eax, dword [0x101f0048]
cmp eax, 1
jne 0x100a015c
movss xmm0, dword [ebp - 0x128]
xorps xmm1, xmm1
push ecx
mov dword [esp], 0
push eax
push eax
sub esp, 0x20
mov dword [esp + 0x1c], 0x3f1c6a7d
mov dword [esp + 0x18], 0x3e9f011e
mov dword [esp + 0x14], 0x3cf5c28e
mov dword [esp + 0x10], 0x3c54fdf1
mov dword [esp + 0xc], 0x42f00000
mov dword [esp + 8], 0x42f00000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7ae9
jmp 0x100a01c0
cmp eax, 2
jne 0x100a01ca
movss xmm0, dword [ebp - 0x128]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3e93f7cc
mov dword [esp + 0x18], 0x3f13f7ce
mov dword [esp + 0x14], 0x3d800000
mov dword [esp + 0x10], 0x3ebd70a2
mov dword [esp + 0xc], 0x42f80000
mov dword [esp + 8], 0x42f80000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x130]
movss dword [esp], xmm0
push 0x7ae7
mov eax, 0x637c60
call eax
add esp, 0x30
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [0x10139df4]
push ecx
mov dword [esp], 0
push 1
push 1
cvttss2si edi, xmm0
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d978d45
mov dword [esp + 0x18], 0x3e1ba5de
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10139f0c]
mov dword [esp + 0x14], 0x3eff7cee
mov dword [esp + 0x10], 0x3f560419
mov dword [esp + 0xc], 0x41d00000
mov dword [esp + 8], 0x41d00000
cvttss2si esi, xmm0
lea eax, [esi - 3]
movd xmm0, eax
lea eax, [edi - 5]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
push 0x12
push 0x12
push esi
push edi
mov eax, 0x790b10
call eax
add esp, 0x40
movd xmm0, esi
test al, al
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x128], eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0
push 1
push 1
je 0x100a035c
sub esp, 0x20
cmp byte [0x8793386], 0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3edcfab0
je 0x100a0352
mov dword [esp + 0x10], 0x3e7ffffd
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
mov edi, dword [ebp - 0x128]
add esp, 0x3c
call edi
mov ecx, dword [0x101a51bc]
add ecx, 0xc8
cmp eax, ecx
jb 0x100a03b1
mov eax, dword [0x101a51b8]
cmp eax, 3
jne 0x100a0339
mov dword [0x101a51b8], 2
call edi
mov dword [0x101a51bc], eax
jmp 0x100a03b1
cmp eax, 2
mov ecx, 1
cmove eax, ecx
mov dword [0x101a51b8], eax
call edi
mov dword [0x101a51bc], eax
jmp 0x100a03b1
mov dword [esp + 0x10], 0x3dfdf3b2
jmp 0x100a037f
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3edcfab0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
mov edi, dword [ebp - 0x128]
add esp, 0x30
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [0x10139ea8]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10139ec8]
push ecx
mov dword [esp], 0
push 1
push 1
cvttss2si eax, xmm0
sub esp, 0x20
mov dword [ebp - 0x130], ecx
lea esi, [ecx - 5]
mov dword [esp + 0x1c], 0x3d978d45
mov dword [esp + 0x18], 0x3e1ba5de
movd xmm1, esi
mov dword [ebp - 0x12c], eax
add eax, 0xfffffffd
mov dword [esp + 0x14], 0x3eff7cee
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x10], 0x3f560419
mov dword [esp + 0xc], 0x41d00000
mov dword [esp + 8], 0x41d00000
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push 0x7ae7
call eax
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
push 0x12
push 0x12
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x40
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
test al, al
mov eax, 0x637c60
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3ebced91
je 0x100a05da
cmp byte [0x8793386], 0
je 0x100a0590
movd xmm0, dword [ebp - 0x12c]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x10], 0x3e7ffffd
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x130]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
add esp, 0x3c
call edi
mov ecx, dword [0x101a51bc]
add ecx, 0xc8
cmp eax, ecx
jb 0x100a053b
mov eax, dword [0x101a51b8]
cmp eax, 1
jne 0x100a0524
mov dword [0x101a51b8], 2
jmp 0x100a0534
cmp eax, 2
mov ecx, 3
cmove eax, ecx
mov dword [0x101a51b8], eax
call edi
mov dword [0x101a51bc], eax
mov edi, dword [ebp - 0x12c]
push 0x12
push 0x12
push edi
push dword [ebp - 0x130]
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x100a0672
cmp byte [0x8793386], 0
je 0x100a0622
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
mov eax, dword [0xe8cb7c]
add esp, 0xc
cmp byte [eax + 8], 0
jne 0x100a05e4
movsd xmm0, qword [0x101394e0]
jmp 0x100a05ec
mov dword [esp + 0x10], 0x3dfdf3b2
mov edi, dword [ebp - 0x12c]
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x130]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
jmp 0x100a0541
mov dword [esp + 0x10], 0
jmp 0x100a0598
movsd xmm0, qword [0x10139550]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], 0x3e7ffffd
jmp 0x100a06c0
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x100a0637
movsd xmm0, qword [0x101394e0]
jmp 0x100a063f
movsd xmm0, qword [0x10139550]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], 0x3dfdf3b2
jmp 0x100a06c0
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x100a0687
movsd xmm0, qword [0x101394e0]
jmp 0x100a068f
movsd xmm0, qword [0x10139550]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], 0
movd xmm0, edi
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x130]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
movss xmm0, dword [ebp - 0x124]
add esp, 0x30
addss xmm0, dword [0x10139d40]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10139ed0]
push ecx
mov dword [esp], 0
push 1
push 1
cvttss2si eax, xmm0
sub esp, 0x20
mov dword [ebp - 0x124], ecx
lea edi, [ecx - 5]
mov dword [esp + 0x1c], 0x3d978d45
mov dword [esp + 0x18], 0x3e1ba5de
movd xmm1, edi
mov dword [ebp - 0x12c], eax
add eax, 0xfffffffd
mov dword [esp + 0x14], 0x3eff7cee
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x10], 0x3f560419
mov dword [esp + 0xc], 0x41d00000
mov dword [esp + 8], 0x41d00000
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push 0x7ae7
call eax
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x124]
push 0x12
push 0x12
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x40
test al, al
je 0x100a0918
cmp byte [0x8793386], 0
je 0x100a08e7
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
movd xmm0, dword [ebp - 0x12c]
add esp, 8
cvtdq2ps xmm0, xmm0
mov eax, 0x637c60
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f2e9796
mov dword [esp + 0x10], 0x3e7ffffd
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x124]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
cmp dword [0x101f00a0], 2
jne 0x100a088c
call dword [ebp - 0x128]
mov ecx, dword [0x101955f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x100a0987
mov ecx, dword [0x10521748]
cmp byte [ecx + 0x29], 1
setne al
mov byte [ecx + 0x29], al
call dword [ebp - 0x128]
mov dword [0x101955f0], eax
jmp 0x100a0987
call dword [ebp - 0x128]
mov ecx, dword [0x101955f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x100a0987
cmp byte [0x1018ddbd], 0
je 0x100a08c6
mov byte [0x1018ddbd], 0
call dword [ebp - 0x128]
mov dword [0x101955f0], eax
jmp 0x100a0987
mov byte [0x1018ddbd], 1
mov dword [0x1017e1d0], 5
call dword [ebp - 0x128]
mov dword [0x101955f0], eax
jmp 0x100a0987
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f2e9796
mov dword [esp + 0x10], 0x3dfdf3b2
jmp 0x100a0947
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f2e9796
mov dword [esp + 0x10], 0
movd xmm0, dword [ebp - 0x12c]
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x124]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
mov ecx, 0x101efdc3
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a0990
sub ecx, edx
je 0x100a09ea
push ecx
push 0x101efdc3
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], al
call fcn.1000c820
sub esp, 8
mov dword [ebp - 0x140], 1
lea ecx, [ebp - 0x120]
call fcn.1000c7e0
mov byte [ebp - 0x131], 0
cmp eax, 0xffffffff
jne 0x100a09f1
mov byte [ebp - 0x131], 1
test byte [ebp - 0x140], 1
je 0x100a0a36
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x100a0a36
mov ecx, dword [ebp - 0x120]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100a0a2c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a0a2c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100db77f
add esp, 8
cmp byte [ebp - 0x131], 0
je 0x100a0f4e
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10139d28]
push ecx
mov dword [esp], 0
push 1
push 1
cvttss2si eax, xmm0
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d978d45
mov dword [esp + 0x18], 0x3e1ba5de
mov dword [esp + 0x14], 0x3eff7cee
mov dword [ebp - 0x13c], eax
add eax, 0xfffffffd
mov dword [esp + 0x10], 0x3f560419
mov dword [esp + 0xc], 0x41d00000
mov dword [esp + 8], 0x41d00000
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
mov edi, dword [ebp - 0x13c]
mov eax, 0x790b10
push 0x12
push 0x12
push edi
push dword [ebp - 0x124]
call eax
add esp, 0x40
test al, al
je 0x100a0c22
cmp byte [0x8793386], 0
je 0x100a0bf1
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
mov dword [esp + 8], 0
add esp, 8
movd xmm0, edi
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f3e9e26
mov dword [esp + 0x10], 0x3e7ffffd
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x124]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
mov edi, dword [ebp - 0x128]
add esp, 0x30
call edi
mov ecx, dword [0x101955f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x100a0c8d
cmp byte [0x101f018f], 0
jne 0x100a0bd1
mov ecx, 0x10144808
call fcn.1002df60
mov ecx, 0x10144808
call fcn.1002dd00
cmp dword [0x10144810], 1
jne 0x100a0be5
push str.Camera__RESET_
push 1
push 0x1018d580
call fcn.100785d0
add esp, 0xc
call edi
mov dword [0x101955f0], eax
jmp 0x100a0c8d
call edi
sub eax, dword [0x1018f938]
cmp eax, 0x3e8
jb 0x100a0be5
call fcn.100ac530
call edi
mov dword [0x101955f0], eax
jmp 0x100a0c8d
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f3e9e26
mov dword [esp + 0x10], 0x3dfdf3b2
jmp 0x100a0c51
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f3e9e26
mov dword [esp + 0x10], 0
movd xmm0, edi
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, dword [ebp - 0x124]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10139d40]
push ecx
mov dword [esp], 0
push 1
push 1
cvttss2si edi, xmm0
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d978d45
mov dword [esp + 0x18], 0x3e1ba5de
mov dword [esp + 0x14], 0x3eff7cee
mov dword [esp + 0x10], 0x3f560419
mov dword [esp + 0xc], 0x41d00000
mov dword [esp + 8], 0x41d00000
lea eax, [edi - 3]
movd xmm0, eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
mov esi, dword [ebp - 0x130]
mov eax, 0x790b10
push 0x12
push 0x12
push edi
push esi
call eax
add esp, 0x40
test al, al
je 0x100a0eca
cmp byte [0x8793386], 0
je 0x100a0e50
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
mov dword [esp + 8], 0
add esp, 8
movd xmm0, edi
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f1e9107
mov dword [esp + 0x10], 0x3e7ffffd
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
mov esi, dword [ebp - 0x128]
add esp, 0x30
call esi
mov ecx, dword [0x101955f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x100a0f4e
cmp byte [0x101f018f], 0
jne 0x100a0e22
cmp dword [0x1014483c], 0
je 0x100a0de9
mov ecx, 0x10144808
call fcn.1002df60
mov edx, str.Camera3D__OFFRESET_
jmp 0x100a0dee
mov edx, str.Camera3D__ON_
mov ecx, 0x10144808
call fcn.1002dd00
push edx
push 1
push 0x1018d580
call fcn.100785d0
add esp, 0xc
call esi
mov dword [0x101955f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100db76e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call esi
sub eax, dword [0x1018f978]
cmp eax, 0x3e8
jb 0x100a0e36
call fcn.100ac4c0
call esi
mov dword [0x101955f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100db76e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push ecx
mov dword [esp], 0
mov eax, 0x637c60
push 1
push 1
sub esp, 0x20
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f1e9107
mov dword [esp + 0x10], 0x3dfdf3b2
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100db76e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push ecx
mov dword [esp], 0
mov eax, 0x637c60
push 1
push 1
sub esp, 0x20
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3f1e9107
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x41926666
mov dword [esp + 8], 0x41926666
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100db76e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [0x102bca1c], 0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100db76e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret