Function at 0x180004830
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x13e0]
mov eax, 0x14e0
call fcn.18004fbc0
sub rsp, rax
mov rax, qword [0x180063040]
xor rax, rsp
mov qword [rbp + 0x13b0], rax
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
mov rcx, rax
call fcn.18004aff0
lea rcx, [rbp + 0xda0]
mov dword [0x180063cdc], eax
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.18004b740
mov rcx, rax
call fcn.18004bc30
lea rcx, [rbp + 0xda0]
mov dword [0x180063cc8], eax
call fcn.1800481b0
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.18004a790
mov rbx, rax
mov rdx, qword [rax + 0x50]
test rdx, rdx
jne 0x1800048d5
xor eax, eax
jmp 0x1800048f2
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x1800048f5
mov rcx, qword [0x180064008]
mov rax, qword [rcx]
call qword [rax + 0xf8]
mov qword [rbx + 0x58], rax
test rax, rax
lea rcx, [rbp + 0xda0]
setne byte [0x180063cba]
call fcn.1800481b0
mov rcx, rax
call fcn.18004b310
lea rcx, [rbp + 0xda0]
mov dword [0x180063cc4], eax
call fcn.1800481b0
mov rcx, rax
call fcn.18004b4a0
mov dword [0x180063cbc], eax
mov eax, dword [0x180063c7c]
cmp eax, 1
jne 0x18000494c
mov dword [0x180063c7c], 0
call fcn.180005510
jmp 0x180004954
inc eax
mov dword [0x180063c7c], eax
cmp byte [0x180063cc3], 0
mov qword [rsp + 0x14f8], rdi
je 0x180004a93
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004a93
mov rax, qword [rax + 8]
test rax, rax
jne 0x1800049ab
mov rcx, qword [0x180064008]
mov r8, qword [rcx]
call qword [r8 + 0xf8]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004a93
mov r8, qword [rbx + 0x368]
test r8, r8
jne 0x180004a7d
cmp byte [0x180063cf1], r8b
jne 0x180004a06
mov rcx, qword [0x180064008]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063cf1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004a06
mov rcx, qword [0x180064008]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063cf2], al
jmp 0x180004a0d
movzx eax, byte [0x180063cf2]
mov r8, qword [rbx]
lea rcx, str.field_71429_W
test al, al
lea rdi, [0x180058770]
cmovne rdi, rcx
test r8, r8
jne 0x180004a2d
xor edx, edx
jmp 0x180004a50
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004a50
mov rcx, qword [0x180064008]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + 0xf8]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180064008]
lea r9, [0x180056df8]
mov r8, rdi
mov rax, qword [rcx]
mov r10, qword [rax + 0x2f0]
call r10
mov qword [rbx + 0x368], rax
mov r8, rax
test rax, rax
je 0x180004a93
mov rcx, qword [0x180064008]
xor r9d, r9d
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x368]
cmp byte [0x180063ccd], 0
je 0x180004bca
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004bca
mov rax, qword [rax + 8]
test rax, rax
jne 0x180004ae2
mov rcx, qword [0x180064008]
mov r8, qword [rcx]
call qword [r8 + 0xf8]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004bca
mov r8, qword [rbx + 0x370]
test r8, r8
jne 0x180004bb4
cmp byte [0x180063cf1], r8b
jne 0x180004b3d
mov rcx, qword [0x180064008]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063cf1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004b3d
mov rcx, qword [0x180064008]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063cf2], al
jmp 0x180004b44
movzx eax, byte [0x180063cf2]
mov r8, qword [rbx]
lea rcx, str.field_71467_ac
test al, al
lea rdi, [0x1800587a8]
cmovne rdi, rcx
test r8, r8
jne 0x180004b64
xor edx, edx
jmp 0x180004b87
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004b87
mov rcx, qword [0x180064008]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + 0xf8]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180064008]
lea r9, [0x180056df8]
mov r8, rdi
mov rax, qword [rcx]
mov r10, qword [rax + 0x2f0]
call r10
mov qword [rbx + 0x370], rax
mov r8, rax
test rax, rax
je 0x180004bca
mov rcx, qword [0x180064008]
xor r9d, r9d
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x368]
cmp byte [0x180063cb7], 0
je 0x180004bed
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
mov edx, dword [0x1800630a0]
mov rcx, rax
call fcn.18004b180
call fcn.180005700
call fcn.1800080b0
cmp byte [0x180063cbb], 0
je 0x180004d37
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004d37
mov rax, qword [rax + 8]
test rax, rax
jne 0x180004c55
mov rcx, qword [0x180064008]
mov r8, qword [rcx]
call qword [r8 + 0xf8]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004d37
mov r8, qword [rbx + 0x30]
test r8, r8
jne 0x180004d21
cmp byte [0x180063cf1], r8b
jne 0x180004cad
mov rcx, qword [0x180064008]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063cf1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004cad
mov rcx, qword [0x180064008]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063cf2], al
jmp 0x180004cb4
movzx eax, byte [0x180063cf2]
mov r8, qword [rbx]
lea rcx, str.field_70178_ae
test al, al
lea rdi, [0x180057128]
cmovne rdi, rcx
test r8, r8
jne 0x180004cd4
xor edx, edx
jmp 0x180004cf7
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004cf7
mov rcx, qword [0x180064008]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + 0xf8]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180064008]
lea r9, [0x180056e0c]
mov r8, rdi
mov rax, qword [rcx]
mov r10, qword [rax + 0x2f0]
call r10
mov qword [rbx + 0x30], rax
mov r8, rax
test rax, rax
je 0x180004d37
mov rcx, qword [0x180064008]
mov r9b, 1
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x348]
cmp byte [0x180063cd5], 0
mov qword [rsp + 0x14f0], rsi
je 0x180004e92
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.18004b740
mov esi, dword [0x1800630d0]
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004e92
mov rax, qword [rax + 8]
test rax, rax
jne 0x180004db0
mov rcx, qword [0x180064008]
mov r8, qword [rcx]
call qword [r8 + 0xf8]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004e92
mov r8, qword [rbx + 0x10]
test r8, r8
jne 0x180004e7c
cmp byte [0x180063cf1], r8b
jne 0x180004e08
mov rcx, qword [0x180064008]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063cf1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004e08
mov rcx, qword [0x180064008]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063cf2], al
jmp 0x180004e0f
movzx eax, byte [0x180063cf2]
mov r8, qword [rbx]
lea rcx, str.field_78829_b
test al, al
lea rdi, [0x180058340]
cmovne rdi, rcx
test r8, r8
jne 0x180004e2f
xor edx, edx
jmp 0x180004e52
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004e52
mov rcx, qword [0x180064008]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + 0xf8]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180064008]
lea r9, [0x180056df8]
mov r8, rdi
mov rax, qword [rcx]
mov r10, qword [rax + 0x2f0]
call r10
mov qword [rbx + 0x10], rax
mov r8, rax
test rax, rax
je 0x180004e92
mov rcx, qword [0x180064008]
mov r9d, esi
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x368]
call fcn.1800089f0
call fcn.18000dc50
cmp byte [0x180063cd9], 0
je 0x180005025
cmp byte [0x1800630ae], 0
je 0x180005000
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
mov rbx, rax
mov rdx, qword [rax + 0x160]
test rdx, rdx
je 0x180005000
mov rax, qword [rax + 0x168]
test rax, rax
jne 0x180004f10
mov rcx, qword [0x180064008]
mov rax, qword [rcx]
call qword [rax + 0xf8]
mov qword [rbx + 0x168], rax
test rax, rax
je 0x180005000
mov r8, qword [rbx + 0x198]
test r8, r8
jne 0x180004fe3
cmp byte [0x180063cf1], r8b
jne 0x180004f6b
mov rcx, qword [0x180064008]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063cf1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004f6b
mov rcx, qword [0x180064008]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063cf2], al
jmp 0x180004f72
movzx eax, byte [0x180063cf2]
mov r8, qword [rbx + 0x160]
lea rcx, str.field_70737_aN
test al, al
lea rdi, [0x180058570]
cmovne rdi, rcx
test r8, r8
jne 0x180004f96
xor edx, edx
jmp 0x180004fbf
mov rdx, qword [rbx + 0x168]
test rdx, rdx
jne 0x180004fbf
mov rcx, qword [0x180064008]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + 0xf8]
mov rdx, rax
mov qword [rbx + 0x168], rax
mov rcx, qword [0x180064008]
lea r9, [0x180056df8]
mov r8, rdi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
mov r8, rax
mov qword [rbx + 0x198], rax
mov rcx, qword [0x180064008]
mov r9d, 1
mov rdx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x368]
cmp byte [0x180063c85], 0
je 0x180005025
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
movss xmm1, dword [0x180058c1c]
mov rcx, rax
call fcn.18004ad60
call fcn.180009910
call fcn.1800094e0
cmp byte [0x180063cd3], 0
je 0x1800050b4
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
mov rcx, rax
call fcn.180048e00
test al, al
jne 0x1800050b4
lea rcx, [rbp + 0x5b8]
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
lea rcx, [rbp - 0x50]
mov rbx, rax
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
mov rcx, rax
call fcn.180049340
mulsd xmm0, qword [0x180058c40]
xorps xmm1, xmm1
mov rcx, rbx
cvtsd2ss xmm1, xmm0
call fcn.180049760
movaps xmmword [rsp + 0x14d0], xmm6
call fcn.180007d70
lea rdx, str.Minecraft_1.8.9
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
xor edx, edx
lea rcx, [rbp + 0xda0]
mov r8d, 0x608
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0xda0]
call fcn.1800481b0
xor edx, edx
lea rcx, [rbp + 0xbc0]
mov r8d, 0x1d8
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0xbc0]
lea rcx, [rbp + 0xda0]
call fcn.18004a420
cmp byte [0x180063ccc], 0
je 0x180005265
lea rcx, [rbp - 0x50]
movaps xmmword [rsp + 0x14c0], xmm7
call fcn.1800481b0
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.18004a790
lea rcx, [rbp + 0xbc0]
mov rbx, rax
call fcn.180047840
lea rcx, [rbp + 0xbc0]
movaps xmm7, xmm0
call fcn.1800476e0
movaps xmm6, xmm0
lea rcx, [rbp + 0xbc0]
subsd xmm6, qword [0x180058c38]
call fcn.180047580
movaps xmm3, xmm7
movaps xmm2, xmm6
movaps xmm1, xmm0
mov rcx, rbx
call fcn.18004c710
movaps xmm7, xmmword [rsp + 0x14c0]
lea rcx, [rbp - 0x50]
test al, al
je 0x180005249
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
mov rcx, rax
call fcn.180048f50
test al, al
jne 0x180005265
lea rcx, [rbp - 0x50]
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
xorps xmm1, xmm1
mov rcx, rax
call fcn.180048640
lea rcx, [rbp - 0x50]
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
xorps xmm1, xmm1
mov rcx, rax
call fcn.180048b60
xorps xmm0, xmm0
mov qword [rsp + 0x30], 0
mov r8d, 7
mov qword [rsp + 0x38], 0
lea rdx, str.Sneaked
lea rcx, [rsp + 0x20]
movups xmmword [rsp + 0x20], xmm0
call fcn.180004730
lea rcx, [rsp + 0x20]
call fcn.18004db70
jmp 0x180005265
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
mov rcx, rax
call fcn.180048f50
call fcn.180008370
cmp byte [0x180063cb9], 1
jne 0x18000542a
xor edx, edx
lea rcx, [rbp + 0xbc0]
mov r8d, 0x1d8
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp - 0x50]
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
mov rcx, qword [0x180064008]
mov rdi, qword [rbp + 0xd20]
mov rdx, rdi
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
cmp byte [0x180063cf1], 0
mov rsi, rax
jne 0x18000530f
mov rcx, qword [0x180064008]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063cf1], 1
mov r8, qword [rcx]
mov r9, qword [r8 + 0x30]
call r9
test rax, rax
je 0x18000530f
mov rcx, qword [0x180064008]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063cf2], al
jmp 0x180005316
movzx eax, byte [0x180063cf2]
test al, al
lea rcx, str.func_70632_aY
lea r8, [0x1800585f4]
mov rdx, rsi
cmovne r8, rcx
lea r9, [0x1800585cc]
mov rcx, qword [0x180064008]
mov rax, qword [rcx]
mov r10, qword [rax + 0x108]
call r10
mov rcx, qword [0x180064008]
mov rdx, rsi
mov rbx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov rcx, qword [0x180064008]
mov r8, rbx
mov rdx, rdi
call fcn.1800483f0
test al, al
je 0x18000542a
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18000542a
test rdi, rdi
je 0x18000542a
mov rax, qword [rbp + 0xd28]
test rax, rax
jne 0x1800053c5
mov rcx, qword [0x180064008]
mov rdx, rdi
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov qword [rbp + 0xd28], rax
test rax, rax
je 0x18000542a
lea rcx, [rbp + 0xbc0]
call fcn.180049240
xorps xmm6, xmm6
ucomiss xmm0, xmm6
jp 0x1800053ee
jne 0x1800053ee
lea rcx, [rbp + 0xbc0]
call fcn.180049140
ucomiss xmm0, xmm6
jp 0x1800053ee
je 0x18000542a
lea rcx, [rbp + 0xbc0]
call fcn.1800484f0
lea rcx, [rbp + 0xbc0]
call fcn.180048a10
lea rcx, [rbp + 0xbc0]
call fcn.180048e00
test al, al
je 0x18000542a
movss xmm1, dword [0x180058ba4]
lea rcx, [rbp + 0xbc0]
call fcn.180049760
cmp byte [0x180063cb4], 0
movaps xmm6, xmmword [rsp + 0x14d0]
mov rdi, qword [rsp + 0x14f8]
mov rsi, qword [rsp + 0x14f0]
je 0x1800054e6
lea rcx, [rbp - 0x50]
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
xor edx, edx
mov rcx, rax
call fcn.180048ca0
test al, al
jne 0x1800054e6
lea rcx, [rbp - 0x50]
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
mov rcx, rax
call fcn.180048e00
test al, al
jne 0x1800054e6
lea rcx, [rbp - 0x50]
call fcn.1800481b0
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004a420
lea rcx, [rbp + 0x5b8]
mov rbx, rax
call fcn.1800481b0
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004a420
mov rcx, rax
call fcn.180049340
xorps xmm1, xmm1
mov rcx, rbx
cvtsd2ss xmm1, xmm0
call fcn.180049760
mov rcx, qword [rbp + 0x13b0]
xor rcx, rsp
call fcn.18004ea30
mov rbx, qword [rsp + 0x1500]
add rsp, 0x14e0
pop rbp
ret