Function at 0x18004e060
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x28]
sub rsp, 0x120
mov rax, qword [0x1800e23b0]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x10], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
call fcn.18004dac0
call fcn.18004d630
call fcn.18004c1c0
call fcn.18004d0a0
call fcn.180049bd0
call fcn.180049ea0
call fcn.18004caa0
xor r15d, r15d
cmp byte [0x1800fcb17], r15b
je 0x18004e19b
cmp byte [0x1800fb9d1], r15b
je 0x18004e0f4
lea ecx, [r15 + 1]
call fcn.1800592c0
mov byte [0x1800fb9d1], r15b
mov ecx, dword [0x1800fd34c]
mov eax, dword [0x1800fd350]
add ecx, 5
mov dword [0x1800fd34c], ecx
mov edx, ecx
cmp ecx, 0x3b
jl 0x18004e124
inc eax
mov ecx, r15d
mov dword [0x1800fd350], eax
mov edx, r15d
mov dword [0x1800fd34c], ecx
cmp eax, 0x17
jl 0x18004e140
cmp edx, 0x32
jl 0x18004e140
mov eax, r15d
mov ecx, r15d
mov dword [0x1800fd350], eax
mov dword [0x1800fd34c], ecx
mov qword [rbp - 0x58], r15
movabs rdx, 0xe679e3e06e363892
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rdx
mov qword [0x1800fbcf0], r15
mov dword [0x1800fbc08], 3
call fcn.180067770
mov byte [0x1800fcb16], 1
jmp 0x18004e1c0
cmp byte [0x1800fcb16], r15b
mov byte [0x1800fb9d1], 1
je 0x18004e1c0
xor ecx, ecx
call fcn.1800592c0
mov byte [0x1800fcb16], r15b
mov byte [0x1800fb9d1], 1
cmp byte [0x1800fd3f7], r15b
movabs r14, 0x50fac3a3e030a6e1
je 0x18004e295
mov eax, dword [0x180100464]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r14
mov dword [0x1800fbc08], 1
call fcn.180067770
mov dword [rbp - 0x58], 0x80
mov dword [rbp - 0x54], 0xeb01a800
mov ecx, dword [rax]
mov rax, qword [0x1800fd4b0]
test rax, rax
je 0x18004e235
movsd xmm0, qword [rbp - 0x58]
movsd qword [rax], xmm0
mov byte [rax + 8], 0x2f
movabs rax, 0xaaa34f8a7cb32098
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov rax, qword [0x1800fd4b0]
mov dword [rbp - 0x58], 0x80
mov dword [rbp - 0x54], 0x7401a800
test rax, rax
je 0x18004e295
movsd xmm0, qword [rbp - 0x58]
movsd qword [rax], xmm0
mov byte [rax + 8], 0x2f
cmp byte [0x1800fd3f6], r15b
je 0x18004e2a3
call fcn.180042370
cmp byte [0x1800fb9f0], r15b
movabs rdi, 0x9a9112a0fe9a4713
movabs r12, 0xd80958fc74e988a6
je 0x18004e45a
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r12
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rdi
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce8], r15
mov dword [0x1800fbc08], 2
call fcn.180067770
mov qword [0x180100a88], r12
mov ebx, dword [rax]
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce8], r15
mov dword [0x1800fbc08], 2
call fcn.180067770
cmp dword [rax], r15d
mov dword [0x1800fbc18], r15d
je 0x18004e3be
mov qword [rbp - 0x58], r15
movabs rax, 0x3882114bde571ad4
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], 1
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
jmp 0x18004e44b
mov dword [0x1800fbc08], r15d
mov qword [0x180100a88], r12
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rdi
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], 1
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0x3882114bde571ad4
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce8], r15
mov dword [0x1800fbc08], 2
call fcn.180067770
cmp byte [0x1800fb9eb], r15b
je 0x18004e468
call fcn.1800435d0
cmp byte [0x1800fd3f5], r15b
movabs rsi, 0xe532f5d78798daab
movabs rax, 0xd53343aa4fb7dd28
movabs r13, 0x963d27a58df860ac
je 0x18004e671
mov qword [0x180100a88], rax
mov rax, qword [0x1801005e8]
sub rax, qword [0x1801005e0]
sar rax, 3
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce0], r15
mov dword [0x1800fbc08], 2
call fcn.180067770
movsxd rcx, dword [rax]
mov rax, qword [0x1801005e0]
mov rdx, qword [rax + rcx*8]
movabs rax, 0xd24d37cc275948cc
mov qword [0x180100a88], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce0], rdx
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], r14
mov ebx, dword [rax]
mov eax, dword [0x180100464]
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0x3fef770d40960d5a
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], 1
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov qword [0x180100a88], r13
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mov rax, qword [rbp - 0x58]
movups xmmword [rsp + 0x68], xmm0
mov dword [0x1800fbc18], r15d
movsd qword [rsp + 0x78], xmm1
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc08], 1
call fcn.180067770
movabs rax, 0x98a4eb5d89a0c952
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004e671
movss xmm3, dword [rsp + 0x78]
addss xmm3, dword [0x1800da578]
movss xmm2, dword [rsp + 0x70]
movss xmm1, dword [rsp + 0x68]
mov dword [rsp + 0x30], ebx
call fcn.180054b30
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rsi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp byte [0x1800fd3f3], r15b
movabs rsi, 0x7239b21a38f536ba
movaps xmmword [rsp + 0xf0], xmm6
movabs r13, 0xb69317bf5e782347
je 0x18004e8fe
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r12
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rdi
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce8], r15
mov dword [0x1800fbc08], 2
call fcn.180067770
mov ecx, 0x45
mov ebx, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18004e740
movabs rax, 0xfa1e2bf8b10598f9
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004e8fe
movabs rax, 0xd5037ba82e12416f
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov qword [0x180100a88], rsi
movss xmm6, dword [rax]
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004e8fe
mov qword [rbp - 0x58], r15
movabs rdi, 0x1bf60a500e28887
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rdi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
jne 0x18004e8a9
mov qword [rbp - 0x58], r15
movabs rax, 0x299eeb23175895fc
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], 1
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r13
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rdi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004e8fe
addss xmm6, dword [0x1800da5c8]
mov qword [rbp - 0x58], r15
movabs rax, 0xab54a438726d25d5
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
movss dword [rbp - 0x58], xmm6
mov qword [0x1800fbce0], rax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
cmp byte [0x1800fd3f2], r15b
xorps xmm9, xmm9
movss xmm7, dword [0x1800da5e8]
je 0x18004ea09
mov eax, dword [0x180100464]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r14
mov dword [0x1800fbc08], 1
call fcn.180067770
mov r8d, 1
lea rcx, [rsp + 0x68]
mov ebx, dword [rax]
mov edx, ebx
call fcn.180055340
mov rcx, qword [0x1800fd4b8]
mov dword [rbp - 0x58], 0xebf18b48
test rcx, rcx
je 0x18004e97c
mov eax, dword [rbp - 0x58]
mov dword [rcx], eax
mov byte [rcx + 4], 0x56
mov rdx, qword [0x1800fd4c8]
mov word [rsp + 0x60], 0xdb39
test rdx, rdx
je 0x18004e997
movzx eax, word [rsp + 0x60]
mov word [rdx], ax
movss xmm3, dword [rsp + 0x78]
mov ecx, ebx
movss xmm2, dword [rsp + 0x70]
movss xmm1, dword [rsp + 0x68]
movss dword [rsp + 0x40], xmm9
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], 1
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 0x2c
call fcn.1800548f0
mov rcx, qword [0x1800fd4c8]
mov word [rsp + 0x60], 0xf83b
test rcx, rcx
je 0x18004e9ed
movzx eax, word [rsp + 0x60]
mov word [rcx], ax
mov rcx, qword [0x1800fd4b8]
mov dword [rbp - 0x58], 0x74f18b48
test rcx, rcx
je 0x18004ea09
mov eax, dword [rbp - 0x58]
mov dword [rcx], eax
mov byte [rcx + 4], 0x56
cmp byte [0x1800fb9f1], r15b
je 0x18004ebf5
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r12
call fcn.180067770
mov rdx, qword [0x180100550]
mov esi, r15d
mov r14d, dword [rax]
mov rax, qword [0x180100558]
sub rax, rdx
sar rax, 3
test rax, rax
je 0x18004ebe1
mov rdi, r15
movabs rbx, 0x8decb02f88f428bc
movabs r13, 0x50969b9b89ed5738
nop dword [rax + rax]
mov rdx, qword [rdx + rdi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x80], r15
nop dword [rax]
inc r8
cmp byte [rdx + r8], r15b
jne 0x18004ea90
lea rcx, [rsp + 0x68]
call fcn.18003cca0
lea rcx, [rsp + 0x68]
call fcn.180050530
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], r14d
mov rcx, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rbx
mov qword [0x1800fbce0], rcx
mov qword [0x1800fbcf0], r15
mov dword [0x1800fbc08], 3
call fcn.180067770
cmp dword [rax], r15d
je 0x18004ebb0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, eax
and ebx, 0x80000007
jge 0x18004eb16
dec ebx
or ebx, 0xfffffff8
inc ebx
mov rcx, qword [0x180100550]
xorps xmm0, xmm0
mov r8, 0xffffffffffffffff
mov rdx, qword [rcx + rdi]
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], r15
inc r8
cmp byte [rdx + r8], r15b
jne 0x18004eb37
lea rcx, [rbp - 0x78]
call fcn.18003cca0
lea rcx, [rbp - 0x78]
call fcn.180050530
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], r14d
mov rcx, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce8], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbcf0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r13
mov qword [0x1800fbce0], rcx
mov dword [0x1800fbc08], 3
call fcn.180067770
movabs rbx, 0x8decb02f88f428bc
mov rcx, qword [0x180100558]
inc esi
mov rdx, qword [0x180100550]
add rdi, 8
sub rcx, rdx
movsxd rax, esi
sar rcx, 3
cmp rax, rcx
jb 0x18004ea70
movabs r13, 0xb69317bf5e782347
movabs r14, 0x50fac3a3e030a6e1
movabs rsi, 0x7239b21a38f536ba
cmp byte [0x1800fd3f1], r15b
je 0x18004ec03
call fcn.180044f50
cmp byte [0x1800fd3f0], r15b
je 0x18004ec11
call fcn.180045c70
cmp byte [0x1800fd3cb], r15b
movabs rax, 0x4f8644af03d0e0d6
movabs rbx, 0x2975c866e6713290
je 0x18004edcb
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rax
call fcn.180067770
mov qword [rbp - 0x58], r15
lea rdi, [0x1800fd3ec]
mov qword [0x180100a88], rbx
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce8], rdi
mov dword [0x1800fbc08], 2
call fcn.180067770
cmp dword [rax], r15d
je 0x18004edc1
mov eax, dword [0x1800fd3ec]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rsi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004edc1
mov eax, dword [0x1800fd3ec]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r13
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004edc1
mov ecx, dword [0x1800fd3ec]
call fcn.180054ac0
mov ecx, dword [0x1800fd3ec]
movaps xmm3, xmm9
movaps xmm2, xmm9
mov dword [rsp + 0x30], r15d
movaps xmm1, xmm9
call fcn.180054d50
movabs rax, 0xad738c3085fe7e11
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov eax, dword [0x1800fd3ec]
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], 1
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbcf0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce8], r15
mov dword [0x1800fbc08], 3
call fcn.180067770
movabs rax, 0xae3cbe5bf394c9c9
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rax
mov qword [0x1800fbce0], rdi
mov dword [0x1800fbc08], 1
call fcn.180067770
movabs rax, 0x4f8644af03d0e0d6
cmp byte [0x1800fd3ca], r15b
movabs r13, 0x34616828cd07f1a1
je 0x18004ef89
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rax
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rbx
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
lea rax, [0x1800fd3e8]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
cmp dword [rax], r15d
je 0x18004ef89
mov eax, dword [0x1800fd3e8]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rsi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004ef89
movabs rax, 0xb69317bf5e782347
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov eax, dword [0x1800fd3e8]
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004ef89
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r12
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], r13
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004ef89
movabs rax, 0x9f47b058362c84b5
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov eax, dword [0x1800fd3e8]
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.HASH
mov ebx, dword [rax]
call fcn.180052ab0
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x180052c80]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
cmp byte [0x1800fd3ab], r15b
movabs rsi, 0x6c4d0409ba1a2bc2
movabs rdi, 0xa6db4965674d243
je 0x18004f1c0
mov eax, dword [0x180100464]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r14
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], r14
mov ebx, dword [rax]
mov eax, dword [0x180100464]
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rdi
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov qword [0x180100a88], r13
mov edi, dword [rax]
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004f1c0
cmp edi, 0x1b06d571
je 0x18004f1c0
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
lea rax, [0x1800fd3b0]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rsi
mov dword [0x1800fbc08], 2
call fcn.180067770
mov rcx, qword [0x1800fd4b8]
mov dword [rbp - 0x58], 0xebf18b48
test rcx, rcx
je 0x18004f0e6
mov eax, dword [rbp - 0x58]
mov dword [rcx], eax
mov byte [rcx + 4], 0x56
mov rcx, qword [0x1800fd4c8]
mov word [rsp + 0x60], 0xdb39
test rcx, rcx
je 0x18004f101
movzx eax, word [rsp + 0x60]
mov word [rcx], ax
movss xmm6, dword [0x1800da518]
mov ecx, ebx
movss xmm3, dword [0x1800fd3c0]
movss xmm2, dword [0x1800fd3b8]
movss xmm1, dword [0x1800fd3b0]
movss dword [rsp + 0x40], xmm6
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], 1
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 0x31
call fcn.1800548f0
movss xmm3, dword [0x1800fd3c0]
mov ecx, ebx
movss xmm2, dword [0x1800fd3b8]
movss xmm1, dword [0x1800fd3b0]
movss dword [rsp + 0x40], xmm6
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], r15d
movss dword [rsp + 0x28], xmm7
mov dword [rsp + 0x20], 0x40
call fcn.1800548f0
mov rcx, qword [0x1800fd4c8]
mov word [rsp + 0x60], 0xf83b
test rcx, rcx
je 0x18004f1a4
movzx eax, word [rsp + 0x60]
mov word [rcx], ax
mov rcx, qword [0x1800fd4b8]
mov dword [rbp - 0x58], 0x74f18b48
test rcx, rcx
je 0x18004f1c0
mov eax, dword [rbp - 0x58]
mov dword [rcx], eax
mov byte [rcx + 4], 0x56
cmp byte [0x1800fd3c8], r15b
je 0x18004f1ce
call fcn.1800469a0
cmp byte [0x1800fd382], r15b
je 0x18004f2b9
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r12
call fcn.180067770
mov ebx, r15d
movabs rsi, 0x3c06b5c839b38f7b
mov edi, dword [rax]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r14
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rsi
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], edi
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
cmp dword [rax], r15d
je 0x18004f2ae
mov edx, dword [0x1800fd3a0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x180052c80]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov edx, 0x1e
mov ecx, 0x3e7
call qword [sym.imp.KERNEL32.dll_Beep]
inc ebx
cmp ebx, 0x21
jl 0x18004f204
cmp byte [0x1800fd3aa], r15b
je 0x18004f315
mov qword [rbp - 0x58], r15
movabs rax, 0xdf2e1f7742402e81
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], 0xc1a00000
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], 0xc1a00000
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
cmp byte [0x1800fd3a9], r15b
je 0x18004f323
call fcn.180047bb0
cmp byte [0x1800fd3a8], r15b
je 0x18004f331
call fcn.180047eb0
cmp byte [0x1800fb9e9], r15b
je 0x18004f33f
call fcn.180048260
cmp byte [0x1800fb9ea], r15b
je 0x18004f3ea
call qword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [0x1800fd410]
cmp eax, 0x4e20
jbe 0x18004f3ea
mov ebx, dword [0x1800fd3ac]
cmp ebx, 0x3e
mov dword [0x1800fbc08], r15d
cmove ebx, r15d
mov dword [0x1800fbc18], r15d
mov dword [0x1800fd3ac], ebx
mov qword [0x180100a88], r12
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0x4cffc65454c93a49
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x58], r15
mov qword [0x1800fbce0], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbcf0], r15
mov dword [0x1800fbc08], 3
call fcn.180067770
inc dword [0x1800fd3ac]
cmp byte [0x1800fd381], r15b
lea rdi, str.core
movss xmm8, dword [0x1800da5b4]
movabs rsi, 0xb80d8756b4668ab6
movabs r14, 0x8702416e512ec454
movabs r12, 0x6c38af3693a69a91
je 0x18004f648
movabs rax, 0x4f8644af03d0e0d6
mov dword [0x1800fbc08], r15d
mov qword [0x180100a88], rax
mov dword [0x1800fbc18], r15d
call fcn.180067770
mov qword [rbp - 0x58], r15
movabs rbx, 0x50fac3a3e030a6e1
mov qword [0x180100a88], rbx
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0x6094ad011a2ea87d
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
movabs rax, 0xd80958fc74e988a6
mov dword [0x1800fbc08], r15d
mov qword [0x180100a88], rax
mov dword [0x1800fbc18], r15d
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], r13
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004f648
mov eax, dword [0x180100464]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rbx
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0x6c4d0409ba1a2bc2
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
lea rax, [0x1800fd388]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r14
mov qword [0x1800fbce0], rdi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
je 0x18004f62e
movups xmm7, xmmword [0x1800fd388]
mov qword [0x180100a88], r12
movsd xmm6, qword [0x1800fd398]
mov qword [0x1800fbce0], rdi
call fcn.180067770
movss dword [rsp + 0x38], xmm8
lea rcx, str.exp_grd_grenade_lod
movss dword [rsp + 0x30], xmm9
movaps xmm2, xmm7
movss dword [rsp + 0x28], xmm9
movaps xmm3, xmm6
shufps xmm2, xmm7, 0xaa
movaps xmm1, xmm7
movss dword [rsp + 0x20], xmm9
call fcn.1800541e0
jmp 0x18004f648
lea rax, str.exp_grd_grenade_lod
mov qword [0x180100a88], rsi
mov qword [0x1800fbce0], rax
call fcn.180067770
cmp byte [0x1800fd372], r15b
je 0x18004f7a4
mov eax, dword [0x1800fd37c]
inc eax
mov dword [0x1800fd37c], eax
cmp eax, 5
jl 0x18004f7a4
mov ebx, dword [0x1800fb9e4]
movabs rax, 0xd80958fc74e988a6
inc ebx
mov dword [0x1800fbc08], r15d
mov dword [0x1800fb9e4], ebx
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rax
call fcn.180067770
mov dword [rsp + 0x28], r15d
mov r9d, 0xa5
mov r8d, 4
mov dword [rsp + 0x20], ebx
mov edx, dword [rax]
call fcn.180054a10
mov ebx, dword [0x1800fb9e4]
movabs rax, 0xd80958fc74e988a6
mov qword [0x180100a88], rax
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
call fcn.180067770
mov dword [rsp + 0x28], r15d
mov r9d, 0xef
mov r8d, 8
mov dword [rsp + 0x20], ebx
mov edx, dword [rax]
call fcn.180054a10
mov ebx, dword [0x1800fb9e4]
movabs rax, 0xd80958fc74e988a6
mov qword [0x180100a88], rax
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
call fcn.180067770
mov dword [rsp + 0x28], r15d
mov r9d, 0x1d8
mov r8d, 0xb
mov dword [rsp + 0x20], ebx
mov edx, dword [rax]
call fcn.180054a10
mov ebx, dword [0x1800fb9e4]
movabs rax, 0xd80958fc74e988a6
mov qword [0x180100a88], rax
mov dword [0x1800fbc08], r15d
mov dword [0x1800fbc18], r15d
call fcn.180067770
mov r9d, 0x76
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], ebx
mov edx, dword [rax]
lea r8d, [r9 - 0x70]
call fcn.180054a10
mov eax, dword [0x1800fb9e4]
cmp eax, 0x19
mov dword [0x1800fd37c], r15d
cmove eax, r15d
mov dword [0x1800fb9e4], eax
cmp byte [0x1800fd357], r15b
je 0x18004f7b2
call fcn.18004bc60
cmp byte [0x1800fd356], r15b
movabs rbx, 0x50fac3a3e030a6e1
je 0x18004f97e
mov eax, dword [0x180100464]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rbx
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], r13
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004f97e
mov rax, qword [0x180100640]
movsxd rcx, dword [0x180100468]
mov qword [rbp - 0x58], r15
mov rbx, qword [rax + rcx*8]
movabs rax, 0x50fac3a3e030a6e1
mov qword [0x180100a88], rax
mov eax, dword [0x180100464]
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0x6c4d0409ba1a2bc2
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
lea rax, [0x1800fd358]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r14
mov qword [0x1800fbce0], rdi
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
je 0x18004f961
movups xmm7, xmmword [0x1800fd358]
mov qword [0x180100a88], r12
movsd xmm6, qword [0x1800fd368]
mov qword [0x1800fbce0], rdi
call fcn.180067770
movss dword [rsp + 0x38], xmm8
movaps xmm2, xmm7
movss dword [rsp + 0x30], xmm9
movaps xmm3, xmm6
movss dword [rsp + 0x28], xmm9
movaps xmm1, xmm7
shufps xmm2, xmm7, 0xaa
mov rcx, rbx
movss dword [rsp + 0x20], xmm9
call fcn.1800541e0
jmp 0x18004f974
mov qword [0x180100a88], rsi
mov qword [0x1800fbce0], rbx
call fcn.180067770
movabs rbx, 0x50fac3a3e030a6e1
cmp byte [0x1800fd3f4], r15b
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
mov r14, qword [rsp + 0x108]
mov r12, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x138]
je 0x18004fc3f
mov eax, dword [0x180100464]
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], rbx
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ebx, dword [rax]
movabs rax, 0x50fac3a3e030a6e1
mov qword [0x180100a88], rax
mov eax, dword [0x180100464]
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov ecx, dword [rax]
movabs rax, 0xa6db4965674d243
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ecx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov qword [0x180100a88], r13
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004fc3f
movabs rax, 0x6c4d0409ba1a2bc2
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], ebx
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
lea rax, [0x1800fd3f8]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 2
call fcn.180067770
movabs rax, 0xd53343aa4fb7dd28
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov rax, qword [0x1801005e8]
sub rax, qword [0x1801005e0]
sar rax, 3
mov dword [rbp - 0x58], eax
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce8], rax
mov dword [0x1800fbc18], r15d
mov qword [0x1800fbce0], r15
mov dword [0x1800fbc08], 2
call fcn.180067770
movabs rax, 0x963d27a58df860ac
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], 0x9ca6f755
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
movabs rax, 0x98a4eb5d89a0c952
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], 0x9ca6f755
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp dword [rax], r15d
je 0x18004fc3f
movss xmm0, dword [0x1800fd408]
movss xmm2, dword [0x1800fd400]
movss xmm1, dword [0x1800fd3f8]
cvtps2pd xmm0, xmm0
mov dword [rsp + 0x30], 0x9ca6f755
addsd xmm0, qword [0x1800da558]
cvtpd2ps xmm3, xmm0
call fcn.180054b30
movabs rax, 0xe532f5d78798daab
mov qword [rbp - 0x58], r15
mov qword [0x180100a88], rax
mov dword [rbp - 0x58], 0x9ca6f755
mov rax, qword [rbp - 0x58]
mov qword [0x1800fbce0], rax
mov dword [0x1800fbc18], r15d
mov dword [0x1800fbc08], 1
call fcn.180067770
cmp byte [0x1800fd373], 0
mov r15, qword [rsp + 0x100]
mov r13, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x130]
je 0x18004fc65
call fcn.180049780
cmp byte [0x1800fcb15], 0
je 0x18004fc73
call fcn.18004cc60
call fcn.18003e280
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.180071130
add rsp, 0x120
pop rbp
ret