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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x248
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1b0], xmm6
mov qword [rbp + 0x198], 0xfffffffffffffffe
mov r15, rcx
mov rax, qword [rcx + 0x80]
test byte [rax + 0x68], 4
jne 0x1800774ba
xorps xmm0, xmm0
movups xmmword [rbp + 0x6a], xmm0
movaps xmmword [rbp + 0x60], xmm0
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
mov rax, qword [r15]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
jmp 0x180077424
add rax, 8
cmp rax, rdx
je 0x180077824
mov rcx, qword [rax]
test rcx, rcx
je 0x180077420
mov rdi, qword [rcx + 0xf0]
mov ebx, edi
not ebx
test bl, 0xa
jne 0x180077420
test dil, 4
je 0x180077824
xorps xmm0, xmm0
movaps xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], 0
add rcx, 0x128f0
lea rdx, [rbp + 0x120]
call fcn.1800512a0
test al, al
je 0x18007772b
mov rdi, qword [rbp + 0x120]
mov rax, qword [rbp + 0x128]
sub rax, rdi
cmp rax, 0x4a
mov esi, 0x4a
cmovb rsi, rax
lea rcx, [rbp + 0x30]
mov rdx, rdi
mov r8, rsi
call fcn.1801258c0
test rdi, rdi
jne 0x180077739
jmp 0x180077770
mov rax, qword [r15 + 0x88]
mov rbx, qword [rax]
mov rsi, qword [rax + 8]
cmp rbx, rsi
je 0x180077583
lea r14, [rbp + 0x120]
jmp 0x180077519
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
xor r9d, r9d
call fcn.180078b30
mov rcx, qword [rdi + 0xf0]
and rcx, 0xffffffffffffffdf
movzx eax, al
shl rax, 5
or rax, rcx
mov qword [rdi + 0xf0], rax
nop word [rax + rax]
add rbx, 8
cmp rbx, rsi
je 0x180077583
mov rdi, qword [rbx]
test rdi, rdi
je 0x180077510
mov rax, qword [rdi + 0xf0]
mov ecx, eax
and ecx, 0x1d2
cmp ecx, 0x12
jne 0x180077510
test al, 0x20
je 0x1800774da
xor ecx, ecx
call fcn.18013b8a8
sub rax, qword [rdi + 0xc8]
cmp rax, 0xb
jl 0x180077510
mov byte [rbp + 0x120], 0
mov rcx, qword [r15]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
mov rdx, rdi
mov r8d, 3
mov r9, r14
call fcn.180075900
or byte [rdi + 0xf0], 0x80
jmp 0x180077510
xorps xmm6, xmm6
movups xmmword [rbp + 0x15a], xmm6
movaps xmmword [rbp + 0x150], xmm6
movaps xmmword [rbp + 0x140], xmm6
movaps xmmword [rbp + 0x130], xmm6
movaps xmmword [rbp + 0x120], xmm6
mov qword [rbp + 0x180], r15
mov rax, qword [r15]
mov rax, qword [rax + 0x10]
mov rsi, qword [rax]
mov r13, qword [rax + 8]
cmp rsi, r13
je 0x1800779ff
lea r15, [rbp + 0x30]
lea r14, [rbp + 0x120]
jmp 0x1800775f1
mov rcx, rdi
call fcn.1800c38fc
test ebx, ebx
jne 0x180077698
add rsi, 8
cmp rsi, r13
je 0x1800779ff
mov r12, qword [rsi]
test r12, r12
je 0x1800775e4
mov eax, dword [r12 + 0xf0]
not eax
test al, 6
jne 0x1800775e4
movaps xmmword [rbp + 0x30], xmm6
mov qword [rbp + 0x40], 0
lea rcx, [r12 + 0x12b58]
mov rdx, r15
call fcn.1800512a0
test al, al
je 0x180077654
mov rdi, qword [rbp + 0x30]
mov rbx, qword [rbp + 0x38]
sub rbx, rdi
cmp rbx, 0x4a
mov eax, 0x4a
cmovae rbx, rax
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call fcn.1801258c0
test rdi, rdi
jne 0x180077663
jmp 0x1800775dc
xor ebx, ebx
mov rdi, qword [rbp + 0x30]
test rdi, rdi
je 0x1800775dc
mov rdx, qword [rbp + 0x40]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x1800775d4
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x18007872d
add rdx, 0x27
mov rdi, rax
jmp 0x1800775d4
cmp ebx, 0x4a
jne 0x1800779ff
mov rax, qword [r12 + 0xf0]
test al, 0x20
je 0x1800779ff
mov ecx, 0x584e4b59
xor ecx, dword [rbp + 0x120]
mov byte [rbp + 0xa0], 0
movzx edx, word [rbp + 0x124]
xor edx, 0x32
or edx, ecx
jne 0x1800776e1
cmp dword [rbp + 0x126], 0x343731
je 0x180077b0e
and rax, 0xffffffffffffff5f
or rax, 0x80
mov qword [r12 + 0xf0], rax
mov rcx, qword [rbp + 0x180]
mov rcx, qword [rcx]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0xa0]
mov rdx, r12
mov r8d, 3
call fcn.180075900
jmp 0x1800779ff
xor esi, esi
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x180077770
mov rdx, qword [rbp + 0x130]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x180077768
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x18007872d
add rdx, 0x27
mov rdi, rax
mov rcx, rdi
call fcn.1800c38fc
cmp esi, 0x4a
jne 0x180077824
mov rax, qword [r15 + 0x80]
test byte [rax + 0x68], 0x80
jne 0x180077824
mov r12, qword [r15 + 0x40]
mov rax, qword [r12 + 0x30]
mov r13, qword [rax + 0x30]
test r13, r13
je 0x180078732
mov rcx, qword [rax]
mov rbx, qword [rcx + 8]
cmp byte [rbx + 0x19], 0
mov rdx, rcx
jne 0x1800777cf
mov rdx, rcx
lea rdi, [rbx + 0x10]
cmp dword [rbx + 0x20], 0x6fff43c1
cmovge rdx, rbx
cmovge rdi, rbx
mov rbx, qword [rdi]
cmp byte [rbx + 0x19], 0
je 0x1800777b3
cmp byte [rdx + 0x19], 0
je 0x180077a1a
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 8]
cmp byte [rdx + 0x19], 0
mov rcx, rax
jne 0x180077809
mov rcx, rax
lea rbx, [rdx + 0x10]
cmp dword [rdx + 0x20], 0x6fff43c1
cmovge rcx, rdx
cmovge rbx, rdx
mov rdx, qword [rbx]
cmp byte [rdx + 0x19], 0
je 0x1800777ed
cmp byte [rcx + 0x19], 0
je 0x180077a94
lea r9, [rbp + 0x30]
mov rcx, r15
xor edx, edx
mov r8b, 1
call fcn.180078b30
mov byte [rbp + 0x197], 0
mov rax, qword [r15]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
jmp 0x180077844
add rax, 8
cmp rax, rdx
je 0x1800779ff
mov rcx, qword [rax]
test rcx, rcx
je 0x180077840
mov rdi, qword [rcx + 0xf0]
mov ebx, edi
not ebx
test bl, 0xa
jne 0x180077840
test dil, 4
je 0x1800779ff
xorps xmm0, xmm0
movaps xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], 0
add rcx, 0x12dc0
lea rdx, [rbp + 0x120]
call fcn.1800512a0
test al, al
je 0x1800778c8
mov rdi, qword [rbp + 0x120]
xor esi, esi
cmp qword [rbp + 0x128], rdi
setne sil
lea rcx, [rbp + 0x197]
mov rdx, rdi
mov r8, rsi
call fcn.1801258c0
test rdi, rdi
jne 0x1800778d6
jmp 0x18007790d
xor esi, esi
mov rdi, qword [rbp + 0x120]
test rdi, rdi
je 0x18007790d
mov rdx, qword [rbp + 0x130]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x180077905
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x18007872d
add rdx, 0x27
mov rdi, rax
mov rcx, rdi
call fcn.1800c38fc
test esi, esi
je 0x1800779ff
mov rdi, qword [r15 + 0x80]
test byte [rdi + 0x68], 0x80
jne 0x1800779ff
cmp byte [rbp + 0x197], 0
je 0x1800779cd
mov r12, qword [r15 + 0x40]
mov rax, qword [r12 + 0x30]
mov r13, qword [rax + 0x30]
test r13, r13
je 0x180078732
mov rcx, qword [rax]
mov rbx, qword [rcx + 8]
cmp byte [rbx + 0x19], 0
mov rdx, rcx
jne 0x180077978
mov rdx, rcx
lea rdi, [rbx + 0x10]
cmp dword [rbx + 0x20], 0x6fff43c1
cmovge rdx, rbx
cmovge rdi, rbx
mov rbx, qword [rdi]
cmp byte [rbx + 0x19], 0
je 0x18007795c
cmp byte [rdx + 0x19], 0
je 0x180077bb2
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 8]
cmp byte [rdx + 0x19], 0
mov rcx, rax
jne 0x1800779b2
mov rcx, rax
lea rbx, [rdx + 0x10]
cmp dword [rdx + 0x20], 0x6fff43c1
cmovge rcx, rdx
cmovge rbx, rdx
mov rdx, qword [rbx]
cmp byte [rdx + 0x19], 0
je 0x180077996
cmp byte [rcx + 0x19], 0
je 0x180077c2c
mov rax, qword [r15 + 0x80]
or qword [rax + 0x68], 0x100
jmp 0x1800779f0
lea rsi, [rdi + 0x78]
mov rcx, rsi
call fcn.1800c4f08
test eax, eax
jne 0x18007874b
mov dword [rdi + 0x70], reloc.WS2_32.dll_sendto
mov rcx, rsi
call fcn.1800c4f10
mov rax, qword [r15 + 0x80]
or qword [rax + 0x68], 0x80
movaps xmm6, xmmword [rbp + 0x1b0]
add rsp, 0x248
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp dword [rdx + 0x20], 0x6fff43c1
jg 0x1800777d9
cmp rdx, rcx
je 0x1800777d9
mov rcx, qword [rdx + 0x28]
mov rdx, qword [rcx + 8]
cmp byte [rdx + 0x19], 0
mov rsi, rcx
jne 0x180077a60
mov rsi, rcx
lea rbx, [rdx + 0x10]
cmp dword [rdx + 0x20], 0x6fff43d1
cmovge rsi, rdx
cmovge rbx, rdx
mov rdx, qword [rbx]
cmp byte [rdx + 0x19], 0
je 0x180077a44
cmp byte [rsi + 0x19], 0
jne 0x1800777d9
cmp dword [rsi + 0x20], 0x6fff43d1
jg 0x1800777d9
cmp rsi, rcx
je 0x1800777d9
cmp qword [rsi + 0x40], 7
jbe 0x180077ca6
mov rsi, qword [rsi + 0x28]
jmp 0x18007847a
cmp dword [rcx + 0x20], 0x6fff43c1
jg 0x180077813
cmp rcx, rax
je 0x180077813
mov rax, qword [rcx + 0x28]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
mov rsi, rax
jne 0x180077ada
mov rsi, rax
lea rdx, [rcx + 0x10]
cmp dword [rcx + 0x20], 0x6fff43d1
cmovge rsi, rcx
cmovge rdx, rcx
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
je 0x180077abe
cmp byte [rsi + 0x19], 0
jne 0x180077813
cmp dword [rsi + 0x20], 0x6fff43d1
jg 0x180077813
cmp rsi, rax
je 0x180077813
cmp qword [rsi + 0x40], 0x10
jb 0x180077caf
mov rsi, qword [rsi + 0x28]
jmp 0x180077cb3
lea rbx, [r12 + 0xd0]
mov qword [rbp + 0x38], 0
mov ecx, 0x50
call fcn.1800c38b8
mov qword [rbp + 0x30], rax
movaps xmm0, xmmword [0x18018c370]
movups xmmword [rbp + 0x40], xmm0
movups xmm0, xmmword [rbp + 0x12a]
movups xmm1, xmmword [rbp + 0x13a]
movups xmm2, xmmword [rbp + 0x14a]
movups xmm3, xmmword [rbp + 0x15a]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x30], xmm3
mov byte [rax + 0x40], 0
lea rdi, [rbp + 0x30]
mov rcx, rdi
mov rdx, rbx
call fcn.180079080
mov ebx, eax
mov rcx, rdi
call fcn.1800016e0
test bl, bl
mov rcx, qword [rbp + 0x180]
je 0x1800776fc
mov rax, qword [r12 + 0xf0]
and rax, 0xffffffffffffff9f
or rax, 0x40
mov qword [r12 + 0xf0], rax
mov byte [rbp + 0xa0], 1
jmp 0x1800776fc
cmp dword [rdx + 0x20], 0x6fff43c1
jg 0x180077982
cmp rdx, rcx
je 0x180077982
mov rcx, qword [rdx + 0x28]
mov rdx, qword [rcx + 8]
cmp byte [rdx + 0x19], 0
mov rsi, rcx
jne 0x180077bf8
mov rsi, rcx
lea rbx, [rdx + 0x10]
cmp dword [rdx + 0x20], 0x6fff43d1
cmovge rsi, rdx
cmovge rbx, rdx
mov rdx, qword [rbx]
cmp byte [rdx + 0x19], 0
je 0x180077bdc
cmp byte [rsi + 0x19], 0
jne 0x180077982
cmp dword [rsi + 0x20], 0x6fff43d1
jg 0x180077982
cmp rsi, rcx
je 0x180077982
cmp qword [rsi + 0x40], 7
jbe 0x180077d4a
mov rsi, qword [rsi + 0x28]
jmp 0x1800786d0
cmp dword [rcx + 0x20], 0x6fff43c1
jg 0x1800779bc
cmp rcx, rax
je 0x1800779bc
mov rax, qword [rcx + 0x28]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
mov rsi, rax
jne 0x180077c72
mov rsi, rax
lea rdx, [rcx + 0x10]
cmp dword [rcx + 0x20], 0x6fff43d1
cmovge rsi, rcx
cmovge rdx, rcx
mov rcx, qword [rdx]
cmp byte [rcx + 0x19], 0
je 0x180077c56
cmp byte [rsi + 0x19], 0
jne 0x1800779bc
cmp dword [rsi + 0x20], 0x6fff43d1
jg 0x1800779bc
cmp rsi, rax
je 0x1800779bc
cmp qword [rsi + 0x40], 0x10
jb 0x180077d53
mov rsi, qword [rsi + 0x28]
jmp 0x180077d57
add rsi, 0x28
jmp 0x180078483
add rsi, 0x28
xorps xmm0, xmm0
movaps xmmword [rbp + 0xf0], xmm0
movaps xmmword [rbp + 0xe0], xmm0
mov rcx, rsi
call fcn.1801431e0
test rax, rax
js 0x180078752
mov rdi, rax
cmp rax, 0xf
mov qword [rbp + 0x180], r15
ja 0x180077d0e
mov qword [rbp + 0xf0], rdi
mov qword [rbp + reloc.WS2_32.dll_ntohs8], 0xf
lea rcx, [rbp + 0xe0]
mov rdx, rsi
mov r8, rdi
call fcn.1801258c0
jmp 0x180077e21
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r14d, reloc.WLDAP32.dll_Ordinal_22
cmovae r14, rax
cmp r14, 0xfff
jb 0x180077dee
lea rcx, [r14 + 0x28]
call fcn.1800c38b8
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180077dfa
add rsi, 0x28
jmp 0x1800786d9
add rsi, 0x28
xorps xmm0, xmm0
movaps xmmword [rbp + 0x110], xmm0
movaps xmmword [rbp + 0x100], xmm0
mov rcx, rsi
call fcn.1801431e0
test rax, rax
js 0x180078752
mov rdi, rax
cmp rax, 0xf
mov qword [rbp + 0x180], r15
ja 0x180077db2
mov qword [rbp + 0x110], rdi
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
lea rcx, [rbp + 0x100]
mov rdx, rsi
mov r8, rdi
call fcn.1801258c0
jmp 0x180078073
mov rax, rdi
or rax, 0xf
cmp rax, 0x17
mov r14d, reloc.WLDAP32.dll_Ordinal_22
cmovae r14, rax
cmp r14, 0xfff
jb 0x180078040
lea rcx, [r14 + 0x28]
call fcn.1800c38b8
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18007804c
lea rcx, [r14 + 1]
call fcn.1800c38b8
mov rbx, rax
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xf8], r14
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1801258c0
mov byte [rbx + rdi], 0
mov r15, qword [rbp + 0xf0]
cmp qword [rbp + 0xf8], 0x10
jb 0x180077e3b
mov rdi, qword [rbp + 0xe0]
jmp 0x180077e42
lea rdi, [rbp + 0xe0]
mov qword [rbp + 0xd0], r12
test r15, r15
mov qword [rbp + 0xd8], r13
je 0x180077fa2
lea rax, [r15 - 1]
mov qword [rbp + 0xc0], rax
mov rax, r13
mov r13d, r15d
and r13d, 3
mov rsi, r15
and rsi, 0xfffffffffffffffc
movabs rbx, 0x100000001b3
mov qword [rbp + 0xc8], rsi
jmp 0x180077eac
cmp r12, rsi
jne 0x180078299
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx + 0x20]
test rax, rax
mov rsi, qword [rbp + 0xc8]
je 0x180078002
mov r8, rax
cmp qword [rbp + 0xc0], 3
jae 0x180077ec7
xor eax, eax
movabs rcx, 0xcbf29ce484222325
jmp 0x180077f0b
xor eax, eax
movabs rcx, 0xcbf29ce484222325
movzx edx, byte [rdi + rax]
xor rdx, rcx
imul rdx, rbx
movzx ecx, byte [rdi + rax + 1]
xor rcx, rdx
imul rcx, rbx
movzx edx, byte [rdi + rax + 2]
xor rdx, rcx
imul rdx, rbx
movzx ecx, byte [rdi + rax + 3]
xor rcx, rdx
imul rcx, rbx
add rax, 4
cmp rsi, rax
jne 0x180077ed3
mov rdx, rcx
test r13, r13
je 0x180077f2e
add rax, rdi
xor esi, esi
movzx edx, byte [rax + rsi]
xor rdx, rcx
imul rdx, rbx
inc rsi
mov rcx, rdx
cmp r13, rsi
jne 0x180077f18
and rdx, qword [r8 + 0x60]
mov rsi, qword [r8 + 0x38]
mov qword [rbp + 0x188], r8
mov rax, qword [r8 + 0x48]
mov rcx, rdx
shl rcx, 4
mov r12, qword [rax + rcx + 8]
cmp r12, rsi
je 0x180077e91
add rdx, rdx
mov r14, qword [rax + rdx*8]
cmp r15, qword [r12 + 0x20]
jne 0x180077f8b
cmp qword [r12 + 0x28], 0x10
jb 0x180077f73
mov rdx, qword [r12 + 0x10]
jmp 0x180077f78
lea rdx, [r12 + 0x10]
mov rcx, rdi
mov r8, r15
call fcn.1801257c0
test eax, eax
je 0x180077e88
cmp r12, r14
je 0x180077e91
mov r12, qword [r12 + 8]
cmp r15, qword [r12 + 0x20]
je 0x180077f64
jmp 0x180077f8b
movabs rax, 0x97e539c90844464a
mov rdx, r13
jmp 0x180077fc3
cmp r12, rdi
jne 0x180078292
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x180078002
mov rcx, rdx
mov rdx, qword [rdx + 0x60]
mov rdi, qword [rcx + 0x38]
mov rbx, qword [rcx + 0x48]
add rdx, rdx
and rdx, rax
mov r12, qword [rbx + rdx*8 + 8]
cmp r12, rdi
je 0x180077fba
cmp qword [r12 + 0x20], 0
je 0x180077fb1
mov rdx, qword [rbx + rdx*8]
cmp r12, rdx
je 0x180077fba
mov r12, qword [r12 + 8]
cmp qword [r12 + 0x20], 0
jne 0x180077fee
jmp 0x180077fb1
lea rax, str.KEY____NOT_FOUND
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], reloc.WS2_32.dll_select
mov ecx, dword [rcx + 0xf0]
lea rdx, [rbp + 0x120]
lea r8, [rbp + 0x100]
lea r9, [rbp + 0xe0]
call fcn.180018030
jmp fcn.180078343
lea rcx, [r14 + 1]
call fcn.1800c38b8
mov rbx, rax
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x110], rdi
mov qword [rbp + 0x118], r14
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1801258c0
mov byte [rbx + rdi], 0
mov r15, qword [rbp + 0x110]
cmp qword [rbp + 0x118], 0x10
jb 0x18007808d
mov rdi, qword [rbp + 0x100]
jmp 0x180078094
lea rdi, [rbp + 0x100]
mov qword [rbp + 0xd0], r12
test r15, r15
mov qword [rbp + 0xd8], r13
je 0x1800781f4
lea rax, [r15 - 1]
mov qword [rbp + 0xc0], rax
mov rax, r13
mov r13d, r15d
and r13d, 3
mov rsi, r15
and rsi, 0xfffffffffffffffc
movabs rbx, 0x100000001b3
mov qword [rbp + 0xc8], rsi
jmp 0x1800780fe
cmp r12, rsi
jne 0x1800784de
mov rcx, qword [rbp + 0x188]
mov rax, qword [rcx + 0x20]
test rax, rax
mov rsi, qword [rbp + 0xc8]
je 0x180078254
mov r8, rax
cmp qword [rbp + 0xc0], 3
jae 0x180078119
xor eax, eax
movabs rcx, 0xcbf29ce484222325
jmp 0x18007815d
xor eax, eax
movabs rcx, 0xcbf29ce484222325
movzx edx, byte [rdi + rax]
xor rdx, rcx
imul rdx, rbx
movzx ecx, byte [rdi + rax + 1]
xor rcx, rdx
imul rcx, rbx
movzx edx, byte [rdi + rax + 2]
xor rdx, rcx
imul rdx, rbx
movzx ecx, byte [rdi + rax + 3]
xor rcx, rdx
imul rcx, rbx
add rax, 4
cmp rsi, rax
jne 0x180078125
mov rdx, rcx
test r13, r13
je 0x180078180
add rax, rdi
xor esi, esi
movzx edx, byte [rax + rsi]
xor rdx, rcx
imul rdx, rbx
inc rsi
mov rcx, rdx
cmp r13, rsi
jne 0x18007816a
and rdx, qword [r8 + 0x60]
mov rsi, qword [r8 + 0x38]
mov qword [rbp + 0x188], r8
mov rax, qword [r8 + 0x48]
mov rcx, rdx
shl rcx, 4
mov r12, qword [rax + rcx + 8]
cmp r12, rsi
je 0x1800780e3
add rdx, rdx
mov r14, qword [rax + rdx*8]
cmp r15, qword [r12 + 0x20]
jne 0x1800781dd
cmp qword [r12 + 0x28], 0x10
jb 0x1800781c5
mov rdx, qword [r12 + 0x10]
jmp 0x1800781ca
lea rdx, [r12 + 0x10]
mov rcx, rdi
mov r8, r15
call fcn.1801257c0
test eax, eax
je 0x1800780da
cmp r12, r14
je 0x1800780e3
mov r12, qword [r12 + 8]
cmp r15, qword [r12 + 0x20]
je 0x1800781b6
jmp 0x1800781dd
movabs rax, 0x97e539c90844464a
mov rdx, r13
jmp 0x180078215
cmp r12, rdi
jne 0x1800784d7
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x180078254
mov rcx, rdx
mov rdx, qword [rdx + 0x60]
mov rdi, qword [rcx + 0x38]
mov rbx, qword [rcx + 0x48]
add rdx, rdx
and rdx, rax
mov r12, qword [rbx + rdx*8 + 8]
cmp r12, rdi
je 0x18007820c
cmp qword [r12 + 0x20], 0
je 0x180078203
mov rdx, qword [rbx + rdx*8]
cmp r12, rdx
je 0x18007820c
mov r12, qword [r12 + 8]
cmp qword [r12 + 0x20], 0
jne 0x180078240
jmp 0x180078203
lea rax, str.KEY____NOT_FOUND
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], reloc.WS2_32.dll_select
mov ecx, dword [rcx + 0xf0]
lea rdx, [rbp + 0x120]
lea r8, [rbp + 0xa0]
lea r9, [rbp + 0x100]
call fcn.180018030
jmp fcn.18007859d
mov qword [rbp + 0x188], rcx
lea rax, [0x1801ad4cf]
mov qword [rbp - 0x20], rax
lea rax, str.Authenticating...
mov qword [rbp - 0x18], rax
movaps xmm0, xmmword [0x18018bed0]
movaps xmmword [rbp - 0x30], xmm0
mov rsi, qword [r12 + 0x40]
cmp qword [r12 + 0x48], 0x10
jb 0x1800782ce
mov r12, qword [r12 + 0x30]
jmp 0x1800782d2
add r12, 0x30
xorps xmm0, xmm0
movaps xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x138], reloc.WS2_32.dll_ntohs
lea rdx, [rsi + 0x40]
cmp rdx, 0x10
jb 0x180078313
lea rcx, [rbp + 0x120]
call fcn.180008760
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x10], 2
lea rax, [rbp - 0x30]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], rsi
lea rcx, [rbp - 0x38]
lea rdx, [rbp + 0x120]
lea r8, [rbp + 0x20]
lea r9, [rbp + 0x10]
call fcn.1800088a0
mov qword [rbp + 0x188], rcx
lea rax, [0x1801ad4cb]
mov qword [rbp + 0xb0], rax
lea rax, str.Connecting...
mov qword [rbp + 0xb8], rax
movaps xmm0, xmmword [0x18018bed0]
movaps xmmword [rbp + 0xa0], xmm0
mov rsi, qword [r12 + 0x40]
cmp qword [r12 + 0x48], 0x10
jb 0x18007851c
mov r12, qword [r12 + 0x30]
jmp 0x180078520
add r12, 0x30
xorps xmm0, xmm0
movaps xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x138], reloc.WS2_32.dll_ntohs
lea rdx, [rsi + 0x40]
cmp rdx, 0x10
jb 0x180078561
lea rcx, [rbp + 0x120]
call fcn.180008760
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x90], 2
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x98], rax
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], rsi
lea rcx, [rbp - 0x40]
lea rdx, [rbp + 0x120]
lea r8, [rbp - 0x10]
lea r9, [rbp + 0x90]
call fcn.1800088a0
call fcn.180139754
lea rcx, str.Locale
lea rdx, str.ersc_session_manager_.._mod_message_repository_mod_message_repository.h
mov r8d, 0x89
call fcn.18001d370
mov ecx, eax
call fcn.1800c4548
call fcn.180001590
int3