Function at 0x180035250
Capabilities:
Create thread
Encode data using base64
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, 0xb88
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xaf0], xmm7
movaps xmmword [rbp + 0xae0], xmm6
mov qword [rbp + 0xad0], 0xfffffffffffffffe
mov qword [rbp + 0x918], r8
mov r14, rdx
mov qword [rbp + 0xac0], rcx
cmp rcx, rdx
je 0x1800352e7
mov rsi, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
mov r8, r14
jb 0x1800352ab
mov r8, qword [r14]
mov rcx, qword [rbp + 0xac0]
mov rax, qword [rcx + 0x18]
cmp rax, rsi
jae 0x1800352c5
mov rdx, rsi
call fcn.180039450
jmp 0x1800352e7
mov rdi, rcx
cmp rax, 0x10
jb 0x1800352d1
mov rdi, qword [rcx]
mov qword [rcx + 0x10], rsi
mov rcx, rdi
mov rdx, r8
mov r8, rsi
call fcn.1801258c0
mov byte [rdi + rsi], 0
mov rcx, qword [rbp + 0x918]
mov rax, qword [rcx + 8]
test rax, rax
je 0x180035301
lock inc dword [rax + 8]
mov rax, qword [rcx + 8]
jmp 0x180035303
xor eax, eax
mov rdx, qword [rbp + 0xac0]
mov rcx, qword [rcx]
mov qword [rdx + 0x20], rcx
mov rsi, qword [rdx + 0x28]
mov qword [rdx + 0x28], rax
test rsi, rsi
je 0x18003533b
lock dec dword [rsi + 8]
jne 0x18003533b
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
lock dec dword [rsi + 0xc]
jne 0x18003533b
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
lea rdx, [0x1801ada68]
lea r15, [rbp + 0x920]
mov ecx, 6
mov r8, r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
test eax, eax
je 0x180037b2a
mov rcx, qword [rbp + 0x920]
lea rdx, [rbp - 0x30]
mov r8d, 0x400
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, 0xfffff7ff
je 0x180037ccd
lea r12, [rbp - 0x30]
mov rcx, r12
call fcn.180143494
mov rsi, rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x960], xmm0
movaps xmmword [rbp + 0x970], xmm0
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
jae 0x180037ee7
cmp rsi, 7
ja 0x1800353e7
mov qword [rbp + 0x970], rsi
mov qword [rbp + 0x978], 7
add rsi, rsi
lea rcx, [rbp + 0x960]
lea rdx, [rbp - 0x30]
mov r8, rsi
call fcn.1801258c0
jmp 0x180035481
mov rax, rsi
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x180037f3a
cmp rax, 0xb
mov ebx, 0xa
cmovae rbx, rax
lea rcx, [rbx + rbx]
cmp rbx, 0x7ff
jb 0x180035448
movabs rax, 0x7fffffffffffffec
cmp rbx, rax
jae 0x180037f3a
add rcx, 0x29
call fcn.1800c38b8
mov rdi, rax
add rdi, 0x27
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180035454
add rcx, 2
call fcn.1800c38b8
mov rdi, rax
mov qword [rbp + 0x960], rdi
mov qword [rbp + 0x970], rsi
mov qword [rbp + 0x978], rbx
mov r8, rsi
add r8, rsi
lea rdx, [rbp - 0x30]
mov rcx, rdi
call fcn.1801258c0
mov word [rdi + rsi*2], 0
mov qword [rbp + 0x8e8], r14
mov rax, qword [rbp + 0x970]
mov rsi, qword [rbp + 0x978]
cmp rsi, 8
jb 0x1800354a5
mov r14, qword [rbp + 0x960]
jmp 0x1800354ac
lea r14, [rbp + 0x960]
lea rdi, [r14 + rax*2]
mov rcx, r14
mov rdx, rdi
call fcn.18004bed0
mov rcx, rdi
cmp rax, rdi
je 0x1800354f0
mov rcx, rax
jmp 0x1800354d9
add rcx, 2
cmp rcx, rdi
je 0x1800354e8
movzx eax, word [rcx]
cmp eax, 0x5c
je 0x1800354d0
cmp eax, 0x2f
je 0x1800354d0
jmp 0x1800354f0
mov rcx, rdi
nop dword [rax + rax]
cmp rdi, rcx
je 0x180035512
movzx eax, word [rdi - 2]
add rdi, 0xfffffffffffffffe
cmp eax, 0x5c
je 0x180035507
cmp eax, 0x2f
jne 0x1800354f0
add rdi, 2
cmp rcx, rdi
jne 0x180035529
jmp 0x18003551a
mov rdi, rcx
cmp rcx, rdi
jne 0x180035529
mov rdi, rcx
jmp 0x180035537
add rdi, 0xfffffffffffffffe
cmp rdi, rcx
je 0x18003551a
movzx eax, word [rdi - 2]
cmp eax, 0x5c
je 0x180035520
cmp eax, 0x2f
je 0x180035520
sub rdi, r14
xorps xmm0, xmm0
movaps xmmword [rbp + 0xa60], xmm0
movaps xmmword [rbp + 0xa50], xmm0
js 0x180037eec
mov rbx, rdi
sar rbx, 1
cmp rdi, 0xf
ja 0x180035586
mov qword [rbp + 0xa60], rbx
mov qword [rbp + 0xa68], 7
lea rcx, [rbp + 0xa50]
mov rdx, r14
mov r8, rdi
call fcn.1801258c0
jmp 0x18003560b
mov qword [rbp + 0xa68], 7
mov rax, rbx
or rax, 7
cmp rax, 0xb
mov r13d, 0xa
cmovae r13, rax
mov rcx, r13
add rcx, r13
cmp r13, 0x7ff
jb 0x1800355cf
add rcx, 0x29
call fcn.1800c38b8
mov rsi, rax
add rsi, 0x27
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1800355db
add rcx, 2
call fcn.1800c38b8
mov rsi, rax
mov qword [rbp + 0xa50], rsi
mov qword [rbp + 0xa60], rbx
mov qword [rbp + 0xa68], r13
mov rcx, rsi
mov rdx, r14
mov r8, rdi
call fcn.1801258c0
mov word [rsi + rbx*2], 0
mov rsi, qword [rbp + 0x978]
cmp rsi, 8
mov r14, qword [rbp + 0x8e8]
jb 0x180035657
mov rcx, qword [rbp + 0x960]
lea rdx, [rsi + rsi]
add rdx, 2
cmp rdx, 0x1000
jb 0x180035652
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180037ac3
add rsi, rsi
add rsi, 0x29
mov rdx, rsi
mov rcx, rax
call fcn.1800c38fc
movabs rax, 0x82ea16e899718f73
mov qword [rbp + 0x920], rax
movabs r13, 0x7ba279db1a427bc
mov qword [rbp + 0x928], r13
movabs rax, 0x82ea7384f812e01f
mov qword [rbp + 0xac8], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r13
movaps xmm0, xmmword [rbp + 0x920]
xorps xmm0, xmmword [r12]
movaps xmmword [rbp + 0x920], xmm0
mov rcx, r15
call fcn.1801431e0
mov qword [rbp + 0x960], r15
mov qword [rbp + 0x968], rax
call fcn.1800c5df0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0x960]
mov edx, eax
mov qword [rbp + 0x910], r8
call fcn.18004b860
lea rsi, [rbp + 0xa50]
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.18004bc00
mov rax, qword [rbp - 0x18]
cmp rax, 8
jb 0x180035732
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x18003572d
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
xorps xmm0, xmm0
movaps xmmword [rbp + 0x8f0], xmm0
movaps xmmword [rbp + 0x900], xmm0
mov rdi, qword [rbp + 0xa60]
mov rax, qword [rbp + 0xa68]
cmp rax, 8
jb 0x18003575e
mov rsi, qword [rbp + 0xa50]
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
jae 0x180037ef1
cmp rdi, 7
ja 0x1800357b7
mov qword [rbp + 0x900], rdi
mov qword [rbp + 0x908], 7
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x8f0], xmm0
cmp rax, 8
jae 0x180035865
cmp qword [rbp + 0x908], 8
jb 0x1800358b2
mov rcx, qword [rbp + 0x8f0]
jmp 0x1800358b9
mov qword [rbp + 0x908], 7
mov rax, rdi
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x180037f3f
cmp rax, 0xb
mov ebx, 0xa
cmovae rbx, rax
lea rcx, [rbx + rbx]
cmp rbx, 0x7ff
jb 0x180035823
movabs rax, 0x7fffffffffffffec
cmp rbx, rax
jae 0x180037f3f
add rcx, 0x29
call fcn.1800c38b8
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x18003582f
add rcx, 2
call fcn.1800c38b8
mov rcx, rax
mov qword [rbp + 0x8f0], rcx
mov qword [rbp + 0x900], rdi
mov qword [rbp + 0x908], rbx
lea r8, [rdi + rdi]
add r8, 2
mov rdx, rsi
call fcn.1801258c0
mov rax, qword [rbp + 0xa68]
cmp rax, 8
jb 0x18003579d
mov rcx, qword [rbp + 0xa50]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x18003589f
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
cmp qword [rbp + 0x908], 8
jae 0x1800357ab
lea rcx, [rbp + 0x8f0]
lea rdi, [rbp - 0x30]
mov rdx, rdi
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1800c5ac0
test eax, eax
jne 0x1800376ba
cmp qword [rbp + 0x908], 8
jb 0x1800358ec
mov rcx, qword [rbp + 0x8f0]
jmp 0x1800358f3
lea rcx, [rbp + 0x8f0]
lea rsi, [rbp - 0x30]
mov rdx, rsi
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1800c5ac0
test eax, eax
jne 0x180037704
mov eax, dword [rbp - 0x20]
test eax, 0x400
je 0x180035938
mov ecx, dword [rbp - 0x1c]
cmp ecx, 0xa0000003
je 0x180037724
cmp ecx, 0xa000000c
je 0x180037724
test al, 0x10
je 0x180037724
movabs rax, 0x82ea73ea97618a31
mov qword [rbp + 0x920], rax
mov qword [rbp + 0x928], r13
mov rax, qword [rbp + 0xac8]
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x8e0], r13
mov qword [rbp - 0x28], r13
movaps xmm0, xmmword [rbp + 0x920]
xorps xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x920], xmm0
mov rsi, qword [r14 + 0x10]
lea rcx, [rbp + 0x920]
call fcn.1801431e0
mov r12, rax
mov rax, rsi
movabs rcx, 0x7fffffffffffffff
xor rax, rcx
cmp rax, r12
jb 0x180037f04
mov r13, qword [r14]
mov r14, qword [r14 + 0x18]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x970], xmm0
movaps xmmword [rbp + 0x960], xmm0
lea rbx, [r12 + rsi]
mov r15d, reloc.WS2_32.dll_ntohs
lea rdi, [rbp + 0x960]
cmp rbx, 0x10
jb 0x180035a3b
mov rax, rbx
or rax, 0xf
js 0x180035a08
cmp rax, 0x17
mov r15d, reloc.WLDAP32.dll_Ordinal_22
cmovae r15, rax
lea rcx, [r15 + 1]
cmp r15, 0xfff
jae 0x180035a1c
call fcn.1800c38b8
mov rdi, rax
jmp 0x180035a34
movabs rcx, 0x8000000000000000
movabs r15, 0x7fffffffffffffff
add rcx, 0x27
call fcn.1800c38b8
mov rdi, rax
add rdi, 0x27
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov qword [rbp + 0x960], rdi
cmp r14, 0x10
mov r14, qword [rbp + 0x8e8]
cmovb r13, r14
mov qword [rbp + 0x970], rbx
mov qword [rbp + 0x978], r15
mov rcx, rdi
mov rdx, r13
mov r8, rsi
call fcn.1801258c0
add rsi, rdi
lea rdx, [rbp + 0x920]
mov rcx, rsi
mov r8, r12
call fcn.1801258c0
mov byte [rdi + rbx], 0
mov rax, qword [rbp + 0x970]
cmp qword [rbp + 0x978], 0x10
jb 0x180035a9e
mov rcx, qword [rbp + 0x960]
mov qword [rbp + 0x910], rcx
mov rcx, qword [rbp + 0x910]
mov qword [rbp + 0xa50], rcx
mov qword [rbp + 0xa58], rax
call fcn.1800c5df0
lea rcx, [rbp - 0x30]
lea r8, [rbp + 0xa50]
mov edx, eax
call fcn.18004b860
mov r12, qword [rbp + 0x8e0]
lea rsi, [rbp + 0x8f0]
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.18004bc00
mov rax, qword [rbp - 0x18]
cmp rax, 8
jb 0x180035b2a
mov rcx, qword [rbp - 0x30]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x180035b25
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
xorps xmm0, xmm0
movaps xmmword [rbp + 0x8b0], xmm0
movaps xmmword [rbp + 0x8c0], xmm0
mov rdi, qword [rbp + 0x900]
cmp qword [rbp + 0x908], 8
jb 0x180035b53
mov rsi, qword [rbp + 0x8f0]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
jae 0x180037f09
cmp rdi, 7
ja 0x180035b8d
mov qword [rbp + 0x8c0], rdi
mov qword [rbp + 0x8c8], 7
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x8b0], xmm0
jmp 0x180035c2a
mov qword [rbp + 0x8c8], 7
mov rax, rdi
or rax, 7
movabs rcx, 0x7ffffffffffffffe
cmp rax, rcx
ja 0x180037f44
cmp rax, 0xb
mov ebx, 0xa
cmovae rbx, rax
lea rcx, [rbx + rbx]
cmp rbx, 0x7ff
jb 0x180035bf9
movabs rax, 0x7fffffffffffffec
cmp rbx, rax
jae 0x180037f44
add rcx, 0x29
call fcn.1800c38b8
mov rcx, rax
add rcx, 0x27
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x180035c05
add rcx, 2
call fcn.1800c38b8
mov rcx, rax
mov qword [rbp + 0x8b0], rcx
mov qword [rbp + 0x8c0], rdi
mov qword [rbp + 0x8c8], rbx
lea r8, [rdi + rdi]
add r8, 2
mov rdx, rsi
call fcn.1801258c0
mov rax, qword [rbp + 0x978]
cmp rax, 0x10
jb 0x180035c6f
mov rcx, qword [rbp + 0x960]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180035c6a
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
cmp qword [rbp + 0x8c8], 8
jb 0x180035c82
mov rcx, qword [rbp + 0x8b0]
jmp 0x180035c89
lea rcx, [rbp + 0x8b0]
lea r15, [rbp - 0x30]
mov rdx, r15
mov r8d, 3
mov r9d, 0xffffffff
call fcn.1800c5ac0
cmp eax, 0x34
jg 0x180035cd0
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x180035cde
test eax, eax
jne 0x180037f58
cmp qword [rbp + 0x8c8], 8
jb 0x180036015
mov rsi, qword [rbp + 0x8b0]
jmp 0x18003601c
cmp eax, 0x35
je 0x180035cde
cmp eax, 0x7b
jne 0x180037f58
mov rax, qword [rbp + 0x918]
mov rbx, qword [rax]
movabs rax, 0xeb9e12f79673924b
mov qword [rbp + 0x960], rax
movabs rax, 0x27df4bf4d78449d3
mov qword [rbp + 0x968], rax
movabs rax, 0xb51e11c6b129f2b7
mov qword [rbp + 0x970], rax
movabs rax, 0xb4777e88c96e859a
mov qword [rbp + 0x978], rax
movabs rax, 0x11d4341ed733076d
mov qword [rbp + 0x980], rax
movabs rax, 0x235870d818eb5004
mov qword [rbp + 0x988], rax
movabs rax, 0x70bb3c289b887e70
mov qword [rbp + 0x990], rax
movabs rax, 0xb89388e7b88eb4c8
mov qword [rbp + 0x998], rax
movabs rax, 0x8e30174c7684ff65
mov qword [rbp + 0x9a0], rax
movabs rax, 0x7e0946854c1ea1c4
mov qword [rbp + 0x9a8], rax
mov rcx, qword [rbp + 0xac8]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], r12
movabs rcx, 0xd47d7eaa915b9dd1
mov qword [rbp - 0x20], rcx
movabs rcx, 0x945503f3eb4ee0f6
mov qword [rbp - 0x18], rcx
movabs rcx, 0x7fa15b78f7476803
mov qword [rbp - 0x10], rcx
movabs rcx, 0x3341cb16fcb6b60
mov qword [rbp - 8], rcx
movabs rcx, 0x1cd75d4ebbed0d05
mov qword [rbp], rcx
movabs rcx, 0xc5e8aac7d3edd5aa
mov qword [rbp + 8], rcx
movabs rcx, 0x8e30174c7684ff47
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rax
mov rax, r15
movaps xmm0, xmmword [rbp + 0x960]
xorps xmm0, xmmword [rax]
movaps xmmword [rbp + 0x960], xmm0
movaps xmm0, xmmword [rbp + 0x970]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x970], xmm0
movaps xmm0, xmmword [rbp + 0x980]
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x980], xmm0
movaps xmm0, xmmword [rbp + 0x990]
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x990], xmm0
movaps xmm0, xmmword [rbp + 0x9a0]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rbp + 0x9a0], xmm0
lea rsi, [rbp + 0x960]
mov rcx, rsi
call fcn.1801431e0
mov rdi, rax
mov rdx, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x180035e83
mov r14, qword [r14]
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], rdx
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x180035e99
mov rbx, qword [rbx]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rax
movaps xmm0, xmmword [0x18018c180]
movaps xmmword [rbp - 0x30], xmm0
xorps xmm0, xmm0
movaps xmmword [rbp + 0xa50], xmm0
mov qword [rbp + 0xa60], 0
mov qword [rbp + 0xa68], reloc.WS2_32.dll_ntohs
add rdx, rax
add rdx, rdi
cmp rdx, 0x10
jb 0x180035eef
lea rcx, [rbp + 0xa50]
call fcn.180008760
mov qword [rbp + 0xa60], 0
mov qword [rbp + 0x920], 2
mov qword [rbp + 0x928], r15
mov qword [rbp + 0x850], rsi
mov qword [rbp + 0x858], rdi
lea rcx, [rbp + 0x828]
lea rdx, [rbp + 0xa50]
lea r8, [rbp + 0x850]
lea r9, [rbp + 0x920]
call fcn.1800088a0
mov ecx, Ordinal_41
call fcn.1800c38b8
mov rsi, rax
movaps xmm0, xmmword [rbp + 0xa50]
movaps xmm1, xmmword [rbp + 0xa60]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x18015e0d0]
movaps xmmword [rbp + 0xa60], xmm0
mov byte [rbp + 0xa50], 0
lea rax, [rbp + 0x928]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
lea r8, [0x18003b7e0]
xor ecx, ecx
xor edx, edx
mov r9, rsi
call fcn.180136d40
mov qword [rbp + 0x920], rax
test rax, rax
je 0x180037f0e
cmp dword [rbp + 0x928], 0
je 0x180037f29
movups xmm0, xmmword [rbp + 0x920]
movaps xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
call fcn.1800c52b8
test eax, eax
jne 0x180037f33
mov rax, qword [rbp + 0xa68]
cmp rax, 0xf
jbe fcn.1800374b4
mov rcx, qword [rbp + 0xa50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x18003600b
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
jmp fcn.1800374b4
lea rsi, [rbp + 0x8b0]
lea rax, [0x1801a9dc0]
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x88], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], 0
lea rcx, [rbp + 0x80]
lea rdx, [rbp - 0x20]
lea rax, [0x1801a9fd8]
mov qword [rbp + 0x80], rax
mov dword [rbp + 0x7c], 0x98
mov qword [rbp - 0x28], 0
xor r8d, r8d
call fcn.18004b2b0
mov rax, qword [rbp - 0x30]
movsxd rax, dword [rax + 4]
lea rcx, [0x1801a9db8]
mov qword [rbp + rax - 0x30], rcx
mov rax, qword [rbp - 0x30]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax - 0x34], ecx
lea rax, [0x1801a9e50]
mov qword [rbp - 0x20], rax
mov ecx, reloc.WS2_32.dll_recv
call fcn.1800c38b8
mov rdi, rax
mov cl, 1
call fcn.1800c41f8
mov qword [rdi + 8], rax
mov qword [rbp + 0x40], rdi
lea rdi, [rbp - 0x18]
lea r14, [rbp - 0x10]
lea rbx, [rbp + 8]
lea r12, [rbp + 0x10]
lea r13, [rbp + 0x28]
lea rcx, [rbp + 0x2c]
lea rax, [0x1801a9dd0]
mov qword [rbp - 0x20], rax
mov byte [rbp + 0x5c], 0
mov byte [rbp + 0x51], 0
mov qword [rbp - 8], rdi
mov qword [rbp], r14
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x28], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x60], 0
mov rax, qword [0x1801eae00]
mov qword [rbp + 0x54], rax
mov qword [rbp + 0x48], 0
mov rcx, rsi
mov edx, 1
mov r8d, 0x40
call fcn.1800c439c
mov rsi, rax
test rax, rax
je 0x180036240
mov byte [rbp + 0x5c], 1
mov byte [rbp + 0x51], 0
mov qword [rbp - 8], rdi
mov qword [rbp], r14
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x30], r13
lea rax, [rbp + 0x2c]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x28], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
movups xmmword [rbx], xmm0
mov qword [rbp + 0x960], 0
mov qword [rbp + 0xa50], 0
mov qword [rbp + 0x920], 0
lea rdx, [rbp + 0x960]
lea r8, [rbp + 0xa50]
lea r9, [rbp + 0x920]
mov rcx, rsi
call fcn.180128c68
mov rax, qword [rbp + 0x920]
mov rcx, qword [rbp + 0xa50]
mov rdx, qword [rbp + 0x960]
mov qword [rbp - 8], rdx
mov qword [rbp], rdx
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x60], rsi
mov rax, qword [0x1801eae00]
mov qword [rbp + 0x54], rax
mov qword [rbp + 0x48], 0
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x968], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rbp + 0x960]
call fcn.18003d600
mov rsi, rax
mov rax, qword [rax]
mov rcx, rsi
call qword [rax + Ordinal_26]
test al, al
je 0x18003627b
xor esi, esi
jmp 0x1800362a8
mov rax, qword [rbp - 0x30]
movsxd rdx, dword [rax + 4]
xor ebx, ebx
cmp qword [rbp + rdx + 0x18], 0
sete bl
shl ebx, 2
mov eax, dword [rbp + rdx - 0x20]
mov ecx, dword [rbp + rdx - 0x1c]
and eax, 0x15
or eax, ebx
or eax, 2
mov dword [rbp + rdx - 0x20], eax
and eax, ecx
jne 0x180037fe5
mov r12, qword [rbp + 0xac0]
jmp 0x1800362d7
mov qword [rbp - 8], rdi
mov qword [rbp], r14
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x30], r13
lea rax, [rbp + 0x2c]
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x28], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
movups xmmword [rbx], xmm0
mov r12, qword [rbp + 0xac0]
mov qword [rbp + 0x48], rsi
mov rcx, qword [rbp + 0x968]
test rcx, rcx
je 0x1800362d7
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test rax, rax
je 0x1800362d7
mov rbx, qword [rax]
mov rcx, rax
mov edx, 1
call qword [rbx]
lea rcx, [0x1801ada68]
mov qword [rbp + 0x810], 0
mov byte [rbp + 0x8a0], 0
mov qword [rbp + 0x8a8], 0
mov qword [rbp + 0x888], 0
mov rax, qword [rbp - 0x30]
movsxd rax, dword [rax + 4]
mov rax, qword [rbp + rax + 0x18]
mov qword [rbp + 0x958], 0
mov qword [rbp + 0x998], 0
mov dword [rbp + 0x9a0], 0
lea rsi, [rbp + 0x9a8]
mov qword [rbp + 0x9a8], r15
mov qword [rbp + 0x9b0], rax
mov byte [rbp + 0x9b8], 0
mov dword [rbp + 0x9bc], 0xffffffff
mov byte [rbp + 0x9c0], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x9c8], xmm0
movups xmmword [rbp + 0x9d8], xmm0
movups xmmword [rbp + 0x9e8], xmm0
movups xmmword [rbp + 0x9f8], xmm0
mov qword [rbp + 0xa08], 0
mov qword [rbp + 0xa10], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xa18], rcx
movups xmmword [rbp + 0xa20], xmm0
mov qword [rbp + 0xa30], 0
call fcn.18013f618
mov rax, qword [rax]
test rax, rax
je 0x1800363c0
movsx eax, byte [rax]
jmp 0x1800363c5
mov eax, reloc.WLDAP32.dll_Ordinal_46
mov dword [rbp + 0xa38], eax
mov byte [rbp + 0xa40], 1
mov rcx, rsi
call fcn.180043f00
mov dword [rbp + 0x9a0], eax
mov rcx, qword [rbp + 0x958]
test rcx, rcx
je 0x18003640a
lea rax, [rbp + 0x920]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rbp + 0x958], 0
mov rcx, qword [rbp + 0x888]
test rcx, rcx
je 0x180036434
lea rax, [rbp + 0x850]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rbp + 0x888], 0
lea rdi, [rbp + 0x960]
lea rsi, [rbp + 0x8a0]
mov rcx, rdi
mov rdx, rsi
call fcn.18003def0
lea rcx, [rbp + 0x9a8]
call fcn.180043aa0
mov rcx, qword [rbp + 0x998]
test rcx, rcx
je 0x180036471
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov rcx, qword [rbp + 0x810]
test rcx, rcx
je 0x18003649b
lea rax, [rbp + 0x7d8]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rbp + 0x810], 0
movsx rax, byte [rbp + 0x8a0]
cmp rax, 1
jne 0x180037f86
mov rax, qword [rbp + 0x8a8]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov qword [rbp + 0x960], rsi
mov qword [rbp + 0x968], rcx
movaps xmm0, xmmword [0x18018c190]
movups xmmword [rbp + 0x970], xmm0
xorps xmm6, xmm6
movups xmmword [rbp + 0x990], xmm6
movups xmmword [rbp + 0x980], xmm6
movaps xmm1, xmmword [reloc.WS2_32.dll_accept]
movups xmmword [rbp + 0x9a0], xmm1
mov byte [rbp + 0x990], Ordinal_50
movups xmmword [rbp + 0x9b0], xmm6
mov qword [rbp + 0x9c0], 0
mov qword [rbp + 0x9c8], reloc.WS2_32.dll_ntohs
mov rax, qword [rax]
mov qword [rbp + 0xa50], rsi
mov qword [rbp + 0xa58], rax
movups xmmword [rbp + 0xa60], xmm0
movups xmmword [rbp + 0xa80], xmm6
movups xmmword [rbp + 0xa70], xmm6
movups xmmword [rbp + 0xa90], xmm1
mov byte [rbp + 0xa80], Ordinal_50
movups xmmword [rbp + 0xaa0], xmm6
mov qword [rbp + 0xab0], 0
mov qword [rbp + 0xab8], reloc.WS2_32.dll_ntohs
lea rax, [r12 + 0x38]
mov qword [rbp + 0x820], rax
xor ecx, ecx
movss xmm7, dword [0x18018be80]
movabs r15, 0xcccccccccccccccd
mov rax, rsi
jmp 0x1800365b0
add qword [rbp + 0x970], 0x10
mov rcx, qword [rbp + 0x980]
inc rcx
mov qword [rbp + 0x980], rcx
mov rsi, qword [rbp + 0xa50]
cmp rax, rsi
jne 0x18003759f
movzx edx, byte [rax]
cmp edx, 1
je 0x1800365e0
cmp edx, 2
jne 0x180036600
mov rdx, qword [rbp + 0x970]
cmp rdx, qword [rbp + 0xa60]
jne 0x180036614
jmp 0x18003732c
mov rdx, qword [rbp + 0x968]
cmp rdx, qword [rbp + 0xa58]
jne 0x180036614
jmp 0x18003732c
mov rdx, qword [rbp + 0x978]
cmp rdx, qword [rbp + 0xa68]
je 0x18003732c
movzx edx, byte [rax]
cmp edx, 1
je 0x180036640
cmp edx, 2
jne 0x180036650
cmp rcx, qword [rbp + 0x988]
jne 0x1800366a5
lea r13, [rbp + 0x990]
jmp 0x180036690
mov rcx, qword [rbp + 0x968]
lea r13, [rcx + 0x20]
jmp 0x180036821
lea r13, [rbp + 0x9b0]
cmp dl, 1
je 0x18003681a
movzx ecx, dl
cmp ecx, 2
je 0x180036690
test ecx, ecx
je 0x180037aec
cmp qword [rbp + 0x978], 0
mov rcx, rax
je 0x180036697
jmp 0x180037677
mov rcx, qword [rbp + 0x970]
cmp byte [rcx], 3
je 0x18003682e
jmp 0x1800372a7
lea rdi, [rbp + 0x865]
xor esi, esi
nop
mov rax, rcx
mul r15
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov ebx, ecx
sub ebx, eax
or bl, 0x30
mov byte [rdi - 1], bl
dec rdi
inc rsi
cmp rcx, 9
mov rcx, rdx
ja 0x1800366b0
movaps xmmword [rbp + 0x930], xmm6
movaps xmmword [rbp + 0x920], xmm6
test rsi, rsi
je 0x18003671e
js 0x180037f49
cmp rsi, 0xf
ja 0x18003672b
mov qword [rbp + 0x930], rsi
mov qword [rbp + 0x938], reloc.WS2_32.dll_ntohs
lea rcx, [rbp + 0x920]
mov rdx, rdi
mov r8, rsi
call fcn.1801258c0
jmp 0x180036795
mov qword [rbp + 0x938], reloc.WS2_32.dll_ntohs
jmp 0x180036795
mov r14, rsi
or r14, 0xf
cmp r14, 0x17
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb r14, rax
cmp r14, 0xfff
jb 0x180036762
lea rcx, [r14 + 0x28]
call fcn.1800c38b8
mov rbx, rax
add rbx, 0x27
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18003676e
lea rcx, [r14 + 1]
call fcn.1800c38b8
mov rbx, rax
mov qword [rbp + 0x920], rbx
mov qword [rbp + 0x930], rsi
mov qword [rbp + 0x938], r14
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call fcn.1801258c0
mov byte [rbx + rsi], 0
mov rax, qword [rbp + 0x9a8]
cmp rax, 0x10
jb 0x1800367da
mov rcx, qword [rbp + 0x990]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800367d5
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
movaps xmm0, xmmword [rbp + 0x920]
movaps xmm1, xmmword [rbp + 0x930]
lea r13, [rbp + 0x990]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
mov rax, qword [rbp + 0x960]
mov rcx, qword [rbp + 0x980]
mov qword [rbp + 0x988], rcx
movzx edx, byte [rax]
cmp dl, 1
jne 0x180036660
mov rcx, qword [rbp + 0x968]
add rcx, 0x40
cmp byte [rcx], 3
jne 0x1800372a7
mov qword [rbp + 0x898], rcx
cmp qword [r13 + 0x18], 0x10
mov rbx, r13
jb 0x180036843
mov rbx, qword [r13]
mov r14, qword [r13 + 0x10]
movabs rsi, 0xcbf29ce484222325
test r14, r14
je 0x180036906
lea rcx, [r14 - 1]
mov r8d, r14d
and r8d, 3
cmp rcx, 3
jae 0x180036883
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
movabs rax, 0x100000001b3
jmp 0x1800368d8
mov rsi, r14
and rsi, 0xfffffffffffffffc
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
movabs rax, 0x100000001b3
movzx edi, byte [rbx + rcx]
xor rdi, rdx
imul rdi, rax
movzx edx, byte [rbx + rcx + 1]
xor rdx, rdi
imul rdx, rax
movzx edi, byte [rbx + rcx + 2]
xor rdi, rdx
imul rdi, rax
movzx edx, byte [rbx + rcx + 3]
xor rdx, rdi
imul rdx, rax
add rcx, 4
cmp rsi, rcx
jne 0x1800368a0
mov rsi, rdx
test r8, r8
je 0x180036906
add rcx, rbx
xor edi, edi
nop word cs:[rax + rax]
movzx esi, byte [rcx + rdi]
xor rsi, rdx
imul rsi, rax
inc rdi
mov rdx, rsi
cmp r8, rdi
jne 0x1800368f0
mov rax, qword [r12 + 0x60]
and rax, rsi
mov rcx, qword [r12 + 0x48]
mov rdx, rax
shl rdx, 4
mov rdi, qword [rcx + rdx + 8]
cmp rdi, qword [r12 + 0x38]
je 0x180036978
add rax, rax
mov r15, qword [rcx + rax*8]
cmp r14, qword [rdi + 0x20]
jne 0x180036967
nop word cs:[rax + rax]
cmp qword [rdi + 0x28], 0x10
jb 0x180036950
mov rdx, qword [rdi + 0x10]
jmp 0x180036954
lea rdx, [rdi + 0x10]
mov rcx, rbx
mov r8, r14
call fcn.1801257c0
test eax, eax
je 0x180036a5d
cmp rdi, r15
je 0x18003697b
mov rdi, qword [rdi + 8]
cmp r14, qword [rdi + 0x20]
je 0x180036940
jmp 0x180036967
mov r15, rdi
mov qword [rbp + 0x848], rsi
movabs rax, 0x333333333333333
cmp qword [r12 + 0x40], rax
je 0x180037ac8
mov rax, qword [rbp + 0x820]
mov qword [rbp + 0x920], rax
mov qword [rbp + 0x928], 0
mov qword [rbp + 0x8d8], 0
mov ecx, 0x50
call fcn.1800c38b8
mov rdi, rax
mov qword [rbp + 0x928], rax
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
cmp qword [r13 + 0x18], 0x10
mov r14, r13
jb 0x1800369e5
mov r14, qword [r13]
mov rbx, qword [r13 + 0x10]
test rbx, rbx
js 0x180037ad4
cmp rbx, 0xf
ja 0x180036a17
mov rax, rdi
add rax, 0x10
mov qword [rdi + 0x20], rbx
mov qword [rdi + 0x28], reloc.WS2_32.dll_ntohs
movups xmm0, xmmword [r14]
movups xmmword [rax], xmm0
jmp 0x180036aa4
mov qword [rdi + 0x28], reloc.WS2_32.dll_ntohs
mov rsi, rbx
or rsi, 0xf
cmp rsi, 0x17
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmovb rsi, rax
cmp rsi, 0xfff
jb 0x180036a77
lea rcx, [rsi + 0x28]
mov qword [rbp + 0x8d8], rdi
call fcn.1800c38b8
mov rcx, rax
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180036a87
lea rsi, [rdi + 0x30]
movabs r15, 0xcccccccccccccccd
mov rbx, qword [rbp + 0x898]
jmp 0x18003724c
lea rcx, [rsi + 1]
mov qword [rbp + 0x8d8], rdi
call fcn.1800c38b8
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x20], rbx
mov qword [rdi + 0x28], rsi
inc rbx
mov rcx, rax
mov rdx, r14
mov r8, rbx
call fcn.1801258c0
movups xmmword [rdi + 0x30], xmm6
mov qword [rdi + 0x40], 0
mov qword [rdi + 0x48], reloc.WS2_32.dll_ntohs
mov rax, qword [r12 + 0x40]
inc rax
movss xmm1, dword [r12 + 0x30]
js 0x180036ad3
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x180036aeb
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rsi, qword [r12 + 0x68]
test rsi, rsi
js 0x180036afc
cvtsi2ss xmm2, rsi
jmp 0x180036b13
mov rax, rsi
shr rax, 1
mov ecx, esi
and ecx, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm3, xmm0
divss xmm3, xmm2
ucomiss xmm3, xmm1
jbe 0x180037190
divss xmm0, xmm1
call fcn.18015a998
cvttss2si rcx, xmm0
mov rdx, rcx
sar rdx, 0x3f
subss xmm0, xmm7
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
cmp rax, 9
mov ecx, 8
cmovb rax, rcx
cmp rsi, rax
jae 0x180036b76
lea rcx, [rsi*8]
cmp rcx, rax
cmovb rcx, rax
cmp rsi, 0x200
cmovae rcx, rax
mov rsi, rcx
movabs rax, 0x800000000000001
cmp rsi, rax
jae 0x180037ae0
dec rsi
or rsi, 1
bsr rcx, rsi
xor rcx, 0xffffffffffffffc0
add rcx, 0x41
mov r14d, 1
shl r14, cl
mov esi, 2
shl rsi, cl
mov r13, qword [r12 + 0x38]
mov rax, qword [r12 + 0x48]
mov rdx, qword [r12 + 0x50]
mov r9, rdx
sub r9, rax
mov rdi, r9
sar rdi, 3
cmp rdi, rsi
jae 0x180036c20
mov rax, rsi
shr rax, 0x3d
jne 0x180037f4e
mov eax, reloc.WS2_32.dll_recv
shl rax, cl
cmp rsi, 0x200
jb 0x180036c73
movabs rcx, 0x1ffffffffffffffc
cmp rsi, rcx
jae 0x180037f53
add rax, 0x27
mov rcx, rax
call fcn.1800c38b8
mov rdi, rax
add rdi, 0x27
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180036c7e
cmp rax, rdx
je 0x180036e3c
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jb 0x180036e30
shr r9, 3
inc r9
mov r8, r9
and r8, 0xfffffffffffffffc
movq xmm0, r13
pshufd xmm0, xmm0, 0x44
lea rbx, [r8 - 4]
mov rsi, rbx
shr rsi, 2
inc rsi
mov ecx, esi
and ecx, 3
cmp rbx, 0xc
jae 0x180036db1
xor ebx, ebx
jmp 0x180036df9
mov rcx, rax
call fcn.1800c38b8
mov rdi, rax
mov rcx, qword [r12 + 0x48]
mov rdx, qword [r12 + 0x58]
sub rdx, rcx
je 0x180036cb7
cmp rdx, 0x1000
jb 0x180036cb2
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x180037ac3
add rdx, 0x27
mov rcx, rax
call fcn.1800c38fc
mov qword [r12 + 0x48], rdi
lea rax, [rdi + rsi*8]
mov qword [r12 + 0x50], rax
mov qword [r12 + 0x58], rax
dec rsi
movabs rcx, 0x1fffffffffffffff
and rsi, rcx
cmp rsi, 3
jb 0x180036da0
inc rsi
mov r8, rsi
and r8, 0xfffffffffffffffc
movq xmm0, r13
pshufd xmm0, xmm0, 0x44
lea rbx, [r8 - 4]
mov rdx, rbx
shr rdx, 2
inc rdx
mov ecx, edx
and ecx, 3
cmp rbx, 0xc
jae 0x180036d15
xor ebx, ebx
jmp 0x180036d59
and rdx, 0xfffffffffffffffc
xor ebx, ebx
nop dword [rax + rax]
movdqu xmmword [rdi + rbx*8], xmm0
movdqu xmmword [rdi + rbx*8 + 0x10], xmm0
movdqu xmmword [rdi + rbx*8 + 0x20], xmm0
movdqu xmmword [rdi + rbx*8 + 0x30], xmm0
movdqu xmmword [rdi + rbx*8 + 0x40], xmm0
movdqu xmmword [rdi + rbx*8 + 0x50], xmm0
movdqu xmmword [rdi + rbx*8 + 0x60], xmm0
movdqu xmmword [rdi + rbx*8 + 0x70], xmm0
add rbx, 0x10
add rdx, 0xfffffffffffffffc
jne 0x180036d20
test rcx, rcx
je 0x180036d84
lea rdx, [rdi + rbx*8]
add rdx, 0x10
shl rcx, 5
xor ebx, ebx
nop dword [rax]
movdqu xmmword [rdx + rbx - 0x10], xmm0
movdqu xmmword [rdx + rbx], xmm0
add rbx, 0x20
cmp rcx, rbx
jne 0x180036d70
cmp rsi, r8
je 0x180036e3c
lea rdi, [rdi + r8*8]
nop word cs:[rax + rax]
mov qword [rdi], r13
add rdi, 8
cmp rdi, rax
jne 0x180036da0
jmp 0x180036e3c
and rsi, 0xfffffffffffffffc
xor ebx, ebx
nop word [rax + rax]
movdqu xmmword [rax + rbx*8], xmm0
movdqu xmmword [rax + rbx*8 + 0x10], xmm0
movdqu xmmword [rax + rbx*8 + 0x20], xmm0
movdqu xmmword [rax + rbx*8 + 0x30], xmm0
movdqu xmmword [rax + rbx*8 + 0x40], xmm0
movdqu xmmword [rax + rbx*8 + 0x50], xmm0
movdqu xmmword [rax + rbx*8 + 0x60], xmm0
movdqu xmmword [rax + rbx*8 + 0x70], xmm0
add rbx, 0x10
add rsi, 0xfffffffffffffffc
jne 0x180036dc0
test rcx, rcx
je 0x180036e24
lea rbx, [rax + rbx*8]
add rbx, 0x10
shl rcx, 5
xor esi, esi
nop dword [rax]
movdqu xmmword [rbx + rsi - 0x10], xmm0
movdqu xmmword [rbx + rsi], xmm0
add rsi, 0x20
cmp rcx, rsi
jne 0x180036e10
cmp r9, r8
je 0x180036e3c
lea rax, [rax + r8*8]
nop dword [rax]
mov qword [rax], r13
add rax, 8
cmp rax, rdx
jne 0x180036e30
lea rbx, [r14 - 1]
mov qword [r12 + 0x60], rbx
mov qword [r12 + 0x68], r14
mov r15, qword [r12 + 0x38]
mov rsi, qword [r15]
cmp rsi, r13
movabs rax, 0x100000001b3
je 0x180037106
mov qword [rbp + 0xac8], r13
jmp 0x180036e92
mov qword [rcx + rbx*8], r9
mov qword [rcx + rdx*8], r9
movabs rax, 0x100000001b3
mov r13, qword [rbp + 0xac8]
cmp rsi, r13
je 0x1800370fc
mov r9, rsi
cmp qword [rsi + 0x28], 0x10
jb 0x180036eb0
mov rdi, qword [r9 + 0x10]
jmp 0x180036eb4
lea rdi, [r9 + 0x10]
mov r15, qword [r9 + 0x20]
movabs rdx, 0xcbf29ce484222325
test r15, r15
je 0x180036f76
lea rcx, [r15 - 1]
mov r8d, r15d
and r8d, 3
cmp rcx, 3
jae 0x180036ef0
xor ecx, ecx
movabs rsi, 0xcbf29ce484222325
jmp 0x180036f48
mov rbx, r15
and rbx, 0xfffffffffffffffc
xor ecx, ecx
movabs rsi, 0xcbf29ce484222325
nop word cs:[rax + rax]
movzx edx, byte [rdi + rcx]
xor rdx, rsi
imul rdx, rax
movzx esi, byte [rdi + rcx + 1]
xor rsi, rdx
imul rsi, rax
movzx edx, byte [rdi + rcx + 2]
xor rdx, rsi
imul rdx, rax
movzx esi, byte [rdi + rcx + 3]
xor rsi, rdx
imul rsi, rax
add rcx, 4
cmp rbx, rcx
jne 0x180036f10
mov rdx, rsi
test r8, r8
je 0x180036f76
add rcx, rdi
xor ebx, ebx
nop word cs:[rax + rax]
movzx edx, byte [rcx + rbx]
xor rdx, rsi
imul rdx, rax
inc rbx
mov rsi, rdx
cmp r8, rbx
jne 0x180036f60
and rdx, qword [r12 + 0x60]
mov rsi, qword [r9]
mov rcx, qword [r12 + 0x48]
lea rbx, [rdx + rdx]
mov rax, rdx
shl rax, 4
add rdx, rdx
inc rdx
mov r14, qword [rcx + rax]
cmp r14, qword [rbp + 0xac8]
je 0x180036e70
mov qword [rbp + 0x8e0], r9
mov qword [rbp + 0x910], rsi
mov r12, qword [rcx + rdx*8]
cmp r15, qword [r12 + 0x20]
mov rsi, rbx
mov r13, rcx
jne 0x18003705a
cmp qword [r12 + 0x28], 0x10
mov qword [rbp + 0x818], rdx
jb 0x180036fde
mov rdx, qword [r12 + 0x10]
jmp 0x180036fe3
lea rdx, [r12 + 0x10]
mov rcx, rdi
mov r8, r15
call fcn.1801257c0
test eax, eax
mov rbx, rsi
mov rcx, r13
mov rdx, qword [rbp + 0x818]
jne 0x18003705a
mov rax, qword [r12]
mov rbx, qword [rbp + 0x8e0]
cmp rax, rbx
mov rsi, qword [rbp + 0x910]
je 0x180037037
mov r8, qword [rbx + 8]
mov qword [r8], rsi
mov r9, qword [rsi + 8]
mov qword [r9], rax
mov rdi, qword [rax + 8]
mov qword [rdi], rbx
mov qword [rax + 8], r9
mov qword [rsi + 8], r8
mov qword [rbx + 8], rdi
mov qword [rcx + rdx*8], rbx
jmp 0x1800370f0
mov rdx, qword [r12 + 0x10]
mov rcx, rdi
mov r8, r15
call fcn.1801257c0
test eax, eax
mov rbx, rsi
mov rcx, r13
je 0x1800370b5
cmp r14, r12
je 0x180037080
mov r12, qword [r12 + 8]
cmp r15, qword [r12 + 0x20]
jne 0x18003705a
cmp qword [r12 + 0x28], 0x10
jae 0x180037040
lea rdx, [r12 + 0x10]
jmp 0x180037045
mov rax, qword [rbp + 0x8e0]
mov r8, qword [rax + 8]
mov rsi, qword [rbp + 0x910]
mov qword [r8], rsi
mov rdi, qword [rsi + 8]
mov qword [rdi], r14
mov rdx, qword [r14 + 8]
mov qword [rdx], rax
mov qword [r14 + 8], rdi
mov qword [rsi + 8], r8
mov qword [rax + 8], rdx
mov qword [rcx + rbx*8], rax
jmp 0x1800370f0
mov rax, qword [r12]
mov rdi, qword [rbp + 0x8e0]
mov rcx, qword [rdi + 8]
mov rsi, qword [rbp + 0x910]
mov qword [rcx], rsi
mov rdx, qword [rsi + 8]
mov qword [rdx], rax
mov rbx, qword [rax + 8]
mov qword [rbx], rdi
mov qword [rax + 8], rdx
mov qword [rsi + 8], rcx
mov qword [rdi + 8], rbx
nop dword [rax + rax]
mov r12, qword [rbp + 0xac0]
jmp 0x180036e78
mov r15, qword [r12 + 0x38]
mov rbx, qword [r12 + 0x60]
and rbx, qword [rbp + 0x848]
mov rcx, qword [r12 + 0x48]
mov rdx, rbx
shl rdx, 4
mov rsi, qword [rcx + rdx + 8]
mov rdi, qword [rbp + 0x928]
cmp rsi, r15
je 0x180037190
add rbx, rbx
cmp qword [rdi + 0x28], 0x10
jb 0x18003713a
mov r14, qword [rdi + 0x10]
jmp 0x18003713e
lea r14, [rdi + 0x10]
mov r15, qword [rcx + rbx*8]
mov rbx, qword [rdi + 0x20]
cmp rbx, qword [rsi + 0x20]
jne 0x180037173
nop dword [rax]
cmp qword [rsi + 0x28], 0x10
jb 0x180037160
mov rdx, qword [rsi + 0x10]
jmp 0x180037164
lea rdx, [rsi + 0x10]
mov rcx, r14
mov r8, rbx
call fcn.1801257c0
test eax, eax
je 0x180037184
cmp rsi, r15
je 0x180037190
mov rsi, qword [rsi + 8]
cmp rbx, qword [rsi + 0x20]
je 0x180037150
jmp 0x180037173
mov r15, qword [rsi]
nop word [rax + rax]
mov qword [rbp + 0x928], 0
mov rax, qword [r15 + 8]
inc qword [r12 + 0x40]
mov qword [rdi], r15
mov qword [rdi + 8], rax
mov qword [rax], rdi
mov qword [r15 + 8], rdi
mov rbx, qword [r12 + 0x48]
mov rsi, qword [rbp + 0x848]
and rsi, qword [r12 + 0x60]
shl rsi, 4
lea rcx, [rbx + rsi]
lea rdx, [rbx + rsi]
add rdx, 8
mov rbx, qword [rbx + rsi]
cmp rbx, qword [r12 + 0x38]
je 0x1800371fe
cmp rbx, r15
movabs r15, 0xcccccccccccccccd
mov rbx, qword [rbp + 0x898]
je 0x180037215
mov rcx, rdx
cmp qword [rdx], rax
jne 0x180037218
jmp 0x180037215
mov qword [rcx], rdi
mov rcx, rdx
movabs r15, 0xcccccccccccccccd
mov rbx, qword [rbp + 0x898]
mov qword [rcx], rdi
mov rsi, qword [rbp + 0x928]
test rsi, rsi
je 0x18003723a
lea rcx, [rsi + 0x10]
call fcn.1800393a0
mov edx, 0x50
mov rcx, rsi
call fcn.1800c38fc
movsx rax, byte [rbx]
cmp rax, 3
jne 0x18003761f
lea rsi, [rdi + 0x30]
mov rax, qword [rbx + 8]
cmp qword [rax + 0x18], 0x10
mov r8, rax
jb 0x18003725d
mov r8, qword [rax]
mov rbx, qword [rax + 0x10]
mov rax, qword [rdi + 0x48]
cmp rax, rbx
jae 0x180037280
mov rcx, rsi
mov rdx, rbx
call fcn.180039450
jmp 0x1800372a0
cmp rax, 0x10
jb 0x18003728a
mov rsi, qword [rdi + 0x30]
mov qword [rdi + 0x40], rbx
mov rcx, rsi
mov rdx, r8
mov r8, rbx
call fcn.1801258c0
mov byte [rsi + rbx], 0
mov rax, qword [rbp + 0x960]
movzx ecx, byte [rax]
cmp ecx, 2
je 0x180036590
cmp ecx, 1
jne 0x180037320
mov rbx, qword [rbp + 0x968]
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x19], 0
je 0x180037300
nop dword [rax]
mov rdx, qword [rbx + 8]
cmp byte [rdx + 0x19], 0
jne 0x18003730c
mov rcx, rbx
mov rbx, rdx
cmp rcx, qword [rdx + 0x10]
je 0x1800372d0
mov rdx, rbx
mov qword [rbp + 0x968], rbx
jmp 0x180036598
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180037300
mov qword [rbp + 0x968], rdx
jmp 0x180036598
inc qword [rbp + 0x978]
jmp 0x180036598
mov rax, qword [rbp + 0xab8]
cmp rax, 0x10
lea rsi, [rbp - 0x20]
jb 0x180037375
mov rcx, qword [rbp + 0xaa0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180037370
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
mov rax, qword [rbp + 0xa98]
cmp rax, 0x10
jb 0x1800373ba
mov rcx, qword [rbp + 0xa80]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800373b5
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
mov rax, qword [rbp + 0x9c8]
cmp rax, 0x10
jb 0x1800373ff
mov rcx, qword [rbp + 0x9b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800373fa
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
movaps xmm0, xmmword [0x18015e0d0]
movups xmmword [rbp + 0x9c0], xmm0
mov byte [rbp + 0x9b0], 0
mov rax, qword [rbp + 0x9a8]
cmp rax, 0x10
jb 0x180037459
mov rcx, qword [rbp + 0x990]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180037454
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x180037ac3
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.1800c38fc
movzx edx, byte [rbp + 0x8a0]
lea rcx, [rbp + 0x8a8]
call fcn.180039c40
mov rax, qword [rbp - 0x30]
movsxd rax, dword [rax + 4]
lea rcx, [0x1801a9db8]
mov qword [rbp + rax - 0x30], rcx
mov rax, qword [rbp - 0x30]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax - 0x34], ecx
mov rcx, rsi
call fcn.18003a2f0
lea rax, [0x1801a9f20]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x80]
call fcn.1800c3eb8
mov qword [rbp + 0x858], 0
mov ecx, 0x40
call fcn.1800c38b8
mov qword [rbp + 0x850], rax
movaps xmm0, xmmword [0x18018c1b0]
movups xmmword [rbp + 0x860], xmm0
movups xmm0, xmmword [0x1801ab717]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1801ab707]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [str.cannot_compare_iterators_of_different_containers]
movups xmmword [rax], xmm0
mov qword [rbp + 0xac8], rax
mov byte [rax + 0x30], 0
lea rcx, [rbp + 0x920]
lea r8, [rbp + 0x850]
mov edx, 0xd4
call fcn.1800399c0
lea rdx, [0x1801cbce0]
lea rcx, [rbp + 0x920]
call fcn.1801244b4
cmp al, 9
ja 0x180037630
lea rcx, str.null
mov rax, qword [rcx + rax*8]
jmp 0x180037637
lea rax, str.number
mov qword [rbp + 0x828], rax
lea rcx, [rbp + 0x850]
lea rdx, [rbp + 0x828]
call fcn.18003b910
lea rcx, [rbp + 0x920]
lea rdx, [rbp + 0x850]
call fcn.18003ba50
lea rdx, [0x1801cbd20]
lea rcx, [rbp + 0x920]
call fcn.1801244b4
lea rdx, str.cannot_get_value
lea rcx, [rbp + 0x828]
call fcn.18003a3d0
lea rcx, [rbp + 0x850]
lea r8, [rbp + 0x828]
mov edx, Ordinal_217
call fcn.1800399c0
lea rdx, [0x1801cbce0]
lea rcx, [rbp + 0x850]
call fcn.1801244b4
jmp 0x180037b2a
cmp eax, 0x35
ja 0x1800376d1
mov ecx, eax
movabs rdx, 0x2000000000000c
bt rdx, rcx
jb 0x180037724
cmp eax, 0x7b
je 0x180037724
mov dword [rbp + 0x960], eax
lea rax, [0x1801e4248]
mov qword [rbp + 0x968], rax
lea rcx, str.exists
lea rdx, [rbp + 0x960]
lea r8, [rbp + 0x8f0]
call fcn.180039560
cmp eax, 0x35
ja 0x18003771b
mov ecx, eax
movabs rdx, 0x2000000000000c
bt rdx, rcx
jb 0x180037724
cmp eax, 0x7b
jne 0x180037ef6
lea rcx, [rbp + 0x8f0]
lea rdx, [rbp + 0xa50]
call fcn.18003aaa0
movabs rax, 0xf2ca16e899718f53
mov qword [rbp + 0x960], rax
movabs rax, 0x25c75cbf91cc53dd
mov qword [rbp + 0x968], rax
movabs rax, 0xa112188ae534f3f1
mov qword [rbp + 0x970], rax
movabs rax, 0xfc366a9b9c6e8498
mov qword [rbp + 0x978], rax
movabs rax, 0x5fce355884260023
mov qword [rbp + 0x980], rax
movabs rax, 0x68577dd303a70a06
mov qword [rbp + 0x988], rax
movabs rax, 0x79a43c2bd7bd2d24
mov qword [rbp + 0x990], rax
movabs rax, 0xb09b8aa2b88cb88a
mov qword [rbp + 0x998], rax
movabs rax, 0xe156372302a49a35
mov qword [rbp + 0x9a0], rax
movabs rax, 0x1b6132a53b71cda8
mov qword [rbp + 0x9a8], rax
movabs rax, 0x7ef1eac62909d699
mov qword [rbp + 0x9b0], rax
movabs rax, 0xfb9dbc35c46db99f
mov qword [rbp + 0x9b8], rax
movabs rax, 0xbf417aa3f43e0f58
mov qword [rbp + 0x9c0], rax
movabs rax, 0x8f4b5474a6433486
mov qword [rbp + 0x9c8], rax
movabs rax, 0xebc3edf33ce94aad
mov qword [rbp + 0x9d0], rax
movabs rax, 0x1f7a5279996e2307
mov qword [rbp + 0x9d8], rax
movabs rax, 0xcdf8845b23f7c0c7
mov qword [rbp + 0x9e0], rax
movabs rax, 0x7ec18a246bcc9caf
mov qword [rbp + 0x9e8], rax
movabs rax, 0xf08f852e6de076c1
mov qword [rbp + 0x9f0], rax
movabs rax, 0x80fda3426f6f6fe3
mov qword [rbp + 0x9f8], rax
movabs rax, 0x25e4c2082590c767
mov qword [rbp + 0xa00], rax
movabs rax, 0xf7a85a08aa846a50
mov qword [rbp + 0xa08], rax
mov rax, qword [rbp + 0xac8]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r13
movabs rax, 0xd47d7eaa915b9dd1
mov qword [rbp - 0x20], rax
movabs rax, 0x945503f3eb4ee0f6
mov qword [rbp - 0x18], rax
movabs rax, 0x7fa15b78f7476803
mov qword [rbp - 0x10], rax
movabs rax, 0x3341cb16fcb6b60
mov qword [rbp - 8], rax
movabs rax, 0x1cd75d4ebbed0d05
mov qword [rbp], rax
movabs rax, 0xc5e8aac7d3edd5aa
mov qword [rbp + 8], rax
movabs rax, 0x8e30174c7684ff47
mov qword [rbp + 0x10], rax
movabs rax, 0x7e0946854c1ea1c4
mov qword [rbp + 0x18], rax
movabs rax, 0x129d8bb25a67bfb9
mov qword [rbp + 0x20], rax
movabs rax, 0x95f49c5bab04cdfe
mov qword [rbp + 0x28], rax
movabs rax, 0xd0280ec0814c7b2b
mov qword [rbp + 0x30], rax
movabs rax, 0xea203519866f47e8
mov qword [rbp + 0x38], rax
movabs rax, 0x84bacd964e9c398d
mov qword [rbp + 0x40], rax
movabs rax, 0x6b5a370ff8060372
mov qword [rbp + 0x48], rax
movabs rax, 0xa88af63440d7a5af
mov qword [rbp + 0x50], rax
movabs rax, 0xda4e64d0dece8cc
mov qword [rbp + 0x58], rax
movabs rax, 0x9ce3e45a1e8e1fe1
mov qword [rbp + 0x60], rax
movabs rax, 0xa099cd234f430b86
mov qword [rbp + 0x68], rax
movabs rax, 0x5c96b6284bf5af13
mov qword [rbp + 0x70], rax
movabs rax, 0xf7863461cbe30b70
mov qword [rbp + 0x78], rax
movaps xmm0, xmmword [rbp + 0x960]
xorps xmm0, xmmword [rdi]
movaps xmmword [rbp + 0x960], xmm0
movaps xmm0, xmmword [rbp + 0x970]
xorps xmm0, xmmword [rdi + 0x10]
movaps xmmword [rbp + 0x970], xmm0
movaps xmm0, xmmword [rbp + 0x980]
xorps xmm0, xmmword [rdi + 0x20]
movaps xmmword [rbp + 0x980], xmm0
movaps xmm0, xmmword [rbp + 0x990]
xorps xmm0, xmmword [rdi + 0x30]
movaps xmmword [rbp + 0x990], xmm0
movaps xmm0, xmmword [rbp + 0x9a0]
xorps xmm0, xmmword [rdi + 0x40]
movaps xmmword [rbp + 0x9a0], xmm0
movaps xmm0, xmmword [rbp + 0x9b0]
xorps xmm0, xmmword [rdi + 0x50]
movaps xmmword [rbp + 0x9b0], xmm0
movaps xmm0, xmmword [rbp + 0x9c0]
xorps xmm0, xmmword [rdi + 0x60]
movaps xmmword [rbp + 0x9c0], xmm0
movaps xmm0, xmmword [rbp + 0x9d0]
xorps xmm0, xmmword [rdi + 0x70]
movaps xmmword [rbp + 0x9d0], xmm0
movaps xmm0, xmmword [rbp + 0x9e0]
xorps xmm0, xmmword [rdi + 0x80]
movaps xmmword [rbp + 0x9e0], xmm0
movaps xmm0, xmmword [rbp + 0x9f0]
xorps xmm0, xmmword [rdi + 0x90]
movaps xmmword [rbp + 0x9f0], xmm0
movaps xmm0, xmmword [rbp + 0xa00]
xorps xmm0, xmmword [rdi + 0xa0]
movaps xmmword [rbp + 0xa00], xmm0
lea rsi, [rbp + 0x960]
mov rcx, rsi
call fcn.1801431e0
lea r8, [rbp + 0xa50]
mov rcx, rsi
mov rdx, rax
call fcn.18003ac40