Function at 0x1009e540
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 [0x1014200c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
cmp dword [0x101a417c], 0xffffffff
push esi
push edi
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
je 0x1009fa6e
call fcn.10078350
cmp al, 1
je 0x1009fa64
cmp byte [0x1018f7bd], 1
je 0x1009fa64
cmp dword [0x101ef048], 0
je 0x1009fa6e
cmp dword [0x102bba10], 0
je 0x1009fa6e
call fcn.10077330
test al, al
jne 0x1009fa6e
push 0x48
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x1009fa6e
push 1
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009fa6e
push 0x39
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009fa6e
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009fa6e
push 0x22
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009fa6e
mov eax, dword [0x101ef048]
cmp eax, 1
je 0x1009e631
cmp eax, 2
jne 0x1009fa6e
mov eax, dword [0x7bc4f04]
mov dword [ebp - 0x148], eax
mov esi, dword [0x101a41b8]
movss xmm0, dword [eax + 0x418]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x10138868]
cvttsd2si eax, xmm0
cdq
xor eax, edx
sub eax, edx
imul eax, eax, 0x2d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x101389e8]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x13c], xmm0
call fcn.1009df00
cmp esi, 1
jne 0x1009e6a1
movss xmm2, dword [0x1013820c]
movsd xmm0, qword [0x10138488]
movss dword [ebp - 0x12c], xmm2
jmp 0x1009e6d8
cmp esi, 2
jne 0x1009e6c0
movss xmm2, dword [0x10138248]
movsd xmm0, qword [0x10138528]
movss dword [ebp - 0x12c], xmm2
jmp 0x1009e6d8
movss xmm0, dword [0x10138320]
movss dword [ebp - 0x12c], xmm0
movsd xmm0, qword [0x101385d0]
mov eax, dword [0x101a418c]
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 + 0x10139790]
mov eax, dword [0x101a4188]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
movss dword [ebp - 0x138], xmm1
addsd xmm0, qword [eax*8 + 0x10139790]
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 0x1009e7ed
addss xmm0, dword [0x10138e9c]
comiss xmm2, xmm0
ja 0x1009e7ed
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm1, xmm2
ja 0x1009e7ed
movaps xmm0, xmm1
addss xmm0, dword [0x10138eb0]
comiss xmm2, xmm0
ja 0x1009e7ed
cmp byte [0x101a416c], 0
jne 0x1009e7fa
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movss xmm3, dword [ebp - 0x128]
movss xmm4, dword [ebp - 0x130]
test si, ax
je 0x1009e7ed
cvttss2si edx, xmm3
mov byte [0x101a416c], 1
cvttss2si esi, xmm4
mov word [0x101a416e], dx
mov word [0x101a4170], si
jmp 0x1009e808
cmp byte [0x101a416c], 0
je 0x1009e8fa
mov si, word [0x101a4170]
mov dx, word [0x101a416e]
cmp dword [0xe61e58], 0x550
jl 0x1009e829
cmp dword [0x102bbb70], 0
je 0x1009e829
mov eax, 0x3ac
mov ecx, 0x1b8
jmp 0x1009e833
mov ecx, 0x12c
mov eax, 0x1f4
movss xmm2, dword [0x10138d40]
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.10127010
movss xmm0, dword [ebp - 0x138]
mov esi, eax
mov dword [0x101a4174], esi
call fcn.10127010
cmp byte [0x101a416c], 0
mov edi, eax
mov dword [0x101a4178], edi
je 0x1009e8fa
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
jne 0x1009e8fa
mov byte [0x101a416c], 0
mov dword [0x101a4188], esi
mov dword [0x101a418c], edi
mov dword [0x101a4174], esi
mov dword [0x101a4178], edi
movss xmm1, dword [ebp - 0x138]
mov esi, 0x637c60
addss xmm1, dword [0x10138ce0]
movss xmm2, dword [ebp - 0x124]
subss xmm2, dword [0x10138320]
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 [0x101a41b4]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x101a41b0]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10138d38]
mov dword [esp + 0xc], 0x42c80000
mov dword [esp + 8], 0x42be0000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [0x10138d20]
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 0x1009ea5a
lea eax, [ecx + 0xe90]
mov ecx, 0x8128adc
push eax
mov eax, 0x402320
call eax
jmp 0x1009ea65
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 [0x101a4198]
mov esi, 0x635fd0
sub eax, dword [0x101a41a8]
add eax, dword [0x101a4174]
mov dword [0x101a41a0], eax
mov eax, dword [0x101a419c]
sub eax, dword [0x101a41ac]
add eax, dword [0x101a4178]
push 1
mov dword [0x101a41a4], eax
call esi
mov eax, dword [0x101a41a4]
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 + 0x10139790]
mov eax, dword [0x101a41a0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10139790]
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 [0x101a41c0]
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.1009e0e0
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 [0x101ef048]
cmp eax, 1
jne 0x1009ec7c
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 0x1009ece0
cmp eax, 2
jne 0x1009ecea
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 [0x10138ddc]
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 [0x10138ef4]
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 0x1009ee7c
sub esp, 0x20
cmp byte [0x8793386], 0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3edcfab0
je 0x1009ee72
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 [0x101a41bc]
add ecx, 0xc8
cmp eax, ecx
jb 0x1009eed1
mov eax, dword [0x101a41b8]
cmp eax, 3
jne 0x1009ee59
mov dword [0x101a41b8], 2
call edi
mov dword [0x101a41bc], eax
jmp 0x1009eed1
cmp eax, 2
mov ecx, 1
cmove eax, ecx
mov dword [0x101a41b8], eax
call edi
mov dword [0x101a41bc], eax
jmp 0x1009eed1
mov dword [esp + 0x10], 0x3dfdf3b2
jmp 0x1009ee9f
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 [0x10138e90]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10138eb0]
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 0x1009f0fa
cmp byte [0x8793386], 0
je 0x1009f0b0
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 [0x101a41bc]
add ecx, 0xc8
cmp eax, ecx
jb 0x1009f05b
mov eax, dword [0x101a41b8]
cmp eax, 1
jne 0x1009f044
mov dword [0x101a41b8], 2
jmp 0x1009f054
cmp eax, 2
mov ecx, 3
cmove eax, ecx
mov dword [0x101a41b8], eax
call edi
mov dword [0x101a41bc], 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 0x1009f192
cmp byte [0x8793386], 0
je 0x1009f142
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
mov eax, dword [0xe8cb7c]
add esp, 0xc
cmp byte [eax + 8], 0
jne 0x1009f104
movsd xmm0, qword [0x101384d0]
jmp 0x1009f10c
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 0x1009f061
mov dword [esp + 0x10], 0
jmp 0x1009f0b8
movsd xmm0, qword [0x10138540]
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 0x1009f1e0
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x1009f157
movsd xmm0, qword [0x101384d0]
jmp 0x1009f15f
movsd xmm0, qword [0x10138540]
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 0x1009f1e0
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x1009f1a7
movsd xmm0, qword [0x101384d0]
jmp 0x1009f1af
movsd xmm0, qword [0x10138540]
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 [0x10138d28]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10138eb8]
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 0x1009f438
cmp byte [0x8793386], 0
je 0x1009f407
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 [0x101ef0a0], 2
jne 0x1009f3ac
call dword [ebp - 0x128]
mov ecx, dword [0x101945f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009f4a7
mov ecx, dword [0x10520738]
cmp byte [ecx + 0x29], 1
setne al
mov byte [ecx + 0x29], al
call dword [ebp - 0x128]
mov dword [0x101945f0], eax
jmp 0x1009f4a7
call dword [ebp - 0x128]
mov ecx, dword [0x101945f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009f4a7
cmp byte [0x1018cdbd], 0
je 0x1009f3e6
mov byte [0x1018cdbd], 0
call dword [ebp - 0x128]
mov dword [0x101945f0], eax
jmp 0x1009f4a7
mov byte [0x1018cdbd], 1
mov dword [0x1017d1d0], 5
call dword [ebp - 0x128]
mov dword [0x101945f0], eax
jmp 0x1009f4a7
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 0x1009f467
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, 0x101eedc3
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009f4b0
sub ecx, edx
je 0x1009f50a
push ecx
push 0x101eedc3
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0xf
mov byte [ebp - 0x120], al
call fcn.1000b550
sub esp, 8
mov dword [ebp - 0x140], 1
lea ecx, [ebp - 0x120]
call fcn.1000b510
mov byte [ebp - 0x131], 0
cmp eax, 0xffffffff
jne 0x1009f511
mov byte [ebp - 0x131], 1
test byte [ebp - 0x140], 1
je 0x1009f556
mov edx, dword [ebp - 0x10c]
cmp edx, 0x10
jb 0x1009f556
mov ecx, dword [ebp - 0x120]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009f54c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009f54c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100d9e0f
add esp, 8
cmp byte [ebp - 0x131], 0
je 0x1009fa6e
movss xmm0, dword [ebp - 0x138]
addss xmm0, dword [0x10138d10]
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 0x1009f742
cmp byte [0x8793386], 0
je 0x1009f711
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 [0x101945f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009f7ad
cmp byte [0x101ef18f], 0
jne 0x1009f6f1
mov ecx, 0x10143808
call fcn.1002cbd0
mov ecx, 0x10143808
call fcn.1002c970
cmp dword [0x10143810], 1
jne 0x1009f705
push str.Camera__RESET_
push 1
push 0x1018c580
call fcn.10077120
add esp, 0xc
call edi
mov dword [0x101945f0], eax
jmp 0x1009f7ad
call edi
sub eax, dword [0x1018e938]
cmp eax, 0x3e8
jb 0x1009f705
call fcn.100aaf40
call edi
mov dword [0x101945f0], eax
jmp 0x1009f7ad
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 0x1009f771
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 [0x10138d28]
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 0x1009f9ea
cmp byte [0x8793386], 0
je 0x1009f970
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 [0x101945f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009fa6e
cmp byte [0x101ef18f], 0
jne 0x1009f942
cmp dword [0x1014383c], 0
je 0x1009f909
mov ecx, 0x10143808
call fcn.1002cbd0
mov edx, str.Camera3D__OFFRESET_
jmp 0x1009f90e
mov edx, str.Camera3D__ON_
mov ecx, 0x10143808
call fcn.1002c970
push edx
push 1
push 0x1018c580
call fcn.10077120
add esp, 0xc
call esi
mov dword [0x101945f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d9dfe
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call esi
sub eax, dword [0x1018e978]
cmp eax, 0x3e8
jb 0x1009f956
call fcn.100aaed0
call esi
mov dword [0x101945f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d9dfe
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.100d9dfe
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.100d9dfe
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [0x102bba10], 0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100d9dfe
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret