Function at 0x180004880
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x13e0]
mov eax, 0x14e0
call fcn.1800505b0
sub rsp, rax
mov rax, qword [0x180063040]
xor rax, rsp
mov qword [rbp + 0x13b0], rax
lea rcx, [rbp + 0xda0]
call fcn.180048d70
mov rcx, rax
call fcn.18004bb60
lea rcx, [rbp + 0xda0]
mov dword [0x180063ccc], eax
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.18004c2b0
mov rcx, rax
call fcn.18004c790
lea rcx, [rbp + 0xda0]
mov dword [0x180063cb8], eax
call fcn.180048d70
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.18004b330
mov rbx, rax
mov rdx, qword [rax + 0x50]
test rdx, rdx
jne 0x180004925
xor eax, eax
jmp 0x180004942
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x180004945
mov rcx, qword [0x180063ff8]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [rbx + 0x58], rax
test rax, rax
lea rcx, [rbp + 0xda0]
setne byte [0x180063caa]
call fcn.180048d70
mov rcx, rax
call fcn.18004be80
lea rcx, [rbp + 0xda0]
mov dword [0x180063cb4], eax
call fcn.180048d70
mov rcx, rax
call fcn.18004c010
mov dword [0x180063cac], eax
mov eax, dword [0x180063c6c]
cmp eax, 1
jne 0x18000499c
mov dword [0x180063c6c], 0
call fcn.180005550
jmp 0x1800049a4
inc eax
mov dword [0x180063c6c], eax
cmp byte [0x180063cb3], 0
mov qword [rsp + 0x14f8], rdi
je 0x180004adf
lea rcx, [rbp + 0xda0]
call fcn.180048d70
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004adf
mov rax, qword [rax + 8]
test rax, rax
jne 0x1800049fb
mov rcx, qword [0x180063ff8]
mov r8, qword [rcx]
call qword [r8 + pe_nt_image_headers64]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004adf
mov r8, qword [rbx + 0x368]
test r8, r8
jne 0x180004ac9
cmp byte [0x180063ce1], r8b
jne 0x180004a56
mov rcx, qword [0x180063ff8]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063ce1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004a56
mov rcx, qword [0x180063ff8]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063ce2], al
jmp 0x180004a5d
movzx eax, byte [0x180063ce2]
mov r8, qword [rbx]
lea rcx, str.field_71429_W
test al, al
lea rdi, [0x180059790]
cmovne rdi, rcx
test r8, r8
jne 0x180004a7d
xor edx, edx
jmp 0x180004aa0
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004aa0
mov rcx, qword [0x180063ff8]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180063ff8]
lea r9, [0x180057df8]
mov r8, rdi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
mov qword [rbx + 0x368], rax
mov r8, rax
test rax, rax
je 0x180004adf
mov rcx, qword [0x180063ff8]
xor r9d, r9d
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x368]
cmp byte [0x180063cbd], 0
je 0x180004c12
lea rcx, [rbp + 0xda0]
call fcn.180048d70
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004c12
mov rax, qword [rax + 8]
test rax, rax
jne 0x180004b2e
mov rcx, qword [0x180063ff8]
mov r8, qword [rcx]
call qword [r8 + pe_nt_image_headers64]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004c12
mov r8, qword [rbx + 0x370]
test r8, r8
jne 0x180004bfc
cmp byte [0x180063ce1], r8b
jne 0x180004b89
mov rcx, qword [0x180063ff8]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063ce1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004b89
mov rcx, qword [0x180063ff8]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063ce2], al
jmp 0x180004b90
movzx eax, byte [0x180063ce2]
mov r8, qword [rbx]
lea rcx, str.field_71467_ac
test al, al
lea rdi, [0x180059778]
cmovne rdi, rcx
test r8, r8
jne 0x180004bb0
xor edx, edx
jmp 0x180004bd3
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004bd3
mov rcx, qword [0x180063ff8]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180063ff8]
lea r9, [0x180057df8]
mov r8, rdi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
mov qword [rbx + 0x370], rax
mov r8, rax
test rax, rax
je 0x180004c12
mov rcx, qword [0x180063ff8]
xor r9d, r9d
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x368]
cmp byte [0x180063ca7], 0
je 0x180004c35
lea rcx, [rbp + 0xda0]
call fcn.180048d70
mov edx, dword [0x1800630a0]
mov rcx, rax
call fcn.18004bcf0
call fcn.180005740
call fcn.180008160
cmp byte [0x180063cab], 0
je 0x180004d7b
lea rcx, [rbp + 0xda0]
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004d7b
mov rax, qword [rax + 8]
test rax, rax
jne 0x180004c9d
mov rcx, qword [0x180063ff8]
mov r8, qword [rcx]
call qword [r8 + pe_nt_image_headers64]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004d7b
mov r8, qword [rbx + 0x30]
test r8, r8
jne 0x180004d65
cmp byte [0x180063ce1], r8b
jne 0x180004cf5
mov rcx, qword [0x180063ff8]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063ce1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004cf5
mov rcx, qword [0x180063ff8]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063ce2], al
jmp 0x180004cfc
movzx eax, byte [0x180063ce2]
mov r8, qword [rbx]
lea rcx, str.field_70178_ae
test al, al
lea rdi, [0x180058128]
cmovne rdi, rcx
test r8, r8
jne 0x180004d1c
xor edx, edx
jmp 0x180004d3f
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004d3f
mov rcx, qword [0x180063ff8]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180063ff8]
lea r9, [0x180057e0c]
mov r8, rdi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
mov qword [rbx + 0x30], rax
mov r8, rax
test rax, rax
je 0x180004d7b
mov rcx, qword [0x180063ff8]
mov r9b, 1
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x348]
cmp byte [0x180063cc5], 0
mov qword [rsp + 0x14f0], rsi
je 0x180004ed2
lea rcx, [rbp + 0xda0]
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.18004c2b0
mov esi, dword [0x1800630d0]
mov rbx, rax
mov rdx, qword [rax]
test rdx, rdx
je 0x180004ed2
mov rax, qword [rax + 8]
test rax, rax
jne 0x180004df4
mov rcx, qword [0x180063ff8]
mov r8, qword [rcx]
call qword [r8 + pe_nt_image_headers64]
mov qword [rbx + 8], rax
test rax, rax
je 0x180004ed2
mov r8, qword [rbx + 0x10]
test r8, r8
jne 0x180004ebc
cmp byte [0x180063ce1], r8b
jne 0x180004e4c
mov rcx, qword [0x180063ff8]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063ce1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004e4c
mov rcx, qword [0x180063ff8]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063ce2], al
jmp 0x180004e53
movzx eax, byte [0x180063ce2]
mov r8, qword [rbx]
lea rcx, str.field_78829_b
test al, al
lea rdi, [0x180059350]
cmovne rdi, rcx
test r8, r8
jne 0x180004e73
xor edx, edx
jmp 0x180004e96
mov rdx, qword [rbx + 8]
test rdx, rdx
jne 0x180004e96
mov rcx, qword [0x180063ff8]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rdx, rax
mov qword [rbx + 8], rax
mov rcx, qword [0x180063ff8]
lea r9, [0x180057df8]
mov r8, rdi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
mov qword [rbx + 0x10], rax
mov r8, rax
test rax, rax
je 0x180004ed2
mov rcx, qword [0x180063ff8]
mov r9d, esi
mov rdx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 0x368]
call fcn.180008aa0
call fcn.18000dd60
cmp byte [0x180063cc9], 0
je 0x180005065
cmp byte [0x1800630ae], 0
je 0x180005040
lea rcx, [rbp + 0xda0]
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
mov rbx, rax
mov rdx, qword [rax + 0x160]
test rdx, rdx
je 0x180005040
mov rax, qword [rax + 0x168]
test rax, rax
jne 0x180004f50
mov rcx, qword [0x180063ff8]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov qword [rbx + 0x168], rax
test rax, rax
je 0x180005040
mov r8, qword [rbx + 0x198]
test r8, r8
jne 0x180005023
cmp byte [0x180063ce1], r8b
jne 0x180004fab
mov rcx, qword [0x180063ff8]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063ce1], 1
mov rax, qword [rcx]
mov r8, qword [rax + 0x30]
call r8
test rax, rax
je 0x180004fab
mov rcx, qword [0x180063ff8]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063ce2], al
jmp 0x180004fb2
movzx eax, byte [0x180063ce2]
mov r8, qword [rbx + 0x160]
lea rcx, str.field_70737_aN
test al, al
lea rdi, [0x180059530]
cmovne rdi, rcx
test r8, r8
jne 0x180004fd6
xor edx, edx
jmp 0x180004fff
mov rdx, qword [rbx + 0x168]
test rdx, rdx
jne 0x180004fff
mov rcx, qword [0x180063ff8]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
mov rdx, rax
mov qword [rbx + 0x168], rax
mov rcx, qword [0x180063ff8]
lea r9, [0x180057df8]
mov r8, rdi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
mov r8, rax
mov qword [rbx + 0x198], rax
mov rcx, qword [0x180063ff8]
mov r9d, 1
mov rdx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x368]
cmp byte [0x180063c75], 0
je 0x180005065
lea rcx, [rbp + 0xda0]
call fcn.180048d70
movss xmm1, dword [0x180059c0c]
mov rcx, rax
call fcn.18004b8d0
call fcn.1800099f0
call fcn.1800095c0
cmp byte [0x180063cc3], 0
je 0x1800050f4
lea rcx, [rbp + 0xda0]
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
mov rcx, rax
call fcn.1800499c0
test al, al
jne 0x1800050f4
lea rcx, [rbp + 0x5b8]
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
lea rcx, [rbp - 0x50]
mov rbx, rax
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
mov rcx, rax
call fcn.180049f00
mulsd xmm0, qword [0x180059c30]
xorps xmm1, xmm1
mov rcx, rbx
cvtsd2ss xmm1, xmm0
call fcn.18004a320
movaps xmmword [rsp + 0x14d0], xmm6
call fcn.180007e20
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.180048d70
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.18004afc0
cmp byte [0x180063cbc], 0
je 0x1800052a5
lea rcx, [rbp - 0x50]
movaps xmmword [rsp + 0x14c0], xmm7
call fcn.180048d70
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.18004b330
lea rcx, [rbp + 0xbc0]
mov rbx, rax
call fcn.180048420
lea rcx, [rbp + 0xbc0]
movaps xmm7, xmm0
call fcn.1800482c0
movaps xmm6, xmm0
lea rcx, [rbp + 0xbc0]
subsd xmm6, qword [0x180059c28]
call fcn.180048160
movaps xmm3, xmm7
movaps xmm2, xmm6
movaps xmm1, xmm0
mov rcx, rbx
call fcn.18004d270
movaps xmm7, xmmword [rsp + 0x14c0]
lea rcx, [rbp - 0x50]
test al, al
je 0x180005289
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
mov rcx, rax
call fcn.180049b10
test al, al
jne 0x1800052a5
lea rcx, [rbp - 0x50]
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
xorps xmm1, xmm1
mov rcx, rax
call fcn.180049200
lea rcx, [rbp - 0x50]
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
xorps xmm1, xmm1
mov rcx, rax
call fcn.180049720
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.180004780
lea rcx, [rsp + 0x20]
call fcn.18004e6d0
jmp 0x1800052a5
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
mov rcx, rax
call fcn.180049b10
call fcn.180008420
cmp byte [0x180063ca9], 1
jne 0x18000546a
xor edx, edx
lea rcx, [rbp + 0xbc0]
mov r8d, 0x1d8
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp - 0x50]
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
mov rcx, qword [0x180063ff8]
mov rdi, qword [rbp + 0xd20]
mov rdx, rdi
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
cmp byte [0x180063ce1], 0
mov rsi, rax
jne 0x18000534f
mov rcx, qword [0x180063ff8]
lea rdx, str.net_minecraftforge_common_ForgeVersion
mov byte [0x180063ce1], 1
mov r8, qword [rcx]
mov r9, qword [r8 + 0x30]
call r9
test rax, rax
je 0x18000534f
mov rcx, qword [0x180063ff8]
mov rdx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov al, 1
mov byte [0x180063ce2], al
jmp 0x180005356
movzx eax, byte [0x180063ce2]
test al, al
lea rcx, str.func_70632_aY
lea r8, [0x1800595d4]
mov rdx, rsi
cmovne r8, rcx
lea r9, [0x1800595d8]
mov rcx, qword [0x180063ff8]
mov rax, qword [rcx]
mov r10, qword [rax + 0x108]
call r10
mov rcx, qword [0x180063ff8]
mov rdx, rsi
mov rbx, rax
mov r8, qword [rcx]
call qword [r8 + 0xb8]
mov rcx, qword [0x180063ff8]
mov r8, rbx
mov rdx, rdi
call fcn.180048fb0
test al, al
je 0x18000546a
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18000546a
test rdi, rdi
je 0x18000546a
mov rax, qword [rbp + 0xd28]
test rax, rax
jne 0x180005405
mov rcx, qword [0x180063ff8]
mov rdx, rdi
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov qword [rbp + 0xd28], rax
test rax, rax
je 0x18000546a
lea rcx, [rbp + 0xbc0]
call fcn.180049e00
xorps xmm6, xmm6
ucomiss xmm0, xmm6
jp 0x18000542e
jne 0x18000542e
lea rcx, [rbp + 0xbc0]
call fcn.180049d00
ucomiss xmm0, xmm6
jp 0x18000542e
je 0x18000546a
lea rcx, [rbp + 0xbc0]
call fcn.1800490b0
lea rcx, [rbp + 0xbc0]
call fcn.1800495d0
lea rcx, [rbp + 0xbc0]
call fcn.1800499c0
test al, al
je 0x18000546a
movss xmm1, dword [0x180059b94]
lea rcx, [rbp + 0xbc0]
call fcn.18004a320
cmp byte [0x180063ca4], 0
movaps xmm6, xmmword [rsp + 0x14d0]
mov rdi, qword [rsp + 0x14f8]
mov rsi, qword [rsp + 0x14f0]
je 0x180005526
lea rcx, [rbp - 0x50]
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
xor edx, edx
mov rcx, rax
call fcn.180049860
test al, al
jne 0x180005526
lea rcx, [rbp - 0x50]
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
mov rcx, rax
call fcn.1800499c0
test al, al
jne 0x180005526
lea rcx, [rbp - 0x50]
call fcn.180048d70
lea rdx, [rbp + 0xda0]
mov rcx, rax
call fcn.18004afc0
lea rcx, [rbp + 0x5b8]
mov rbx, rax
call fcn.180048d70
lea rdx, [rbp + 0xbc0]
mov rcx, rax
call fcn.18004afc0
mov rcx, rax
call fcn.180049f00
xorps xmm1, xmm1
mov rcx, rbx
cvtsd2ss xmm1, xmm0
call fcn.18004a320
mov rcx, qword [rbp + 0x13b0]
xor rcx, rsp
call fcn.18004f530
mov rbx, qword [rsp + 0x1500]
add rsp, 0x14e0
pop rbp
ret