Function at 0x14004c3a0
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 [0x1400fec00]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov qword [rsp + 0x48], r9
mov rsi, r8
mov rbx, rdx
mov r12, rcx
mov qword [rsp + 0x40], rcx
mov qword [rbp], rcx
mov r15, qword [rbp + 0x3d0]
mov qword [rsp + 0x50], r15
xor edi, edi
mov dword [rsp + 0x30], edi
xorps xmm0, xmm0
movups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], rdi
mov qword [rbp + 0x1a0], rdi
mov r8d, 2
lea rdx, [0x1400e1e28]
lea rcx, [rbp + 0x188]
call fcn.14002fe70
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a8], xmm0
mov qword [rbp + 0x1b8], rdi
mov qword [rbp + 0x1c0], rdi
mov r8d, 6
lea rdx, str.__n_v_f_r_t
lea rcx, [rbp + 0x1a8]
call fcn.14002fe70
nop
mov qword [rbp + 0x248], rdi
lea rax, [0x1400e2820]
mov qword [rbp + 0x210], rax
lea rax, [rbp + 0x210]
mov qword [rbp + 0x248], rax
cmp byte [r15 + 1], dil
je 0x14004c4e8
mov qword [rbp + 0xb8], rdi
lea rax, [0x1400e2110]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x80]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0x210]
lea rcx, [rbp + 0x80]
call fcn.140054ca0
nop
mov rcx, qword [rbp + 0xb8]
test rcx, rcx
je 0x14004c4e8
mov rax, qword [rcx]
lea rdx, [rbp + 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0xb8], rdi
lea rax, [rbp + 0x1a8]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x208], rdi
lea rax, [0x1400e2720]
mov qword [rbp + 0x1d0], rax
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x208], rax
cmp byte [r15], 0
jne 0x14004c56f
mov qword [rbp - 8], rdi
lea rax, [0x1400e2858]
mov qword [rbp - 0x40], rax
lea rax, [rbp - 0x40]
mov qword [rbp - 8], rax
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp - 0x40]
call fcn.140054ca0
nop
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14004c56f
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp - 8], rdi
lea rax, [rbp + 0xe0]
mov qword [rbp - 0x60], rax
lea rax, [rbp + 0x210]
mov qword [rbp - 0x58], rax
mov qword [rbp + 0xd8], rdi
mov qword [rbp + 0xd8], rdi
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12], rdi
mov qword [r12 + 8], rdi
mov qword [r12 + 0x10], rdi
mov r13d, 1
mov dword [rsp + 0x30], r13d
xor eax, eax
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], rax
movdqu xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], rdi
mov qword [rbp + 0x158], rdi
mov qword [rbp + 0x160], rdi
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400b4098
mov qword [rax + 8], rdi
mov qword [rbp + 0x140], rax
lea rcx, [rbp + 0x140]
mov qword [rax], rcx
cmp rbx, rsi
je 0x14004d778
mov r14, qword [rbp + 0xe0]
cmp byte [rbx], 0
je 0x14004d778
mov r9, qword [r14 + 0x18]
mov r8, qword [r14 + 0x10]
nop dword [rax + rax]
movzx ecx, byte [rbx]
cmp r9, 0xf
jbe 0x14004c644
mov rax, qword [r14]
add rax, r8
mov rdx, qword [r14]
jmp 0x14004c64b
lea rax, [r14 + r8]
mov rdx, r14
cmp rdx, rax
je 0x14004c666
cmp byte [rdx], cl
je 0x14004c65e
inc rdx
cmp rdx, rax
jne 0x14004c650
jmp 0x14004c666
inc rbx
cmp rbx, rsi
jne 0x14004c630
cmp rbx, rsi
je 0x14004d778
movzx eax, byte [rbx]
test al, al
je 0x14004d778
cmp al, 0x2f
jne 0x14004c770
inc rbx
cmp rbx, rsi
jne 0x14004c692
mov rbx, rsi
jmp 0x14004c759
cmp byte [rbx], 0x2f
jne 0x14004c6bd
lea rcx, [rbx + 1]
mov r8b, 0xa
mov rdx, rsi
call fcn.1400bae30
mov rbx, rax
mov r14, qword [rbp + 0xe0]
cmp rax, rsi
jne 0x14004c6bd
mov rbx, rsi
jmp 0x14004c759
cmp byte [rbx], 0x2a
jne 0x14004c759
lea r12, [rbp + 0x188]
cmp qword [rbp + 0x1a0], 0xf
cmova r12, qword [rbp + 0x188]
add r12, qword [rbp + 0x198]
lea r13, [rbp + 0x188]
cmp qword [rbp + 0x1a0], 0xf
cmova r13, qword [rbp + 0x188]
lea rdi, [rbx + 1]
mov rbx, rsi
sub r12, r13
mov rax, rsi
sub rax, rdi
cmp rax, r12
jl 0x14004c744
mov r15, rbx
sub r15, r12
nop word [rax + rax]
mov r8, r12
mov rdx, rdi
mov rcx, r13
call fcn.1400c13d0
test eax, eax
sete al
test al, al
jne 0x14004c741
cmp rdi, r15
je 0x14004c744
inc rdi
jmp 0x14004c720
mov rbx, rdi
mov rax, rsi
sub rax, rbx
cmp rax, 2
jg 0x14004c755
mov rbx, rsi
jmp 0x14004c759
add rbx, 2
cmp rbx, rsi
je 0x14004d8f2
cmp byte [rbx], 0
je 0x14004d8f2
jmp 0x14004d75d
cmp al, 0x7d
je 0x14004d627
mov rdi, rbx
cmp al, 0x22
jne 0x14004c7c0
nop
lea rcx, [rdi + 1]
mov r8b, 0x22
mov rdx, rsi
call fcn.1400bae30
mov rdi, rax
cmp rax, rsi
je 0x14004d946
dec rax
cmp rax, rbx
je 0x14004c7b0
cmp byte [rax], 0x5c
jne 0x14004c7b0
dec rax
cmp rax, rbx
jne 0x14004c7a3
movzx ecx, dil
sub cl, al
test cl, 1
je 0x14004c780
jmp 0x14004c893
inc rdi
lea rdx, [rbp + 0x1a8]
cmp qword [rbp + 0x1c0], 0xf
cmova rdx, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x1b8]
add rax, rdx
lea r10, [rbp + 0x1a8]
cmp qword [rbp + 0x1c0], 0xf
cmova r10, qword [rbp + 0x1a8]
mov rcx, rax
sub rcx, r10
cmp rcx, 1
jne 0x14004c81b
movzx r8d, byte [r10]
mov rdx, rsi
mov rcx, rdi
call fcn.1400bae30
mov rdi, rax
jmp 0x14004c865
mov rcx, rsi
sub rcx, rdi
cmp rcx, 0x10
jl 0x14004c83d
mov r9, rax
mov r8, r10
mov rdx, rsi
mov rcx, rdi
call fcn.1400bae20
mov rdi, rax
jmp 0x14004c865
cmp rdi, rsi
je 0x14004dad5
mov rcx, r10
cmp r10, rax
je 0x14004c85d
movzx edx, byte [rdi]
cmp dl, byte [rcx]
je 0x14004c865
inc rcx
cmp rcx, rax
jne 0x14004c851
inc rdi
cmp rdi, rsi
jne 0x14004c846
cmp rdi, rsi
je 0x14004dad5
lea rax, [rdi - 1]
cmp rax, rbx
je 0x14004c884
cmp byte [rax], 0x5c
jne 0x14004c884
dec rax
cmp rax, rbx
jne 0x14004c877
movzx ecx, dil
sub cl, al
test cl, 1
je 0x14004c7c0
cmp byte [rbx], 0x22
jne 0x14004c89b
inc rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
xor r14d, r14d
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], r14
cmp rbx, rdi
jne 0x14004c8d6
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], send
mov byte [rbp + 0x100], r14b
jmp 0x14004c8ec
mov r8, rdi
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.14002fe70
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x14004dacf
mov rax, qword [rcx]
lea rdx, [rbp + 0x100]
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, r14
cmp byte [rdi], 0x22
sete al
lea r8, [rdi + rax]
mov qword [rbp + 0xd0], r8
cmp r8, rsi
je 0x14004daa8
mov r9, qword [rbp + 0xe0]
mov r11, qword [r9 + 0x18]
mov r10, qword [r9 + 0x10]
movzx ecx, byte [r8]
cmp r11, 0xf
jbe 0x14004c94a
mov rax, qword [r9]
add rax, r10
mov rdx, qword [r9]
jmp 0x14004c951
lea rax, [r9 + r10]
mov rdx, r9
cmp rdx, rax
je 0x14004c96c
cmp byte [rdx], cl
je 0x14004c964
inc rdx
cmp rdx, rax
jne 0x14004c956
jmp 0x14004c96c
inc r8
cmp r8, rsi
jne 0x14004c935
mov qword [rbp + 0xd0], r8
lea r8, [rbp + 0x3c0]
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x60]
call fcn.14004dcb0
test al, al
jne 0x14004c9fb
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x14004c9cf
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c9ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004da7b
call fcn.1400b3f70
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], send
mov byte [rbp + 0x100], 0
mov rsi, qword [rbp + 0x3c0]
mov rbx, qword [rbp + 0xd0]
jmp 0x14004d756
mov rbx, qword [rbp + 0xd0]
mov rsi, qword [rbp + 0x3c0]
cmp rbx, rsi
je 0x14004da81
cmp byte [rbx], 0x2f
jne 0x14004cb77
mov r15, qword [rbp + 0xe0]
inc rbx
cmp rbx, rsi
jne 0x14004ca32
mov rbx, rsi
jmp 0x14004caf9
cmp byte [rbx], 0x2f
jne 0x14004ca5d
lea rcx, [rbx + 1]
mov r8b, 0xa
mov rdx, rsi
call fcn.1400bae30
mov rbx, rax
mov r15, qword [rbp + 0xe0]
cmp rax, rsi
jne 0x14004ca5d
mov rbx, rsi
jmp 0x14004caf9
cmp byte [rbx], 0x2a
jne 0x14004caf9
lea rdx, [rbp + 0x188]
cmp qword [rbp + 0x1a0], 0xf
cmova rdx, qword [rbp + 0x188]
mov r12, qword [rbp + 0x198]
add r12, rdx
lea r13, [rbp + 0x188]
cmp qword [rbp + 0x1a0], 0xf
cmova r13, qword [rbp + 0x188]
lea rdi, [rbx + 1]
mov rbx, rsi
sub r12, r13
mov rax, rsi
sub rax, rdi
cmp rax, r12
jl 0x14004cae4
mov r14, rbx
sub r14, r12
nop dword [rax]
mov r8, r12
mov rdx, rdi
mov rcx, r13
call fcn.1400c13d0
test eax, eax
sete al
test al, al
jne 0x14004cae1
cmp rdi, r14
je 0x14004cae4
inc rdi
jmp 0x14004cac0
mov rbx, rdi
mov rax, rsi
sub rax, rbx
cmp rax, 2
jg 0x14004caf5
mov rbx, rsi
jmp 0x14004caf9
add rbx, 2
cmp rbx, rsi
je 0x14004d994
cmp byte [rbx], 0x7d
je 0x14004d994
mov r9, qword [r15 + 0x18]
mov r8, qword [r15 + 0x10]
movzx ecx, byte [rbx]
cmp r9, 0xf
jbe 0x14004cb27
mov rax, qword [r15]
add rax, r8
mov rdx, qword [r15]
jmp 0x14004cb2e
lea rax, [r8 + r15]
mov rdx, r15
cmp rdx, rax
je 0x14004cb49
cmp byte [rdx], cl
je 0x14004cb41
inc rdx
cmp rdx, rax
jne 0x14004cb33
jmp 0x14004cb49
inc rbx
cmp rbx, rsi
jne 0x14004cb13
cmp rbx, rsi
je 0x14004d96d
movzx eax, byte [rbx]
cmp al, 0x7d
je 0x14004d96d
cmp al, 0x2f
je 0x14004ca22
mov r12, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
xor r14d, r14d
movzx eax, byte [rbx]
cmp al, 0x7b
je 0x14004d3e3
cmp al, 0x22
jne 0x14004cbd1
mov rdi, rbx
nop dword [rax]
lea rcx, [rdi + 1]
mov r8b, 0x22
mov rdx, rsi
call fcn.1400bae30
mov rdi, rax
cmp rax, rsi
je 0x14004d9bb
dec rax
cmp rax, rbx
je 0x14004cbc0
cmp byte [rax], 0x5c
jne 0x14004cbc0
dec rax
cmp rax, rbx
jne 0x14004cbb3
movzx ecx, dil
sub cl, al
test cl, 1
je 0x14004cb90
mov qword [rbp + 8], rdi
jmp 0x14004cbf2
lea r9, [rbp + 0x3c0]
mov r8, rbx
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x50]
call fcn.14004db30
mov rdi, qword [rax]
mov rsi, qword [rbp + 0x3c0]
cmp rdi, rsi
je 0x14004da4e
cmp byte [rbx], 0x22
jne 0x14004cc03
inc rbx
cmp rbx, rsi
je 0x14004da27
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], r14
cmp rbx, rdi
jne 0x14004cc44
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], send
mov byte [rbp + 0x120], 0
jmp 0x14004cc5a
mov r8, rdi
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0x120]
call fcn.14002fe70
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x14004da21
mov rax, qword [rcx]
lea rdx, [rbp + 0x120]
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 - 0x60]
call fcn.14004dcb0
test al, al
jne 0x14004cd4c
mov rdx, qword [rbp + 0x138]
cmp rdx, 0xf
jbe 0x14004ccea
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004cce5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d9f4
call fcn.1400b3f70
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], send
mov byte [rbp + 0x120], 0
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x14004c9cf
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c9ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d919
jmp 0x14004c9ca
lea rcx, [rbp + 0x100]
mov rdi, qword [rbp + 0x100]
mov rsi, qword [rbp + 0x118]
cmp rsi, 0xf
cmova rcx, rdi
mov rbx, qword [rbp + 0x110]
cmp rbx, 8
jne 0x14004cd89
mov r8, rbx
lea rdx, str.include
call fcn.1400c13d0
test eax, eax
je 0x14004cdb9
lea rcx, [rbp + 0x100]
cmp rsi, 0xf
cmova rcx, rdi
cmp rbx, 5
jne 0x14004d2e6
mov r8, rbx
lea rdx, str.base
call fcn.1400c13d0
test eax, eax
jne 0x14004d2e6
cmp byte [r15 + 2], 0
jne 0x14004d376
lea r8, [rbp + 0x120]
mov r14, qword [rbp + 0x120]
mov r15, qword [rbp + 0x138]
cmp r15, 0xf
cmova r8, r14
movabs rcx, 0xcbf29ce484222325
xor edx, edx
mov rdi, qword [rbp + 0x130]
test rdi, rdi
je 0x14004ce29
movabs r12, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, rdi
jb 0x14004ce10
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdx, qword [rsi + 0x30]
and rdx, rcx
mov rcx, qword [rsi + 0x18]
mov rax, rdx
add rax, rax
mov rbx, qword [rcx + rax*8 + 8]
cmp rbx, qword [rsi + 8]
je 0x14004ce9d
add rdx, rdx
mov rsi, qword [rcx + rdx*8]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14004ce63
mov rdx, qword [rdx]
lea rcx, [rbp + 0x120]
cmp r15, 0xf
cmova rcx, r14
cmp rdi, rax
jne 0x14004ce83
mov r8, rdi
call fcn.1400c13d0
test eax, eax
je 0x14004ce8e
cmp rbx, rsi
je 0x14004ce98
mov rbx, qword [rbx + 8]
jmp 0x14004ce51
mov rsi, qword [rsp + 0x48]
xor r14d, r14d
jmp 0x14004cea3
mov rsi, qword [rsp + 0x48]
xor r14d, r14d
mov ebx, r14d
test rbx, rbx
jne 0x14004ceac
mov rbx, qword [rsi + 8]
cmp rbx, qword [rsi + 8]
jne 0x14004d376
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0xc0]
mov rcx, rsi
call fcn.140053680
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x250]
call fcn.1400c1030
nop
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x78]
call fcn.14003f990
or r13d, 8
mov dword [rsp + 0x30], r13d
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0xf
cmova rdx, qword [rsp + 0x78]
lea rcx, [rbp + 0x250]
call fcn.140051cc0
nop
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x250], r15
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x24c], edx
and r13d, 0xfffffff7
mov dword [rsp + 0x30], r13d
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x14004cf8f
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004cf8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d9e2
call fcn.1400b3f70
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], send
mov byte [rsp + 0x78], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x168], xmm0
mov qword [rbp + 0x178], r14
mov qword [rbp + 0x180], r14
mov qword [rbp + 0x178], r14
mov qword [rbp + 0x180], send
mov byte [rbp + 0x168], 0
or r13d, 4
mov dword [rsp + 0x30], r13d
mov r8d, 2
lea rcx, [rbp + 0x250]
call fcn.1400548e0
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x250]
call fcn.140054800
mov rdx, qword [rax + 8]
add rdx, qword [rax]
xor r8d, r8d
lea rcx, [rbp + 0x168]
call fcn.14003f800
cmp qword [rbp + 0x178], 0
je 0x14004d056
xor r8d, r8d
lea rcx, [rbp + 0x250]
call fcn.1400548e0
lea rdx, [rbp + 0x168]
cmp qword [rbp + 0x180], 0xf
cmova rdx, qword [rbp + 0x168]
mov r8, qword [rbp + 0x178]
lea rcx, [rbp + 0x250]
call fcn.140054ae0
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xe8], xmm0
mov qword [rbp + 0xf8], rax
lea r8, [rbp + 0x168]
cmp qword [rbp + 0x180], 0xf
cmova r8, qword [rbp + 0x168]
add r8, qword [rbp + 0x178]
lea rdx, [rbp + 0x168]
cmp qword [rbp + 0x180], 0xf
cmova rdx, qword [rbp + 0x168]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9, rsi
lea rcx, [rbp + 0xe8]
call fcn.14004dea0
nop
mov rbx, qword [rbp + 0xe8]
mov rdi, qword [rbp + 0xf0]
cmp rbx, rdi
je 0x14004d12d
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14004d0fc
lea rax, [rsp + 0x38]
mov qword [rbp + 0x18], rax
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
call fcn.14004a560
jmp 0x14004d124
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x14004d119
mov rax, qword [rbx]
mov qword [rbx], r14
mov qword [rdx], rax
add qword [r12 + 8], 8
jmp 0x14004d124
mov r8, rbx
mov rcx, r12
call fcn.140056650
add rbx, 8
cmp rbx, rdi
jne 0x14004d0d0
lea rdx, [rbp + 0x120]
mov rcx, rsi
call fcn.140053180
nop
mov rbx, qword [rbp + 0xe8]
test rbx, rbx
je 0x14004d1e2
mov rsi, qword [rbp + 0xf0]
cmp rbx, rsi
je 0x14004d18d
nop dword [rax]
mov rdi, qword [rbx]
test rdi, rdi
je 0x14004d17d
mov rcx, rdi
call fcn.140037460
mov edx, 0xa0
mov rcx, rdi
call fcn.1400b3f70
add rbx, 8
cmp rbx, rsi
jne 0x14004d160
mov rbx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xf8]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004d1c8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d9e8
mov rcx, rbx
call fcn.1400b3f70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xe8], xmm0
mov qword [rbp + 0xf8], r14
mov rdx, qword [rbp + 0x180]
cmp rdx, 0xf
jbe 0x14004d223
inc rdx
mov rcx, qword [rbp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d21e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d9ee
call fcn.1400b3f70
mov qword [rbp + 0x178], r14
mov qword [rbp + 0x180], send
mov byte [rbp + 0x168], 0
lea rax, [rbp + 0x300]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x250]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x250], r15
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.140051500
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 + 0x28], 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.1400bb8f0
jmp 0x14004d376
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14004d9fa
lea rax, [rsp + 0x58]
mov qword [rbp + 0x30], rax
movups xmm0, xmmword [rbp + 0x120]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rbp + 0x130]
movups xmmword [rsp + 0x68], xmm1
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], send
mov byte [rbp + 0x120], 0
lea rax, [rbp + 0x60]
mov qword [rbp + 0x38], rax
movups xmm0, xmmword [rbp + 0x100]
movups xmmword [rbp + 0x60], xmm0
movups xmm1, xmmword [rbp + 0x110]
movups xmmword [rbp + 0x70], xmm1
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], send
mov byte [rbp + 0x100], 0
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x60]
call fcn.140051740
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 0xf
jbe 0x14004d3b7
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d3b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d9f4
call fcn.1400b3f70
mov qword [rbp + 0x130], r14
mov qword [rbp + 0x138], send
mov byte [rbp + 0x120], 0
mov rsi, qword [rbp + 0x3c0]
mov rbx, qword [rbp + 0xd0]
jmp 0x14004d5c8
cmp qword [rbp + 0xd8], 0
je 0x14004d4c7
mov rdx, qword [rbp + 0x158]
mov r8, qword [rbp + 0x160]
lea eax, [r8 + rdx]
mov rcx, qword [rbp + 0x150]
test al, 1
jne 0x14004d43b
lea rax, [r8 + 2]
shr rax, 1
cmp rcx, rax
ja 0x14004d43b
lea rcx, [rbp + 0x140]
call fcn.140054470
mov r8, qword [rbp + 0x160]
mov rdx, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x150]
lea rax, [rcx*2 - 1]
and rdx, rax
mov qword [rbp + 0x158], rdx
lea rdi, [r8 + rdx]
mov r14, rdi
shr r14, 1
lea rax, [rcx - 1]
and rax, r14
lea r15, [rax*8]
mov rdx, qword [rbp + 0x148]
cmp qword [rdx + r15], 0
jne 0x14004d49a
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400b4098
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [r15 + rax], rcx
mov rcx, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x148]
lea rax, [rcx - 1]
and rax, r14
and edi, 1
mov rax, qword [rdx + rax*8]
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 + 0x160]
mov ecx, 0xa0
call fcn.1400b4098
mov rdi, rax
mov qword [rbp + 0x40], rax
xor edx, edx
mov r8d, 0xa0
mov rcx, rax
call fcn.1400c1030
mov rcx, rdi
call fcn.140049ff0
nop
mov qword [rbp - 0x68], rax
or r13d, 2
mov dword [rsp + 0x30], r13d
mov qword [rbp - 0x68], r14
mov rdi, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], rax
test rdi, rdi
je 0x14004d52a
mov rcx, rdi
call fcn.140037460
mov edx, 0xa0
mov rcx, rdi
call fcn.1400b3f70
and r13d, 0xfffffffd
mov dword [rsp + 0x30], r13d
mov rcx, qword [rbp + 0xd8]
lea rax, [rsp + 0x58]
mov qword [rbp + 0x48], rax
movups xmm0, xmmword [rbp + 0x100]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rbp + 0x110]
movups xmmword [rsp + 0x68], xmm1
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], send
mov byte [rbp + 0x100], 0
lea rax, [rsp + 0x58]
mov qword [rbp + 0x50], rax
lea rdx, [rsp + 0x58]
call fcn.14003f900
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x14004d5c5
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d5c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004da75
call fcn.1400b3f70
inc rbx
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x14004d609
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d604
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004da7b
call fcn.1400b3f70
mov qword [rbp + 0x110], r14
mov qword [rbp + 0x118], send
mov byte [rbp + 0x100], 0
jmp 0x14004d756
cmp qword [rbp + 0xd8], 0
je 0x14004dafc
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x14004d6f3
mov qword [rbp + 0x1c8], rdi
mov rdx, qword [rbp + 0x158]
dec rcx
add rdx, rcx
mov rcx, rdx
shr rcx, 1
mov rax, qword [rbp + 0x150]
dec rax
and rcx, rax
and edx, 1
mov rax, qword [rbp + 0x148]
mov rcx, qword [rax + rcx*8]
mov rdi, qword [rcx + rdx*8]
xor r14d, r14d
mov qword [rcx + rdx*8], r14
mov qword [rbp + 0x1c8], rdi
lea rcx, [rbp + 0x140]
call fcn.140051ee0
lea rax, [rsp + 0x38]
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], r14
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.14004a560
mov qword [rbp + 0x1c8], r14
mov r14, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], rdi
test r14, r14
je 0x14004d6f1
mov rcx, r14
call fcn.140037460
mov edx, 0xa0
mov rcx, r14
call fcn.1400b3f70
nop
jmp 0x14004d753
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x14004d718
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], rdi
mov qword [rdx], rax
add qword [r12 + 8], 8
jmp 0x14004d727
lea r8, [rbp + 0xd8]
mov rcx, r12
call fcn.140056650
mov rdi, qword [rbp + 0xd8]
mov qword [rbp + 0xd8], 0
test rdi, rdi
je 0x14004d753
mov rcx, rdi
call fcn.140037460
mov edx, 0xa0
mov rcx, rdi
call fcn.1400b3f70
inc rbx
mov r14, qword [rbp + 0xe0]
mov r12, qword [rsp + 0x40]
xor edi, edi
cmp rbx, rsi
je 0x14004d778
mov r13d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
jmp 0x14004c617
cmp qword [rbp + 0xd8], 0
jne 0x14004d91f
cmp qword [rbp + 0x160], 0
jne 0x14004d91f
lea rcx, [rbp + 0x140]
call fcn.1400515b0
nop
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
je 0x14004d7c3
mov rcx, rbx
call fcn.140037460
mov edx, 0xa0
mov rcx, rbx
call fcn.1400b3f70
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x14004d7e9
mov rax, qword [rcx]
lea rdx, [rbp + 0x1d0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x208], rdi
mov rcx, qword [rbp + 0x248]
test rcx, rcx
je 0x14004d80f
mov rax, qword [rcx]
lea rdx, [rbp + 0x210]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x248], rdi
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 0xf
jbe 0x14004d850
inc rdx
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d84b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004db23
call fcn.1400b3f70
mov qword [rbp + 0x1b8], rdi
mov qword [rbp + 0x1c0], send
mov byte [rbp + 0x1a8], 0
mov rdx, qword [rbp + 0x1a0]
cmp rdx, 0xf
jbe 0x14004d8a6
inc rdx
mov rcx, qword [rbp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004d8a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004d8ec
call fcn.1400b3f70
mov qword [rbp + 0x198], rdi
mov qword [rbp + 0x1a0], send
mov byte [rbp + 0x188], 0
mov rax, r12
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.1400b3f50
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.140097c38
nop
lea rdx, str.Unexpected_eof
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
call fcn.140097c38
int3
lea rdx, str.object_is_not_closed_with_
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
lea rdx, str.quote_was_opened_but_not_closed.
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
nop
lea rdx, str.key_declared__but_no_value
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
lea rdx, str.key_declared__but_no_value
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
lea rdx, str.quote_was_opened_but_not_closed.
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
call fcn.140097c38
nop
lea rdx, str.unexpected_key_without_object
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
call fcn.1400bb354
nop
lea rdx, str.No_closed_word
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
lea rdx, str.No_closed_word
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
call fcn.140097c38
nop
call fcn.140097c38
nop
lea rdx, str.key_declared__but_no_value
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
lea rdx, str.key_opened__but_never_closed
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
call fcn.1400bb354
nop
lea rdx, str.word_wasnt_properly_ended
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
int3
lea rdx, str.unexpected_
lea rcx, [rbp + 0xe8]
call fcn.14002b4a0
lea rdx, [0x1400fb7b8]
lea rcx, [rbp + 0xe8]
call fcn.1400b65a4
nop
call fcn.140097c38
int3