Function at 0x1009ba90
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 [0x1013e00c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
cmp dword [0x101a017c], 0xffffffff
push esi
push edi
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
je 0x1009cfbe
call fcn.10079020
cmp al, 1
je 0x1009cfb4
cmp byte [0x1018b7bd], 1
je 0x1009cfb4
cmp dword [0x101eb048], 0
je 0x1009cfbe
cmp dword [0x102b7880], 0
je 0x1009cfbe
call fcn.10078000
test al, al
jne 0x1009cfbe
push 0x48
mov esi, 0x861110
call esi
mov edi, 0x85ec20
mov ecx, eax
call edi
test al, al
jne 0x1009cfbe
push 1
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009cfbe
push 0x39
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009cfbe
push 0x41
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009cfbe
push 0x22
call esi
mov ecx, eax
call edi
test al, al
jne 0x1009cfbe
mov eax, dword [0x101eb048]
cmp eax, 1
je 0x1009bb81
cmp eax, 2
jne 0x1009cfbe
mov eax, dword [0x7bc4f04]
mov dword [ebp - 0x130], eax
mov esi, dword [0x101a01b8]
movss xmm0, dword [eax + 0x418]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x10135628]
cvttsd2si eax, xmm0
cdq
xor eax, edx
sub eax, edx
imul eax, eax, 0x2d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x101357a8]
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x124], xmm0
call fcn.1009b450
cmp esi, 1
jne 0x1009bbf1
movss xmm2, dword [0x10134fcc]
movsd xmm0, qword [0x10135248]
movss dword [ebp - 0x114], xmm2
jmp 0x1009bc28
cmp esi, 2
jne 0x1009bc10
movss xmm2, dword [0x10135008]
movsd xmm0, qword [0x101352e8]
movss dword [ebp - 0x114], xmm2
jmp 0x1009bc28
movss xmm0, dword [0x101350e0]
movss dword [ebp - 0x114], xmm0
movsd xmm0, qword [0x10135390]
mov eax, dword [0x101a018c]
mov esi, 0x8000
cvtpd2ps xmm0, xmm0
mov ecx, dword [0x879340c]
mov edx, dword [0x8793410]
movd xmm2, ecx
movss dword [ebp - 0x12c], xmm0
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
cvtdq2ps xmm2, xmm2
addsd xmm0, qword [eax*8 + 0x10136550]
mov eax, dword [0x101a0188]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
shr eax, 0x1f
cvtdq2pd xmm0, xmm0
movss dword [ebp - 0x120], xmm1
addsd xmm0, qword [eax*8 + 0x10136550]
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 - 0x10c], xmm0
comiss xmm0, xmm2
movd xmm4, eax
cvtdq2ps xmm4, xmm4
movss dword [ebp - 0x110], xmm3
movss dword [ebp - 0x118], xmm4
ja 0x1009bd3d
addss xmm0, dword [0x10135c5c]
comiss xmm2, xmm0
ja 0x1009bd3d
movd xmm2, edx
cvtdq2ps xmm2, xmm2
comiss xmm1, xmm2
ja 0x1009bd3d
movaps xmm0, xmm1
addss xmm0, dword [0x10135c70]
comiss xmm2, xmm0
ja 0x1009bd3d
cmp byte [0x101a016c], 0
jne 0x1009bd4a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
movss xmm3, dword [ebp - 0x110]
movss xmm4, dword [ebp - 0x118]
test si, ax
je 0x1009bd3d
cvttss2si edx, xmm3
mov byte [0x101a016c], 1
cvttss2si esi, xmm4
mov word [0x101a016e], dx
mov word [0x101a0170], si
jmp 0x1009bd58
cmp byte [0x101a016c], 0
je 0x1009be4a
mov si, word [0x101a0170]
mov dx, word [0x101a016e]
cmp dword [0xe61e58], 0x550
jl 0x1009bd79
cmp dword [0x102b79e0], 0
je 0x1009bd79
mov eax, 0x3ac
mov ecx, 0x1b8
jmp 0x1009bd83
mov ecx, 0x12c
mov eax, 0x1f4
movss xmm2, dword [0x10135b00]
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 - 0x10c]
maxss xmm0, xmm3
minss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movaps xmm3, xmm1
movd xmm1, ecx
subss xmm4, xmm0
movss dword [ebp - 0x10c], xmm3
cvtdq2ps xmm1, xmm1
addss xmm4, dword [ebp - 0x120]
movaps xmm0, xmm3
maxss xmm2, xmm4
minss xmm1, xmm2
movss dword [ebp - 0x120], xmm1
call fcn.10124980
movss xmm0, dword [ebp - 0x120]
mov esi, eax
mov dword [0x101a0174], esi
call fcn.10124980
cmp byte [0x101a016c], 0
mov edi, eax
mov dword [0x101a0178], edi
je 0x1009be4a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
jne 0x1009be4a
mov byte [0x101a016c], 0
mov dword [0x101a0188], esi
mov dword [0x101a018c], edi
mov dword [0x101a0174], esi
mov dword [0x101a0178], edi
movss xmm1, dword [ebp - 0x120]
mov esi, 0x637c60
addss xmm1, dword [0x10135aa0]
movss xmm2, dword [ebp - 0x10c]
subss xmm2, dword [0x101350e0]
push ecx
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
movss dword [ebp - 0x110], xmm1
movss dword [ebp - 0x118], 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 - 0x114]
add esp, 0x2c
mov dword [esp], 0
push 1
push 1
sub esp, 0x20
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ebp - 0x12c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x101a01b4]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x101a01b0]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [0x10135af8]
mov dword [esp + 0xc], 0x42c80000
mov dword [esp + 8], 0x42be0000
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [0x10135ae0]
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 - 0x130]
mov ecx, dword [0xe61e18]
mov esi, dword [eax + 0xb0]
mov edi, dword [eax + 0xac]
lea eax, [ecx - 0x52]
cmp eax, 0x44
ja 0x1009bfaa
lea eax, [ecx + 0xe90]
mov ecx, 0x8128adc
push eax
mov eax, 0x402320
call eax
jmp 0x1009bfb5
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 [0x101a0198]
mov esi, 0x635fd0
sub eax, dword [0x101a01a8]
add eax, dword [0x101a0174]
mov dword [0x101a01a0], eax
mov eax, dword [0x101a019c]
sub eax, dword [0x101a01ac]
add eax, dword [0x101a0178]
push 1
mov dword [0x101a01a4], eax
call esi
mov eax, dword [0x101a01a4]
movss xmm0, dword [ebp - 0x124]
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 + 0x10136550]
mov eax, dword [0x101a01a0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10136550]
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 [0x101a01c0]
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.1009b630
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 [0x101eb048]
cmp eax, 1
jne 0x1009c1cc
movss xmm0, dword [ebp - 0x110]
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 - 0x10c]
addss xmm0, xmm1
movss dword [esp], xmm0
push 0x7ae9
jmp 0x1009c230
cmp eax, 2
jne 0x1009c23a
movss xmm0, dword [ebp - 0x110]
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 - 0x118]
movss dword [esp], xmm0
push 0x7ae7
mov eax, 0x637c60
call eax
add esp, 0x30
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [0x10135b9c]
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 - 0x120]
addss xmm0, dword [0x10135cb4]
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 - 0x110], eax
mov eax, 0x637c60
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esp], 0
push 1
push 1
je 0x1009c3cc
sub esp, 0x20
cmp byte [0x8793386], 0
mov dword [esp + 0x1c], 0x3d8726c2
mov dword [esp + 0x18], 0x3df9db14
mov dword [esp + 0x14], 0x3edcfab0
je 0x1009c3c2
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 - 0x110]
add esp, 0x3c
call edi
mov ecx, dword [0x101a01bc]
add ecx, 0xc8
cmp eax, ecx
jb 0x1009c421
mov eax, dword [0x101a01b8]
cmp eax, 3
jne 0x1009c3a9
mov dword [0x101a01b8], 2
call edi
mov dword [0x101a01bc], eax
jmp 0x1009c421
cmp eax, 2
mov ecx, 1
cmove eax, ecx
mov dword [0x101a01b8], eax
call edi
mov dword [0x101a01bc], eax
jmp 0x1009c421
mov dword [esp + 0x10], 0x3dfdf3b2
jmp 0x1009c3ef
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 - 0x110]
add esp, 0x30
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [0x10135c50]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [0x10135c70]
push ecx
mov dword [esp], 0
push 1
push 1
cvttss2si eax, xmm0
sub esp, 0x20
mov dword [ebp - 0x118], ecx
lea esi, [ecx - 5]
mov dword [esp + 0x1c], 0x3d978d45
mov dword [esp + 0x18], 0x3e1ba5de
movd xmm1, esi
mov dword [ebp - 0x114], 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 - 0x114]
mov ecx, dword [ebp - 0x118]
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 0x1009c64a
cmp byte [0x8793386], 0
je 0x1009c600
movd xmm0, dword [ebp - 0x114]
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 - 0x118]
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 [0x101a01bc]
add ecx, 0xc8
cmp eax, ecx
jb 0x1009c5ab
mov eax, dword [0x101a01b8]
cmp eax, 1
jne 0x1009c594
mov dword [0x101a01b8], 2
jmp 0x1009c5a4
cmp eax, 2
mov ecx, 3
cmove eax, ecx
mov dword [0x101a01b8], eax
call edi
mov dword [0x101a01bc], eax
mov edi, dword [ebp - 0x114]
push 0x12
push 0x12
push edi
push dword [ebp - 0x118]
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x1009c6e2
cmp byte [0x8793386], 0
je 0x1009c692
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
mov eax, dword [0xe8cb7c]
add esp, 0xc
cmp byte [eax + 8], 0
jne 0x1009c654
movsd xmm0, qword [0x10135290]
jmp 0x1009c65c
mov dword [esp + 0x10], 0x3dfdf3b2
mov edi, dword [ebp - 0x114]
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 - 0x118]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
jmp 0x1009c5b1
mov dword [esp + 0x10], 0
jmp 0x1009c608
movsd xmm0, qword [0x10135300]
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 0x1009c730
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x1009c6a7
movsd xmm0, qword [0x10135290]
jmp 0x1009c6af
movsd xmm0, qword [0x10135300]
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 0x1009c730
mov eax, dword [0xe8cb7c]
cmp byte [eax + 8], 0
jne 0x1009c6f7
movsd xmm0, qword [0x10135290]
jmp 0x1009c6ff
movsd xmm0, qword [0x10135300]
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 - 0x118]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
movss xmm0, dword [ebp - 0x10c]
add esp, 0x30
addss xmm0, dword [0x10135ae8]
cvttss2si ecx, xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [0x10135c78]
push ecx
mov dword [esp], 0
push 1
push 1
cvttss2si eax, xmm0
sub esp, 0x20
mov dword [ebp - 0x10c], ecx
lea edi, [ecx - 5]
mov dword [esp + 0x1c], 0x3d978d45
mov dword [esp + 0x18], 0x3e1ba5de
movd xmm1, edi
mov dword [ebp - 0x114], 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 - 0x114]
mov ecx, dword [ebp - 0x10c]
push 0x12
push 0x12
push eax
push ecx
mov eax, 0x790b10
call eax
add esp, 0x40
test al, al
je 0x1009c988
cmp byte [0x8793386], 0
je 0x1009c957
push 0
push 0
push 0x19
mov eax, 0x6d6c20
call eax
movd xmm0, dword [ebp - 0x114]
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 - 0x10c]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
cmp dword [0x101eb0a0], 2
jne 0x1009c8fc
call dword [ebp - 0x110]
mov ecx, dword [0x101905f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009c9f7
mov ecx, dword [0x1051c598]
cmp byte [ecx + 0x29], 1
setne al
mov byte [ecx + 0x29], al
call dword [ebp - 0x110]
mov dword [0x101905f0], eax
jmp 0x1009c9f7
call dword [ebp - 0x110]
mov ecx, dword [0x101905f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009c9f7
cmp byte [0x10188dbd], 0
je 0x1009c936
mov byte [0x10188dbd], 0
call dword [ebp - 0x110]
mov dword [0x101905f0], eax
jmp 0x1009c9f7
mov byte [0x10188dbd], 1
mov dword [0x101791d0], 5
call dword [ebp - 0x110]
mov dword [0x101905f0], eax
jmp 0x1009c9f7
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 0x1009c9b7
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 - 0x114]
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 - 0x10c]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
mov ecx, 0x101eadc3
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009ca00
sub ecx, edx
je 0x1009ca5a
push ecx
push 0x101eadc3
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], al
call fcn.1000b650
sub esp, 8
mov dword [ebp - 0x128], 1
lea ecx, [ebp - 0x148]
call fcn.1000b610
mov byte [ebp - 0x119], 0
cmp eax, 0xffffffff
jne 0x1009ca61
mov byte [ebp - 0x119], 1
test byte [ebp - 0x128], 1
je 0x1009caa6
mov edx, dword [ebp - 0x134]
cmp edx, 0x10
jb 0x1009caa6
mov ecx, dword [ebp - 0x148]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009ca9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009ca9c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100d7723
add esp, 8
cmp byte [ebp - 0x119], 0
je 0x1009cfbe
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [0x10135ad0]
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 - 0x124], 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 - 0x124]
mov eax, 0x790b10
push 0x12
push 0x12
push edi
push dword [ebp - 0x10c]
call eax
add esp, 0x40
test al, al
je 0x1009cc92
cmp byte [0x8793386], 0
je 0x1009cc61
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 - 0x10c]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
mov edi, dword [ebp - 0x110]
add esp, 0x30
call edi
mov ecx, dword [0x101905f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009ccfd
cmp byte [0x101eb18f], 0
jne 0x1009cc41
mov ecx, 0x1013f808
call fcn.1002ce00
mov ecx, 0x1013f808
call fcn.1002cb90
cmp dword [0x1013f810], 1
jne 0x1009cc55
push str.Camera__RESET_
push 1
push 0x10188580
call fcn.10077df0
add esp, 0xc
call edi
mov dword [0x101905f0], eax
jmp 0x1009ccfd
call edi
sub eax, dword [0x1018a938]
cmp eax, 0x3e8
jb 0x1009cc55
call fcn.100a8330
call edi
mov dword [0x101905f0], eax
jmp 0x1009ccfd
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 0x1009ccc1
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 - 0x10c]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push 0x7ae7
call eax
add esp, 0x30
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [0x10135ae8]
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 - 0x118]
mov eax, 0x790b10
push 0x12
push 0x12
push edi
push esi
call eax
add esp, 0x40
test al, al
je 0x1009cf3a
cmp byte [0x8793386], 0
je 0x1009cec0
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 - 0x110]
add esp, 0x30
call esi
mov ecx, dword [0x101905f0]
add ecx, 0xfa
cmp eax, ecx
jb 0x1009cfbe
cmp byte [0x101eb18f], 0
jne 0x1009ce92
cmp dword [0x1013f83c], 0
je 0x1009ce59
mov ecx, 0x1013f808
call fcn.1002ce00
mov edx, str.Camera3D__OFFRESET_
jmp 0x1009ce5e
mov edx, str.Camera3D__ON_
mov ecx, 0x1013f808
call fcn.1002cb90
push edx
push 1
push 0x10188580
call fcn.10077df0
add esp, 0xc
call esi
mov dword [0x101905f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call esi
sub eax, dword [0x1018a978]
cmp eax, 0x3e8
jb 0x1009cea6
call fcn.100a82c0
call esi
mov dword [0x101905f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100d7712
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.100d7712
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.100d7712
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [0x102b7880], 0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100d7712
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret