Function at 0x1400ad980
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
je 0x1400ad017
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x30]
movsxd rdx, dword [r8 + 0x3c]
mov r11d, dword [rdx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400acff3
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400acff3
mov r14d, dword [r11 + 0x20]
dec ebx
mov edi, 0xf30a3e5
lea rax, [r8 + rbx*4]
mov r9d, dword [rax + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400acfef
movsx eax, r10b
sub r10b, 0x41
mov edx, eax
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, eax
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400acfc0
cmp edi, 0x812a9cfb
je 0x1400acff8
test ebx, ebx
jne 0x1400acfa3
mov rcx, qword [rcx]
jmp 0x1400acf7f
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov bh, reloc.WS2_32.dll_sendto
pop rcx
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x70]
add rax, r8
call rax
cmp qword [rsp + 0x78], r13
je 0x1400ad0cb
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400ad0a7
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400ad0a7
mov r14d, dword [r11 + 0x20]
dec ebx
mov edi, 0xae0d3bd
lea rcx, [r14 + rbx*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad0a3
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad074
cmp edi, 0x4cf1373
je 0x1400ad0ac
test ebx, ebx
jne 0x1400ad057
mov rax, qword [rax]
jmp 0x1400ad033
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x78]
add rax, r8
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x1400ad153
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1400ad153
mov r14d, dword [rbx + 0x20]
dec r11d
mov edi, 0x4c4d8f88
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad14e
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad11f
cmp edi, 0xd249da49
je 0x1400ad158
test r11d, r11d
jne 0x1400ad101
mov rax, qword [rax]
jmp 0x1400ad0dc
mov ecx, dword [rbx + 0x24]
xor r9d, r9d
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
lea edx, [r9 + 1]
add rax, r8
xor ecx, ecx
xor r8d, r8d
call rax
mov qword [rbp - 0x78], rax
test rax, rax
je 0x1400ae08c
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x1400ad212
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1400ad212
mov r14d, dword [rbx + 0x20]
dec r11d
mov edi, 0x18d52f2e
lea rcx, [r8 + r11*4]
mov r9d, dword [rcx + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad20d
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad1de
cmp edi, 0x6962ff0e
je 0x1400ad217
test r11d, r11d
jne 0x1400ad1c0
mov rax, qword [rax]
jmp 0x1400ad19b
mov ecx, dword [rbx + 0x24]
lea r9, [rbp - 0x78]
add rcx, r8
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r13d
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r8
xor ecx, ecx
lea r8, [0x1400b09f7]
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x1400ad2d1
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1400ad2d1
mov r14d, dword [rbx + 0x20]
dec r11d
mov edi, 0xaf731343
lea rcx, [r8 + r11*4]
mov r9d, dword [rcx + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad2cc
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad29d
cmp edi, 0x4a17be72
je 0x1400ad2d6
test r11d, r11d
jne 0x1400ad27f
mov rax, qword [rax]
jmp 0x1400ad25a
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
or edx, 0xffffffff
mov rcx, qword [rbp - 0x78]
add rax, r8
call rax
test eax, eax
jne 0x1400ae08c
movabs rax, 0xca18edc3b9e0356b
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x90], rax
lea rdx, [rsp + 0x68]
movabs rax, 0x771e2fc7da7a6ca7
lea rcx, [rbp + 0x90]
mov qword [rbp + 0x98], rax
movabs rbx, 0xfe84300b52f96ff2
movdqa xmm0, xmmword [rbp + 0x90]
movabs rax, 0xd3f37dc6b709858b
mov qword [rbp + 0xa0], rax
movabs rdi, 0x107046a5f40d1bd0
mov qword [rbp + 0xa8], rbx
movabs r14, 0xd3f37dc6da66e6a5
movdqa xmm1, xmmword [rbp + 0xa0]
mov qword [rbp + 0x318], rdi
pxor xmm0, xmmword [rbp + 0x310]
mov qword [rbp + 0x320], r14
mov qword [rbp + 0x328], rbx
pxor xmm1, xmmword [rbp + 0x320]
movdqa xmmword [rbp + 0xa0], xmm1
movdqa xmmword [rbp + 0x90], xmm0
call fcn.1400ae0a0
test eax, eax
je 0x1400ae08c
cmp qword [rsp + 0x70], r13
je 0x1400ad6fd
xor eax, eax
mov dword [rsp + 0x58], r13d
mov dword [rbp - 0x28], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov dword [rsp + 0x54], r13d
movabs rax, 0xc553f290e5e77226
mov qword [rbp + 0x70], rax
movabs rax, 0x35502280d47e28f5
mov qword [rbp + 0x78], rax
movabs rax, 0xf39758fcbe43dcc1
mov qword [rbp + 0x80], rax
movabs rax, 0xfe84300b52ad22b5
mov qword [rbp + 0x88], rax
movdqa xmm1, xmmword [rbp + 0x80]
movups xmmword [rbp - 0x38], xmm0
mov dword [rsp + 0x5c], r13d
movdqa xmm0, xmmword [rbp + 0x70]
mov dword [rsp + 0x60], r13d
mov dword [rsp + 0x64], r13d
mov qword [rbp + 0x330], rsi
mov qword [rbp + 0x338], rdi
pxor xmm0, xmmword [rbp + 0x330]
movdqa xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x340], r14
mov qword [rbp + 0x348], rbx
pxor xmm1, xmmword [rbp + 0x340]
movdqa xmmword [rbp + 0x80], xmm1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x1400ad4fb
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1400ad4fb
mov r14d, dword [rbx + 0x20]
dec r11d
mov edi, 0x57ddc28e
lea rcx, [r8 + r11*4]
mov r9d, dword [rcx + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad4f6
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad4c7
cmp edi, 0xc0b58bc8
je 0x1400ad500
test r11d, r11d
jne 0x1400ad4a9
mov rax, qword [rax]
jmp 0x1400ad484
mov ecx, dword [rbx + 0x24]
lea r9, [rsp + 0x58]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
lea rcx, [rsp + 0x64]
mov qword [rsp + 0x40], rcx
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x60]
add rax, r8
mov qword [rsp + 0x38], rcx
lea r8, [rbp + 0x23c]
lea rcx, [rsp + 0x5c]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x54]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x238]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x70]
call rax
mov eax, dword [rsp + 0x54]
add eax, 0xfffff894
mov dword [rbp - 0x38], 1
or dword [rbp - 0x28], 0xffffffff
mov dword [rbp - 0x34], eax
mov eax, dword [rsp + 0x58]
mov dword [rbp - 0x3c], eax
mov eax, dword [rsp + 0x5c]
mov dword [rbp - 0x40], eax
mov eax, dword [rsp + 0x60]
mov dword [rbp - 0x44], eax
mov eax, dword [rsp + 0x64]
mov dword [rbp - 0x48], eax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400ad61a
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400ad61a
mov r14d, dword [r11 + 0x20]
dec ebx
mov edi, 0xfbc5a831
lea rcx, [r8 + rbx*4]
mov r9d, dword [rcx + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad616
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad5e7
cmp edi, 0x4ba5806c
je 0x1400ad61f
test ebx, ebx
jne 0x1400ad5ca
mov rax, qword [rax]
jmp 0x1400ad5a6
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
lea rcx, [rbp - 0x48]
add rax, r8
call rax
mov r15, rax
test rax, rax
jle 0x1400ae08c
cmp qword [rsp + 0x70], r13
je 0x1400ad6fd
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x30]
movsxd rdx, dword [r8 + 0x3c]
mov r11d, dword [rdx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400ad6d9
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400ad6d9
mov r14d, dword [r11 + 0x20]
dec ebx
mov edi, 0xf30a3e5
lea rax, [r8 + rbx*4]
mov r9d, dword [rax + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad6d5
movsx eax, r10b
sub r10b, 0x41
mov edx, eax
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, eax
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad6a6
cmp edi, 0x812a9cfb
je 0x1400ad6de
test ebx, ebx
jne 0x1400ad689
mov rcx, qword [rcx]
jmp 0x1400ad665
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x70]
add rax, r8
call rax
cmp qword [rsp + 0x78], r13
je 0x1400ad7b1
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400ad78d
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400ad78d
mov r14d, dword [r11 + 0x20]
dec ebx
mov edi, 0xae0d3bd
lea rcx, [r8 + rbx*4]
mov r9d, dword [rcx + r14]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ad789
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad75a
cmp edi, 0x4cf1373
je 0x1400ad792
test ebx, ebx
jne 0x1400ad73d
mov rax, qword [rax]
jmp 0x1400ad719
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x78]
add rax, r8
call rax
sub r15, r12
cmp r15, 0x1d
jl 0x1400ae08c
movabs rax, 0xca18edc3b9e0356b
lea rdx, [rbp + 0x240]
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xb0]
movabs rax, 0x6312298b9b607eb4
mov qword [rbp + 0xb8], rax
movabs rax, 0xa78112a8f708858b
movdqa xmm0, xmmword [rbp + 0xb0]
mov qword [rbp + 0xc0], rax
movabs rax, 0xccb61d7f21980a9a
mov qword [rbp + 0xc8], rax
movabs rax, 0xccf33bbde99d0e3f
movdqa xmm1, xmmword [rbp + 0xc0]
mov qword [rbp + 0xd0], rax
movabs rax, 0x5516f1fef5d3797a
mov qword [rbp + 0xd8], rax
movabs rax, 0x89bfe01fa06bc4d
mov qword [rbp + 0xe0], rax
movabs rax, 0x291b43e608a74010
mov qword [rbp + 0xe8], rax
movabs rax, 0xe09c284ee3b62b1c
mov qword [rbp + 0xf0], rax
movabs rax, 0x3cc4681e017a098e
mov qword [rbp + 0xf8], rax
mov rax, rsi
mov qword [rbp + 0x3a0], rax
movabs rax, 0x107046a5f40d1bd0
mov qword [rbp + 0x3a8], rax
movabs rax, 0xd3f37dc6da66e6a5
pxor xmm0, xmmword [rbp + 0x3a0]
mov qword [rbp + 0x3b0], rax
movabs rax, 0xfe84300b52f96ff2
mov qword [rbp + 0x3b8], rax
movabs rax, 0xaf9052dc8afe2007
pxor xmm1, xmmword [rbp + 0x3b0]
mov qword [rbp + 0x3c0], rax
movabs rax, 0x312693d198bc1a54
mov qword [rbp + 0x3c8], rax
movabs rax, 0x39f99d32c9378d29
mov qword [rbp + 0x3d0], rax
movabs rax, 0x112273d73f9e2276
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmm0, xmmword [rbp + 0xd0]
pxor xmm0, xmmword [rbp + 0x3c0]
mov qword [rbp + 0x3d8], rax
movabs rax, 0xd9f94928d7851b2b
mov qword [rbp + 0x3e0], rax
movabs rax, 0x3cb7477d354d6bb8
movdqa xmmword [rbp + 0xc0], xmm1
movdqa xmm1, xmmword [rbp + 0xe0]
pxor xmm1, xmmword [rbp + 0x3d0]
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmm0, xmmword [rbp + 0xf0]
mov qword [rbp + 0x3e8], rax
pxor xmm0, xmmword [rbp + 0x3e0]
movdqa xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp + 0xe0], xmm1
call fcn.1400ae0a0
test eax, eax
je 0x1400ae08c
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x1400ada2a
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1400ada2a
mov r14d, dword [rbx + 0x20]
or r12d, 0xffffffff
add r11d, r12d
mov edi, 0x4dab1cf0
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ada25
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ad9f6
cmp edi, 0x26d28692
je 0x1400ada2f
test r11d, r11d
jne 0x1400ad9d8
mov rax, qword [rax]
jmp 0x1400ad9af
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r8
mov ecx, 0x40000
xor r8d, r8d
call rax
mov rcx, qword gs:[0x60]
mov r15, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
mov r9, qword [rcx + 0x30]
movsxd rdx, dword [r9 + 0x3c]
mov ebx, dword [rdx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1400adadd
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1400adadd
mov r14d, dword [rbx + 0x20]
add r11d, r12d
mov edi, 0x5b7cf316
lea rax, [r14 + r11*4]
mov r8d, dword [rax + r9]
add r8, r9
mov r10b, byte [r8]
inc r8
test r10b, r10b
je 0x1400adad8
movsx eax, r10b
sub r10b, 0x41
mov edx, eax
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r8]
cmova edx, eax
inc r8
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400adaa9
cmp edi, 0x6b5d3a4d
je 0x1400adae2
test r11d, r11d
jne 0x1400ada8b
mov rcx, qword [rcx]
jmp 0x1400ada66
mov ecx, dword [rbx + 0x24]
mov r8, qword [rbp + 0x258]
add rcx, r9
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r9
mov rcx, r15
call rax
mov r11, qword [rbp + 0x250]
or rbx, 0xffffffffffffffff
xor r12d, r12d
mov r13, rax
inc rbx
cmp byte [r11 + rbx], r12b
jne 0x1400adb18
test bl, 3
jne 0x1400addbe
movabs rax, 0xc044e9dee6b97425
movabs rcx, 0xd9f94928d7851b2b
mov qword [rbp - 0x20], rax
movabs rax, 0x200b3fd8dd2e63f1
mov qword [rbp - 0x18], rax
movabs rax, 0xa4c257abf21ade99
movdqa xmm0, xmmword [rbp - 0x20]
movabs rdx, 0x3cb7477d354d6bb8
mov qword [rbp - 0x10], rax
movabs rax, 0x9da05b7b338319c5
mov qword [rbp - 8], rax
movabs rax, 0xf1fa0fe5a6cc425b
movdqa xmm1, xmmword [rbp - 0x10]
mov r15d, r12d
mov qword [rbp], rax
movabs rax, 0x134afbb8abc23d6f
mov qword [rbp + 8], rax
movabs rax, 0x62d2a940bc19fc16
mov qword [rbp + 0x10], rax
movabs rax, 0x7156458850db624c
mov qword [rbp + 0x18], rax
mov rax, rsi
mov qword [rbp + 0x3f0], rax
movabs rax, 0x107046a5f40d1bd0
mov qword [rbp + 0x3f8], rax
movabs rax, 0xd3f37dc6da66e6a5
pxor xmm0, xmmword [rbp + 0x3f0]
mov r14d, r12d
mov qword [rbp + 0x400], rax
movabs rax, 0xfe84300b52f96ff2
mov qword [rbp + 0x408], rax
movabs rax, 0xaf9052dc8afe2007
pxor xmm1, xmmword [rbp + 0x400]
mov qword [rbp + 0x410], rax
movabs rax, 0x312693d198bc1a54
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [rbp]
mov qword [rbp + 0x418], rax
movabs rax, 0x39f99d32c9378d29
pxor xmm0, xmmword [rbp + 0x410]
mov qword [rbp + 0x420], rax
movabs rax, 0x112273d73f9e2276
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rbp], xmm0
movdqa xmm0, xmmword [rbp + 0x20]
mov qword [rbp + 0x428], rax
pxor xmm1, xmmword [rbp + 0x420]
mov qword [rbp + 0x430], rcx
mov qword [rbp + 0x438], rdx
pxor xmm0, xmmword [rbp + 0x430]
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmmword [rbp + 0x20], xmm0
test rbx, rbx
je 0x1400addb7
mov r10, r12
lea rdi, [r13 + 2]
mov sil, 0x3d
mov cl, byte [r10 + r11]
cmp cl, sil
jne 0x1400adcc6
mov r8b, r12b
jmp 0x1400adcde
mov r8d, r12d
movsxd rax, r8d
cmp byte [rbp + rax - 0x20], cl
je 0x1400adcde
inc r8d
cmp r8d, 0x40
jl 0x1400adcc9
mov r8b, 0xff
mov cl, byte [r10 + r11 + 1]
cmp cl, sil
jne 0x1400adced
mov dl, r12b
jmp 0x1400add02
mov edx, r12d
movsxd rax, edx
cmp byte [rbp + rax - 0x20], cl
je 0x1400add02
inc edx
cmp edx, 0x40
jl 0x1400adcf0
mov dl, 0xff
mov r9b, byte [r10 + r11 + 2]
cmp r9b, sil
jne 0x1400add11
mov cl, r12b
jmp 0x1400add27
mov ecx, r12d
movsxd rax, ecx
cmp byte [rbp + rax - 0x20], r9b
je 0x1400add27
inc ecx
cmp ecx, 0x40
jl 0x1400add14
mov cl, 0xff
mov sil, byte [r10 + r11 + 3]
cmp sil, 0x3d
jne 0x1400add37
mov r9b, r12b
jmp 0x1400add50
mov r9d, r12d
movsxd rax, r9d
cmp byte [rbp + rax - 0x20], sil
je 0x1400add50
inc r9d
cmp r9d, 0x40
jl 0x1400add3a
mov r9b, 0xff
cmp r8b, 0xff
je 0x1400addbe
cmp dl, 0xff
je 0x1400addbe
cmp cl, 0xff
je 0x1400addbe
cmp r9b, 0xff
je 0x1400addbe
shl r8b, 2
mov al, dl
sar al, 4
mov sil, 0x3d
or al, r8b
mov byte [rdi - 2], al
cmp byte [r10 + r11 + 2], sil
je 0x1400add8c
mov al, cl
shl dl, 4
sar al, 2
or al, dl
mov byte [rdi - 1], al
cmp byte [r10 + r11 + 3], sil
je 0x1400add9b
shl cl, 6
or cl, r9b
mov byte [rdi], cl
add r15d, 4
add r10, 4
movsxd rax, r15d
add r14d, 3
add rdi, 3
cmp rax, rbx
jb 0x1400adcb8
movsxd rax, r14d
mov byte [rax + r13], r12b
cmp qword [rbp + 0x248], r12
je 0x1400ade7d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400ade55
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400ade55
mov r14d, dword [r11 + 0x20]
or r15d, 0xffffffff
add ebx, r15d
mov edi, 0xf30a3e5
lea rcx, [r14 + rbx*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ade51
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ade22
cmp edi, 0x812a9cfb
je 0x1400ade5a
test ebx, ebx
jne 0x1400ade04
mov rax, qword [rax]
jmp 0x1400adddc
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rbp + 0x248]
add rax, r8
call rax
jmp 0x1400ade81
or r15d, 0xffffffff
cmp qword [rbp + 0x250], r12
je 0x1400adf3a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400adf14
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400adf14
mov r14d, dword [r11 + 0x20]
add ebx, r15d
mov edi, 0xae0d3bd
lea rcx, [r14 + rbx*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400adf10
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400adee1
cmp edi, 0x4cf1373
je 0x1400adf19
test ebx, ebx
jne 0x1400adec3
mov rax, qword [rax]
jmp 0x1400ade9f
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rbp + 0x250]
add rax, r8
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov ebx, dword [rcx + r8 + 0x88]
add rbx, r8
cmp rbx, r8
je 0x1400adfc2
mov r11d, dword [rbx + 0x18]
test r11d, r11d
je 0x1400adfc2
mov r14d, dword [rbx + 0x20]
add r11d, r15d
mov edi, 0x7edae378
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400adfbd
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400adf8e
cmp edi, 0x4154137a
je 0x1400adfc7
test r11d, r11d
jne 0x1400adf70
mov rax, qword [rax]
jmp 0x1400adf4b
mov ecx, dword [rbx + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
xor edx, edx
add rax, r8
mov rcx, r13
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x1400ae06b
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x1400ae06b
mov r14d, dword [r11 + 0x20]
add ebx, r15d
mov edi, 0x67798d6f
lea rcx, [r14 + rbx*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r10b, byte [r9]
inc r9
test r10b, r10b
je 0x1400ae067
movsx ecx, r10b
sub r10b, 0x41
mov edx, ecx
or edx, 0x20
cmp r10b, 0x19
mov r10b, byte [r9]
cmova edx, ecx
inc r9
xor edx, edi
imul edi, edx, 0x1000193
test r10b, r10b
jne 0x1400ae038
cmp edi, 0x4a3f059c
je 0x1400ae070
test ebx, ebx
jne 0x1400ae01a
mov rax, qword [rax]
jmp 0x1400adff6
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r8
call rax