Function at 0x14004e330
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x140104bf0]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov qword [rbp - 0x48], r9
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x38], rcx
mov r12, qword [rbp + 0x3d0]
mov qword [rsp + 0x58], r12
xor r13d, r13d
mov dword [rsp + 0x30], r13d
xorps xmm0, xmm0
movups xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], r13
mov qword [rbp + 0x140], r13
lea r8d, [r13 + 2]
lea rdx, [0x1400e80c0]
lea rcx, [rbp + 0x128]
call fcn.140031d20
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], r13
mov qword [rbp + 0x1a8], r13
lea r8d, [r13 + 6]
lea rdx, str.__n_v_f_r_t
lea rcx, [rbp + 0x190]
call fcn.140031d20
nop
mov qword [rbp + 0x248], r13
lea rax, [0x1400e8b00]
mov qword [rbp + 0x210], rax
lea rax, [rbp + 0x210]
mov qword [rbp + 0x248], rax
cmp byte [r12 + 1], r13b
je 0x14004e45e
mov qword [rbp + 0x78], r13
lea rax, [0x1400e83e8]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x78], rax
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x40]
call fcn.140056bc0
nop
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x14004e45e
mov rax, qword [rcx]
lea rdx, [rbp + 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x78], r13
lea rax, [rbp + 0x190]
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x208], r13
lea rax, [0x1400e8a00]
mov qword [rbp + 0x1d0], rax
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x208], rax
cmp byte [r12], 0
jne 0x14004e4f3
mov qword [rbp + 0xb8], r13
lea rax, [0x1400e8b38]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x80]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x80]
call fcn.140056bc0
nop
mov rcx, qword [rbp + 0xb8]
test rcx, rcx
je 0x14004e4f3
mov rax, qword [rcx]
lea rdx, [rbp + 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0xb8], r13
lea rax, [rbp + 0xe0]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x210]
mov qword [rbp - 0x50], rax
mov qword [rbp + 0xd8], r13
mov qword [rbp + 0xd8], r13
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov r15d, 1
mov dword [rsp + 0x30], r15d
xor eax, eax
movups xmmword [rbp + 0x148], xmm0
movups xmmword [rbp + 0x158], xmm0
mov qword [rbp + 0x168], rax
movdqu xmmword [rbp + 0x148], xmm0
mov qword [rbp + 0x158], r13
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x168], r13
lea ecx, [rax + 0x10]
call fcn.1400b4e20
mov qword [rax + 8], r13
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x148]
mov qword [rax], rcx
mov r14, qword [rbp + 0x128]
cmp rbx, rsi
je 0x14004f773
mov r13, qword [rbp + 0xe0]
lea r10, [rbp + 0x128]
lea r11, [rbp + 0x128]
cmp byte [rbx], 0
je 0x14004f770
cmp rbx, rsi
je 0x14004f770
mov r9, qword [r13 + 0x18]
mov r8, qword [r13 + 0x10]
movzx ecx, byte [rbx]
cmp r9, 0x10
jb 0x14004e5d9
mov rax, qword [r13]
add rax, r8
mov rdx, qword [r13]
jmp 0x14004e5e0
lea rax, [r8 + r13]
mov rdx, r13
cmp rdx, rax
je 0x14004e5f6
cmp byte [rdx], cl
je 0x14004e5ee
inc rdx
jmp 0x14004e5e0
inc rbx
cmp rbx, rsi
jne 0x14004e5c3
cmp rbx, rsi
je 0x14004f770
movzx eax, byte [rbx]
test al, al
je 0x14004f770
cmp al, 0x2f
jne 0x14004e705
inc rbx
cmp rbx, rsi
jne 0x14004e622
mov rbx, rsi
jmp 0x14004e6ee
cmp byte [rbx], 0x2f
jne 0x14004e65b
lea rcx, [rbx + 1]
mov r8b, 0xa
mov rdx, rsi
call fcn.1400bc0d0
mov rbx, rax
mov r13, qword [rbp + 0xe0]
cmp rax, rsi
jne 0x14004e64d
mov rbx, rsi
jmp 0x14004e6ee
lea r10, [rbp + 0x128]
lea r11, [rbp + 0x128]
cmp byte [rbx], 0x2a
jne 0x14004e6ee
cmp qword [rbp + 0x140], 0x10
jb 0x14004e67e
add r14, qword [rbp + 0x138]
mov r12, qword [rbp + 0x128]
jmp 0x14004e68b
mov r14, qword [rbp + 0x138]
add r14, r11
mov r12, r10
lea rdi, [rbx + 1]
mov rbx, rsi
sub r14, r12
mov rax, rsi
sub rax, rdi
cmp rax, r14
jl 0x14004e6d9
mov r15, rbx
sub r15, r14
nop word [rax + rax]
mov r8, r14
mov rdx, rdi
mov rcx, r12
call fcn.1400b7a80
test eax, eax
sete al
test al, al
jne 0x14004e6d1
cmp rdi, r15
je 0x14004e6d4
inc rdi
jmp 0x14004e6b0
mov rbx, rdi
mov r15d, dword [rsp + 0x30]
mov rax, rsi
sub rax, rbx
cmp rax, 2
jg 0x14004e6ea
mov rbx, rsi
jmp 0x14004e6ee
add rbx, 2
cmp rbx, rsi
je 0x14004f8ea
cmp byte [rbx], 0
je 0x14004f8ea
jmp 0x14004f755
cmp al, 0x7d
je 0x14004f620
cmp al, 0x22
jne 0x14004e760
mov rdi, rbx
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rdi + 1]
mov r8b, 0x22
mov rdx, rsi
call fcn.1400bc0d0
mov rdi, rax
cmp rax, rsi
je 0x14004f934
dec rax
cmp rax, rbx
je 0x14004e750
cmp byte [rax], 0x5c
jne 0x14004e750
dec rax
cmp rax, rbx
jne 0x14004e743
movzx ecx, dil
sub cl, al
test cl, 1
je 0x14004e720
jmp 0x14004e80c
mov rcx, rbx
mov r11, qword [rbp + 0x1a8]
mov r9, qword [rbp + 0x1a0]
mov r10, qword [rbp + 0x190]
nop dword [rax + rax]
inc rcx
lea rax, [rbp + 0x190]
cmp r11, 0x10
jb 0x14004e799
lea rax, [r10 + r9]
mov r8, r10
jmp 0x14004e7a3
add rax, r9
lea r8, [rbp + 0x190]
mov rdi, rcx
cmp rcx, rsi
je 0x14004e7d4
nop dword [rax + rax]
mov rcx, r8
cmp r8, rax
je 0x14004e7cc
movzx edx, byte [rdi]
nop dword [rax + rax]
cmp dl, byte [rcx]
je 0x14004e7d4
inc rcx
cmp rcx, rax
jne 0x14004e7c0
inc rdi
cmp rdi, rsi
jne 0x14004e7b0
mov rcx, rdi
cmp rdi, rsi
je 0x14004fac8
lea rax, [rdi - 1]
cmp rax, rbx
je 0x14004e7fd
nop dword [rax]
cmp byte [rax], 0x5c
jne 0x14004e7fd
dec rax
cmp rax, rbx
jne 0x14004e7f0
movzx edx, dil
sub dl, al
test dl, 1
je 0x14004e780
cmp byte [rbx], 0x22
jne 0x14004e814
inc rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xe8], xmm0
xor r13d, r13d
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x100], r13
cmp rbx, rdi
jne 0x14004e84f
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x100], send
mov byte [rbp + 0xe8], r13b
jmp 0x14004e865
mov r8, rdi
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0xe8]
call fcn.140031d20
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x14004fac2
mov rax, qword [rcx]
lea rdx, [rbp + 0xe8]
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, r13
cmp byte [rdi], 0x22
sete al
lea r8, [rax + rdi]
mov qword [rbp + 0xd0], r8
cmp r8, rsi
je 0x14004fa9f
mov r9, qword [rbp + 0xe0]
mov r11, qword [r9 + 0x18]
mov r10, qword [r9 + 0x10]
nop
movzx ecx, byte [r8]
cmp r11, 0x10
jb 0x14004e8c5
mov rax, qword [r9]
add rax, r10
mov rdx, qword [r9]
jmp 0x14004e8cc
lea rax, [r10 + r9]
mov rdx, r9
cmp rdx, rax
je 0x14004e8e2
cmp byte [rdx], cl
je 0x14004e8da
inc rdx
jmp 0x14004e8cc
inc r8
cmp r8, rsi
jne 0x14004e8b0
mov qword [rbp + 0xd0], r8
lea r8, [rbp + 0x3c0]
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x58]
call fcn.14004fb20
test al, al
jne 0x14004e971
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x14004e945
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004e940
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fa76
call fcn.1400b4b80
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x100], send
mov byte [rbp + 0xe8], 0
mov rsi, qword [rbp + 0x3c0]
mov rbx, qword [rbp + 0xd0]
jmp 0x14004f74e
mov rbx, qword [rbp + 0xd0]
mov rsi, qword [rbp + 0x3c0]
cmp rbx, rsi
je 0x14004fa7c
cmp byte [rbx], 0x2f
jne 0x14004eaef
mov r13, qword [rbp + 0xe0]
inc rbx
cmp rbx, rsi
jne 0x14004e9a8
mov rbx, rsi
jmp 0x14004ea70
cmp byte [rbx], 0x2f
jne 0x14004e9d3
lea rcx, [rbx + 1]
mov r8b, 0xa
mov rdx, rsi
call fcn.1400bc0d0
mov rbx, rax
mov r13, qword [rbp + 0xe0]
cmp rax, rsi
jne 0x14004e9d3
mov rbx, rsi
jmp 0x14004ea70
cmp byte [rbx], 0x2a
jne 0x14004ea70
lea rax, [rbp + 0x128]
cmp qword [rbp + 0x140], 0x10
cmovae rax, r14
mov r15, qword [rbp + 0x138]
add r15, rax
lea r12, [rbp + 0x128]
cmp qword [rbp + 0x140], 0x10
cmovae r12, r14
lea rdi, [rbx + 1]
mov rbx, rsi
sub r15, r12
mov rax, rsi
sub rax, rdi
cmp rax, r15
jl 0x14004ea5b
mov r14, rbx
sub r14, r15
nop word [rax + rax]
mov r8, r15
mov rdx, rdi
mov rcx, r12
call fcn.1400b7a80
test eax, eax
sete al
test al, al
jne 0x14004ea51
cmp rdi, r14
je 0x14004ea54
inc rdi
jmp 0x14004ea30
mov rbx, rdi
mov r14, qword [rbp + 0x128]
mov rax, rsi
sub rax, rbx
cmp rax, 2
jg 0x14004ea6c
mov rbx, rsi
jmp 0x14004ea70
add rbx, 2
cmp rbx, rsi
je 0x14004f97a
movzx ecx, byte [rbx]
cmp cl, 0x7d
je 0x14004f97a
mov r9, qword [r13 + 0x18]
mov r8, qword [r13 + 0x10]
nop dword [rax]
cmp r9, 0x10
jb 0x14004eaa3
mov rax, qword [r13]
add rax, r8
mov rdx, qword [r13]
jmp 0x14004eaaa
lea rax, [r8 + r13]
mov rdx, r13
cmp rdx, rax
je 0x14004eac9
cmp byte [rdx], cl
je 0x14004eab8
inc rdx
jmp 0x14004eaaa
inc rbx
cmp rbx, rsi
je 0x14004f957
movzx ecx, byte [rbx]
jmp 0x14004ea90
cmp rbx, rsi
je 0x14004f957
movzx eax, byte [rbx]
cmp al, 0x7d
je 0x14004f957
cmp al, 0x2f
je 0x14004e998
mov r15d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x58]
movzx eax, byte [rbx]
cmp al, 0x7b
je 0x14004f3e7
cmp al, 0x22
jne 0x14004eb41
mov rdi, rbx
lea rcx, [rdi + 1]
mov r8b, 0x22
mov rdx, rsi
call fcn.1400bc0d0
mov rdi, rax
cmp rax, rsi
je 0x14004f99d
dec rax
cmp rax, rbx
je 0x14004eb31
cmp byte [rax], 0x5c
jne 0x14004eb31
dec rax
cmp rax, rbx
jne 0x14004eb24
movzx ecx, dil
sub cl, al
test cl, 1
je 0x14004eb01
jmp 0x14004ebec
mov rcx, rbx
mov r11, qword [rbp + 0x1a8]
mov r9, qword [rbp + 0x1a0]
mov r10, qword [rbp + 0x190]
nop dword [rax]
inc rcx
lea rax, [rbp + 0x190]
cmp r11, 0x10
jb 0x14004eb79
lea rax, [r9 + r10]
mov r8, r10
jmp 0x14004eb83
add rax, r9
lea r8, [rbp + 0x190]
mov rdi, rcx
cmp rcx, rsi
je 0x14004ebb4
nop dword [rax + rax]
mov rcx, r8
cmp r8, rax
je 0x14004ebac
movzx edx, byte [rdi]
nop dword [rax + rax]
cmp dl, byte [rcx]
je 0x14004ebb4
inc rcx
cmp rcx, rax
jne 0x14004eba0
inc rdi
cmp rdi, rsi
jne 0x14004eb90
mov rcx, rdi
cmp rdi, rsi
je 0x14004fa4d
lea rax, [rdi - 1]
cmp rax, rbx
je 0x14004ebdd
nop dword [rax]
cmp byte [rax], 0x5c
jne 0x14004ebdd
dec rax
cmp rax, rbx
jne 0x14004ebd0
movzx edx, dil
sub dl, al
test dl, 1
je 0x14004eb60
cmp rdi, rsi
je 0x14004fa2a
cmp byte [rbx], 0x22
jne 0x14004ebfd
inc rbx
cmp rbx, rsi
je 0x14004fa07
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
xor r14d, r14d
mov qword [rbp + 0x118], r14
mov qword [rbp + 0x120], r14
cmp rbx, rdi
jne 0x14004ec41
mov qword [rbp + 0x118], r14
mov qword [rbp + 0x120], send
mov byte [rbp + 0x108], r14b
jmp 0x14004ec57
mov r8, rdi
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0x108]
call fcn.140031d20
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x14004fa01
mov rax, qword [rcx]
lea rdx, [rbp + 0x108]
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, r14
cmp byte [rdi], 0x22
sete al
add rax, rdi
mov qword [rbp + 0xd0], rax
lea r8, [rbp + 0x3c0]
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x58]
call fcn.14004fb20
test al, al
jne 0x14004ed4d
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x14004ece7
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ece2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f9d8
call fcn.1400b4b80
mov qword [rbp + 0x118], r14
mov qword [rbp + 0x120], send
mov byte [rbp + 0x108], 0
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x14004ed41
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ed3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f9c0
call fcn.1400b4b80
mov qword [rbp + 0xf8], r14
jmp 0x14004e94c
lea rcx, [rbp + 0xe8]
mov rdi, qword [rbp + 0xe8]
mov rsi, qword [rbp + 0x100]
cmp rsi, 0x10
cmovae rcx, rdi
mov rbx, qword [rbp + 0xf8]
cmp rbx, 8
jne 0x14004ed8a
mov r8, rbx
lea rdx, str.include
call fcn.1400b7a80
test eax, eax
je 0x14004edba
lea rcx, [rbp + 0xe8]
cmp rsi, 0x10
cmovae rcx, rdi
cmp rbx, 5
jne 0x14004f2e5
mov r8, rbx
lea rdx, str.base
call fcn.1400b7a80
test eax, eax
jne 0x14004f2e5
cmp byte [r12 + 2], 0
jne 0x14004f375
lea r8, [rbp + 0x108]
mov r14, qword [rbp + 0x108]
mov r15, qword [rbp + 0x120]
cmp r15, 0x10
cmovae r8, r14
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
mov rdi, qword [rbp + 0x118]
test rdi, rdi
je 0x14004ee2b
movabs r15, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r15
inc rcx
cmp rcx, rdi
jb 0x14004ee10
mov r15, qword [rbp + 0x120]
mov r13, qword [rbp - 0x48]
mov rcx, qword [r13 + 0x30]
and rcx, rdx
mov rdx, qword [r13 + 0x18]
mov rax, rcx
add rax, rax
mov rbx, qword [rdx + rax*8 + 8]
mov r12, qword [r13 + 8]
cmp rbx, r12
je 0x14004eea2
add rcx, rcx
mov rsi, qword [rdx + rcx*8]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14004ee72
mov rdx, qword [rdx]
lea rcx, [rbp + 0x108]
cmp r15, 0x10
cmovae rcx, r14
cmp rdi, rax
jne 0x14004ee92
mov r8, rdi
call fcn.1400b7a80
test eax, eax
je 0x14004ee9d
cmp rbx, rsi
je 0x14004eea2
mov rbx, qword [rbx + 8]
jmp 0x14004ee60
xor r14d, r14d
jmp 0x14004eea8
xor r14d, r14d
mov ebx, r14d
test rbx, rbx
cmovne r12, rbx
cmp r12, qword [r13 + 8]
jne 0x14004f375
lea r8, [rbp + 0x108]
lea rdx, [rbp + 0xc0]
mov rcx, r13
call fcn.1400558a0
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x250]
call fcn.1400b7530
nop
lea rdx, [rbp + 0x108]
lea rcx, [rbp - 0x78]
call fcn.140041a80
mov ebx, dword [rsp + 0x30]
or ebx, 8
mov dword [rsp + 0x30], ebx
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rdx, qword [rbp - 0x78]
lea rcx, [rbp + 0x250]
call fcn.140053f70
nop
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x250], rsi
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x24c], edx
and ebx, 0xfffffff7
mov dword [rsp + 0x30], ebx
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14004ef8e
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ef89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f9c6
call fcn.1400b4b80
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], send
mov byte [rbp - 0x78], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], r14
mov qword [rbp + 0x188], r14
mov qword [rbp + 0x180], r14
mov qword [rbp + 0x188], send
mov byte [rbp + 0x170], 0
or ebx, 4
mov dword [rsp + 0x30], ebx
mov r8d, 2
lea rcx, [rbp + 0x250]
call fcn.140056800
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x250]
call fcn.140056720
mov rdx, qword [rax + 8]
add rdx, qword [rax]
xor r8d, r8d
lea rcx, [rbp + 0x170]
call fcn.1400418d0
cmp qword [rbp + 0x180], 0
je 0x14004f052
xor r8d, r8d
lea rcx, [rbp + 0x250]
call fcn.140056800
lea rdx, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae rdx, qword [rbp + 0x170]
mov r8, qword [rbp + 0x180]
lea rcx, [rbp + 0x250]
call fcn.140056a00
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], rax
lea r8, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae r8, qword [rbp + 0x170]
add r8, qword [rbp + 0x180]
lea rdx, [rbp + 0x170]
cmp qword [rbp + 0x188], 0x10
cmovae rdx, qword [rbp + 0x170]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9, r13
lea rcx, [rbp + 0x1b0]
call fcn.14004fd10
nop
mov rbx, qword [rbp + 0x1b0]
mov rdi, qword [rbp + 0x1b8]
cmp rbx, rdi
je 0x14004f12c
nop dword [rax]
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14004f0fc
lea rax, [rsp + 0x50]
mov qword [rbp - 0x30], rax
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x50]
call fcn.14004c3c0
jmp 0x14004f123
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14004f11b
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x14004f123
mov r8, rbx
call fcn.140058180
add rbx, 8
cmp rbx, rdi
jne 0x14004f0d0
lea rdx, [rbp + 0x108]
mov rcx, r13
call fcn.1400553f0
nop
mov rbx, qword [rbp + 0x1b0]
test rbx, rbx
je 0x14004f1e1
mov rsi, qword [rbp + 0x1b8]
cmp rbx, rsi
je 0x14004f185
mov rdi, qword [rbx]
test rdi, rdi
je 0x14004f175
mov rcx, rdi
call fcn.140039650
mov edx, 0xa0
mov rcx, rdi
call fcn.1400b4b80
add rbx, 8
cmp rbx, rsi
jne 0x14004f158
mov rbx, qword [rbp + 0x1b0]
mov rax, qword [rbp + 0x1c0]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004f1c0
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f9cc
mov rcx, rbx
call fcn.1400b4b80
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], r14
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov rdx, qword [rbp + 0x188]
cmp rdx, 0x10
jb 0x14004f222
inc rdx
mov rcx, qword [rbp + 0x170]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f21d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f9d2
call fcn.1400b4b80
mov qword [rbp + 0x180], r14
mov qword [rbp + 0x188], send
mov byte [rbp + 0x170], 0
lea rax, [rbp + 0x300]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x250], rsi
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x24c], edx
lea rcx, [rbp + 0x260]
call fcn.140053610
nop
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x250], rax
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x24c], edx
lea rax, [rbp + 0x300]
mov qword [rbp - 0x20], rax
lea rax, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x300], rax
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x300], rax
lea rcx, [rbp + 0x300]
call fcn.1400bcd14
jmp 0x14004f375
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14004f9de
lea rax, [rsp + 0x68]
mov qword [rbp - 0x18], rax
movups xmm0, xmmword [rbp + 0x108]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rbp + 0x118]
movups xmmword [rsp + 0x78], xmm1
mov qword [rbp + 0x118], r14
mov qword [rbp + 0x120], send
mov byte [rbp + 0x108], 0
lea rax, [rbp + 0x18]
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rbp + 0xe8]
movups xmmword [rbp + 0x18], xmm0
movups xmm1, xmmword [rbp + 0xf8]
movups xmmword [rbp + 0x28], xmm1
mov qword [rbp + 0xf8], r14
mov qword [rbp + 0x100], send
mov byte [rbp + 0xe8], 0
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x18]
call fcn.140053860
nop
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x14004f3b6
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f3b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f9d8
call fcn.1400b4b80
mov qword [rbp + 0x118], r14
mov qword [rbp + 0x120], send
mov byte [rbp + 0x108], 0
mov rsi, qword [rbp + 0x3c0]
mov rbx, qword [rbp + 0xd0]
mov r15d, dword [rsp + 0x30]
jmp 0x14004f5c1
cmp qword [rbp + 0xd8], 0
je 0x14004f4be
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x168]
lea eax, [r8 + rdx]
mov rcx, qword [rbp + 0x158]
test al, 1
jne 0x14004f43f
lea rax, [r8 + 2]
shr rax, 1
cmp rcx, rax
ja 0x14004f43f
lea rcx, [rbp + 0x148]
call fcn.140056540
mov r8, qword [rbp + 0x168]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x158]
lea rax, [rcx*2 - 1]
and rdx, rax
mov qword [rbp + 0x160], rdx
lea rdi, [rdx + r8]
dec rcx
mov rax, rdi
shr rax, 1
and rcx, rax
lea r14, [rcx*8]
mov rax, qword [rbp + 0x150]
cmp qword [r14 + rax], 0
jne 0x14004f496
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400b4e20
mov rcx, rax
mov rax, qword [rbp + 0x150]
mov qword [r14 + rax], rcx
mov rax, qword [rbp + 0x150]
and edi, 1
mov rax, qword [r14 + rax]
lea rcx, [rax + rdi*8]
mov rax, qword [rbp + 0xd8]
xor r14d, r14d
mov qword [rbp + 0xd8], r14
mov qword [rcx], rax
inc qword [rbp + 0x168]
jmp 0x14004f4c1
xor r14d, r14d
mov ecx, 0xa0
call fcn.1400b4e20
mov rdi, rax
mov qword [rbp - 8], rax
xor edx, edx
mov r8d, 0xa0
mov rcx, rax
call fcn.1400b7530
mov rcx, rdi
call fcn.14004be00
nop
mov qword [rbp - 0x40], rax
or r15d, 2
mov dword [rsp + 0x30], r15d
mov qword [rbp - 0x40], r14
mov rdi, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], rax
test rdi, rdi
je 0x14004f524
mov rcx, rdi
call fcn.140039650
mov edx, 0xa0
mov rcx, rdi
call fcn.1400b4b80
and r15d, 0xfffffffd
mov dword [rsp + 0x30], r15d
mov rcx, qword [rbp + 0xd8]
lea rax, [rsp + 0x68]
mov qword [rbp], rax
movups xmm0, xmmword [rbp + 0xe8]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rbp + 0xf8]
movups xmmword [rsp + 0x78], xmm1
mov qword [rbp + 0xf8], r14
mov qword [rbp + 0x100], send
mov byte [rbp + 0xe8], 0
lea rax, [rsp + 0x68]
mov qword [rbp + 8], rax
lea rdx, [rsp + 0x68]
call fcn.1400419f0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x14004f5be
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f5b9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fa70
call fcn.1400b4b80
inc rbx
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x14004f602
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f5fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fa76
call fcn.1400b4b80
mov qword [rbp + 0xf8], r14
mov qword [rbp + 0x100], send
mov byte [rbp + 0xe8], 0
jmp 0x14004f74e
cmp qword [rbp + 0xd8], 0
je 0x14004faeb
mov rcx, qword [rbp + 0x168]
test rcx, rcx
je 0x14004f6ec
xor r14d, r14d
mov qword [rbp + 0x1c8], r14
mov rdx, qword [rbp + 0x160]
dec rcx
add rdx, rcx
mov rcx, rdx
shr rcx, 1
mov rax, qword [rbp + 0x158]
dec rax
and rcx, rax
and edx, 1
mov rax, qword [rbp + 0x150]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + rdx*8]
mov qword [rcx + rdx*8], r14
mov qword [rbp + 0x1c8], rdi
lea rcx, [rbp + 0x148]
call fcn.140054170
lea rax, [rsp + 0x50]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], r14
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.14004c3c0
mov qword [rbp + 0x1c8], r14
mov r14, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], rdi
test r14, r14
je 0x14004f6ea
mov rcx, r14
call fcn.140039650
mov edx, 0xa0
mov rcx, r14
call fcn.1400b4b80
nop
jmp 0x14004f74b
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
je 0x14004f711
mov rax, qword [rbp + 0xd8]
xor r14d, r14d
mov qword [rbp + 0xd8], r14
mov qword [rdx], rax
add qword [rdi + 8], 8
jmp 0x14004f723
lea r8, [rbp + 0xd8]
mov rcx, rdi
call fcn.140058180
xor r14d, r14d
mov rdi, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], r14
test rdi, rdi
je 0x14004f74b
mov rcx, rdi
call fcn.140039650
mov edx, 0xa0
mov rcx, rdi
call fcn.1400b4b80
inc rbx
mov r13, qword [rbp + 0xe0]
mov rdi, qword [rsp + 0x60]
mov r14, qword [rbp + 0x128]
cmp rbx, rsi
je 0x14004f770
mov r12, qword [rsp + 0x58]
jmp 0x14004e59b
xor r13d, r13d
cmp qword [rbp + 0xd8], 0
jne 0x14004f911
cmp qword [rbp + 0x168], 0
jne 0x14004f911
lea rcx, [rbp + 0x148]
call fcn.1400536c0
nop
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
je 0x14004f7be
mov rcx, rbx
call fcn.140039650
mov edx, 0xa0
mov rcx, rbx
call fcn.1400b4b80
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x14004f7e4
mov rax, qword [rcx]
lea rdx, [rbp + 0x1d0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x208], r13
mov rcx, qword [rbp + 0x248]
test rcx, rcx
je 0x14004f80a
mov rax, qword [rcx]
lea rdx, [rbp + 0x210]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x248], r13
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 0x10
jb 0x14004f84b
inc rdx
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004f846
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004fb0e
call fcn.1400b4b80
mov qword [rbp + 0x1a0], r13
mov qword [rbp + 0x1a8], send
mov byte [rbp + 0x190], 0
mov rax, qword [rbp + 0x140]
cmp rax, 0x10
jb 0x14004f89e
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x14004f896
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004f8e4
mov rcx, r14
call fcn.1400b4b80
mov qword [rbp + 0x138], r13
mov qword [rbp + 0x140], send
mov byte [rbp + 0x128], 0
mov rax, rdi
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1400b4b60
mov rbx, qword [rsp + 0x4b8]
add rsp, 0x470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140098678
nop
lea rdx, str.Unexpected_eof
lea rcx, [rbp + 0x1b0]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rbp + 0x1b0]
call fcn.1400b7d44
int3
lea rdx, str.object_is_not_closed_with_
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
lea rdx, str.quote_was_opened_but_not_closed.
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
nop
lea rdx, str.key_declared__but_no_value
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
lea rdx, str.key_declared__but_no_value
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
lea rdx, str.quote_was_opened_but_not_closed.
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
nop
call fcn.140098678
nop
lea rdx, str.unexpected_key_without_object
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
call fcn.1400bc774
nop
lea rdx, str.No_closed_word
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
lea rdx, str.No_closed_word
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
lea rdx, str.word_wasnt_properly_ended
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
call fcn.140098678
nop
call fcn.140098678
nop
lea rdx, str.key_declared__but_no_value
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
lea rdx, str.key_opened__but_never_closed
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
call fcn.1400bc774
nop
lea rdx, str.word_wasnt_properly_ended
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
int3
lea rdx, str.unexpected_
lea rcx, [rsp + 0x38]
call fcn.14002d510
lea rdx, [0x1401016d8]
lea rcx, [rsp + 0x38]
call fcn.1400b7d44
nop
call fcn.140098678
int3