Function at 0x1009fac0
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 0x100a0fee
call fcn.10079880
cmp al, 1
je 0x100a0fe4
cmp byte [0x101907bd], 1
je 0x100a0fe4
cmp dword [0x101f0048], 0
je 0x100a0fee
cmp dword [0x102bca1c], 0
je 0x100a0fee
call fcn.10078860
test al, al
jne 0x100a0fee
push 0x48
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x100a0fee
push 1
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0fee
push 0x39
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0fee
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0fee
push 0x22
call esi
mov ecx, eax
call edi
test al, al
jne 0x100a0fee
mov eax, dword [0x101f0048]
cmp eax, 1
je 0x1009fbb1
cmp eax, 2
jne 0x100a0fee
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.1009f480
cmp esi, 1
jne 0x1009fc21
movss xmm2, dword [0x1013921c]
movsd xmm0, qword [0x10139498]
movss dword [ebp - 0x12c], xmm2
jmp 0x1009fc58
cmp esi, 2
jne 0x1009fc40
movss xmm2, dword [0x10139258]
movsd xmm0, qword [0x10139538]
movss dword [ebp - 0x12c], xmm2
jmp 0x1009fc58
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 0x1009fd6d
addss xmm0, dword [0x10139eb4]
comiss xmm2, xmm0
ja 0x1009fd6d
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm1, xmm2
ja 0x1009fd6d
movaps xmm0, xmm1
addss xmm0, dword [0x10139ec8]
comiss xmm2, xmm0
ja 0x1009fd6d
cmp byte [0x101a516c], 0
jne 0x1009fd7a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movss xmm3, dword [ebp - 0x128]
movss xmm4, dword [ebp - 0x130]
test si, ax
je 0x1009fd6d
cvttss2si edx, xmm3
mov byte [0x101a516c], 1
cvttss2si esi, xmm4
mov word [0x101a516e], dx
mov word [0x101a5170], si
jmp 0x1009fd88
cmp byte [0x101a516c], 0
je 0x1009fe7a
mov si, word [0x101a5170]
mov dx, word [0x101a516e]
cmp dword [0xe61e58], 0x550
jl 0x1009fda9
cmp dword [0x102bcb7c], 0
je 0x1009fda9
mov eax, 0x3ac
mov ecx, 0x1b8
jmp 0x1009fdb3
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.101289e0
movss xmm0, dword [ebp - 0x138]
mov esi, eax
mov dword [0x101a5174], esi
call fcn.101289e0
cmp byte [0x101a516c], 0
mov edi, eax
mov dword [0x101a5178], edi
je 0x1009fe7a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
jne 0x1009fe7a
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 0x1009ffda
lea eax, [ecx + 0xe90]
mov ecx, 0x8128adc
push eax
mov eax, 0x402320
call eax
jmp 0x1009ffe5
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.1009f660
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 0x100a01fc
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 0x100a0260
cmp eax, 2
jne 0x100a026a
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 0x100a03fc
sub esp, 0x20
cmp byte [0x8793386], 0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3edcfab0
je 0x100a03f2
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 0x100a0451
mov eax, dword [0x101a51b8]
cmp eax, 3
jne 0x100a03d9
mov dword [0x101a51b8], 2
call edi
mov dword [0x101a51bc], eax
jmp 0x100a0451
cmp eax, 2
mov ecx, 1
cmove eax, ecx
mov dword [0x101a51b8], eax
call edi
mov dword [0x101a51bc], eax
jmp 0x100a0451
mov dword [esp + 0x10], 0x3dfdf3b2
jmp 0x100a041f
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 0x100a067a
cmp byte [0x8793386], 0
je 0x100a0630
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 0x100a05db
mov eax, dword [0x101a51b8]
cmp eax, 1
jne 0x100a05c4
mov dword [0x101a51b8], 2
jmp 0x100a05d4
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 0x100a0712
cmp byte [0x8793386], 0
je 0x100a06c2
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
mov eax, dword [0xe8cb7c]
add esp, 0xc
cmp byte [eax + 8], 0
jne 0x100a0684
movsd xmm0, qword [0x101394e0]
jmp 0x100a068c
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 0x100a05e1
mov dword [esp + 0x10], 0
jmp 0x100a0638
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 0x100a0760
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x100a06d7
movsd xmm0, qword [0x101394e0]
jmp 0x100a06df
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 0x100a0760
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x100a0727
movsd xmm0, qword [0x101394e0]
jmp 0x100a072f
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 0x100a09b8
cmp byte [0x8793386], 0
je 0x100a0987
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 0x100a092c
call dword [ebp - 0x128]
mov ecx, dword [0x101955f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x100a0a27
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 0x100a0a27
call dword [ebp - 0x128]
mov ecx, dword [0x101955f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x100a0a27
cmp byte [0x1018ddbd], 0
je 0x100a0966
mov byte [0x1018ddbd], 0
call dword [ebp - 0x128]
mov dword [0x101955f0], eax
jmp 0x100a0a27
mov byte [0x1018ddbd], 1
mov dword [0x1017e1d0], 5
call dword [ebp - 0x128]
mov dword [0x101955f0], eax
jmp 0x100a0a27
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 0x100a09e7
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 0x100a0a30
sub ecx, edx
je 0x100a0a8a
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 0x100a0a91
mov byte [ebp - 0x131], 1
test byte [ebp - 0x140], 1
je 0x100a0ad6
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x100a0ad6
mov ecx, dword [ebp - 0x120]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100a0acc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a0acc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100db7d1
add esp, 8
cmp byte [ebp - 0x131], 0
je 0x100a0fee
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 0x100a0cc2
cmp byte [0x8793386], 0
je 0x100a0c91
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 0x100a0d2d
cmp byte [0x101f018f], 0
jne 0x100a0c71
mov ecx, 0x10144808
call fcn.1002df60
mov ecx, 0x10144808
call fcn.1002dd00
cmp dword [0x10144810], 1
jne 0x100a0c85
push str.Camera__RESET_
push 1
push 0x1018d580
call fcn.10078650
add esp, 0xc
call edi
mov dword [0x101955f0], eax
jmp 0x100a0d2d
call edi
sub eax, dword [0x1018f938]
cmp eax, 0x3e8
jb 0x100a0c85
call fcn.100ac590
call edi
mov dword [0x101955f0], eax
jmp 0x100a0d2d
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 0x100a0cf1
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 0x100a0f6a
cmp byte [0x8793386], 0
je 0x100a0ef0
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 0x100a0fee
cmp byte [0x101f018f], 0
jne 0x100a0ec2
cmp dword [0x1014483c], 0
je 0x100a0e89
mov ecx, 0x10144808
call fcn.1002df60
mov edx, str.Camera3D__OFFRESET_
jmp 0x100a0e8e
mov edx, str.Camera3D__ON_
mov ecx, 0x10144808
call fcn.1002dd00
push edx
push 1
push 0x1018d580
call fcn.10078650
add esp, 0xc
call esi
mov dword [0x101955f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100db7c0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call esi
sub eax, dword [0x1018f978]
cmp eax, 0x3e8
jb 0x100a0ed6
call fcn.100ac520
call esi
mov dword [0x101955f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100db7c0
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.100db7c0
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.100db7c0
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.100db7c0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret