Function at 0x18000aa80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f8]
sub rsp, 0x2f8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov rsi, rdx
mov qword [rsp + 0x60], r8
lea r8, [rcx + 0x200000]
mov r15, rcx
mov rcx, rsi
mov edx, r9d
mov edi, r9d
call fcn.180071c50
movups xmm0, xmmword [r15 + 0x200040]
lea r12, [r15 + 0x2000c8]
movups xmm1, xmmword [r15 + 0x200050]
lea r13, [r15 + 0x2001b8]
movups xmmword [r12], xmm0
movups xmm0, xmmword [r15 + 0x200060]
movups xmmword [r12 + 0x10], xmm1
movups xmm1, xmmword [r15 + 0x200070]
movups xmmword [r12 + 0x20], xmm0
movups xmm0, xmmword [r15 + 0x200080]
movups xmmword [r12 + 0x30], xmm1
movups xmm1, xmmword [r15 + 0x200090]
movups xmmword [r12 + 0x40], xmm0
movups xmm0, xmmword [r15 + 0x2000a0]
movups xmmword [r12 + 0x50], xmm1
movups xmm1, xmmword [r15 + 0x2000b0]
movups xmmword [r12 + 0x60], xmm0
movups xmm0, xmmword [r15 + 0x200000]
movups xmmword [r12 + 0x70], xmm1
movups xmm1, xmmword [r15 + 0x200010]
movups xmmword [r15 + 0x200198], xmm0
movups xmmword [r15 + 0x2001a8], xmm1
call fcn.1800719b0
mov ecx, dword [rbp + 0x260]
mov qword [r13], rax
cmp ecx, 1
jne 0x18000abac
cmp edi, 0x2b
jb 0x18000dab9
mov rax, qword [r15 + 0x2000c0]
xor rax, qword [rsi + 0x23]
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
jmp 0x18000ac4b
xor eax, eax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
cmp ecx, 2
jl 0x18000ac0c
mov rax, qword [r15 + 0x200050]
xor rax, qword [r15 + 0x200040]
mov qword [r15 + 0x200178], rax
mov rax, qword [r15 + 0x200058]
xor rax, qword [r15 + 0x200048]
mov qword [r15 + 0x200180], rax
mov rax, qword [r15 + 0x200060]
mov qword [rsp + 0x20], rax
mov rax, qword [r15 + 0x200068]
mov qword [rsp + 0x28], rax
cmp ecx, 4
jl 0x18000ac4b
mov eax, dword [r15 + 0x200060]
lea rcx, [rbp - 0x60]
mov rdx, qword [rbp + 0x268]
mov dword [rsp + 0x78], eax
mov eax, dword [r15 + 0x200064]
mov dword [rsp + 0x7c], eax
mov eax, dword [r15 + 0x200068]
mov dword [rbp - 0x80], eax
mov eax, dword [r15 + 0x20006c]
mov dword [rbp - 0x7c], eax
call fcn.18000a1f0
mov rcx, qword [r13]
lea rdx, [r15 + 0x200198]
call fcn.1800718d0
mov r14d, 0x4000
mov rdi, r15
mov qword [rsp + 0x40], r14
nop dword [rax]
mov rbx, r12
mov esi, 8
nop dword [rax + rax]
mov rax, qword [r13]
mov rdx, rbx
mov rcx, rbx
mov r8, qword [rax]
mov r8, qword [r8 + 0x18]
call fcn.180078fd0
add rbx, 0x10
sub rsi, 1
jne 0x18000ac80
movups xmm0, xmmword [r12]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rdi + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rdi + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rdi + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rdi + 0x60], xmm0
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rdi + 0x70], xmm1
sub rdi, 0xffffffffffffff80
sub r14, 1
jne 0x18000ac70
lea rcx, [r15 + 0x200020]
lea edx, [rsi + 0x10]
nop word [rax + rax]
movzx eax, byte [rcx - 0x20]
xor al, byte [rcx]
mov byte [rcx + 0x128], al
movzx eax, byte [rcx - 0x10]
xor al, byte [rcx + 0x10]
mov byte [rcx + 0x148], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x18000ad10
mov qword [rsp + 0x38], rdx
lea r14, [r15 + 0x200148]
lea rsi, [r15 + 0x200188]
nop word [rax + rax]
mov ebx, dword [r14]
mov r8, r14
shr rbx, 4
mov rdx, rsi
and ebx, 0x1ffff
shl rbx, 4
lea rdi, [r15 + rbx]
mov rcx, rdi
call fcn.180078e70
mov r11d, dword [rbp + 0x260]
cmp r11d, 2
jl 0x18000ae1a
mov r8, rbx
mov r9, rbx
xor r8, 0x10
xor r9, 0x20
xor rbx, 0x30
add r8, r15
add r9, r15
add rbx, r15
cmp r11d, 4
jl 0x18000adc7
mov rax, qword [rsi]
xor rax, qword [rbx]
xor rax, qword [r9]
xor rax, qword [r8]
mov qword [rsi], rax
mov rax, qword [rbx + 8]
xor rax, qword [r9 + 8]
xor rax, qword [r8 + 8]
xor qword [r15 + 0x200190], rax
mov rax, qword [r15 + 0x200178]
add rax, qword [rbx]
mov rcx, qword [r8]
mov rdx, qword [r8 + 8]
mov qword [r8], rax
mov rax, qword [r15 + 0x200180]
add rax, qword [rbx + 8]
mov qword [r8 + 8], rax
mov rax, qword [r9]
add rax, qword [r14]
mov qword [rbx], rax
mov rax, qword [r15 + 0x200150]
add rax, qword [r9 + 8]
mov qword [rbx + 8], rax
add rcx, qword [r15 + 0x200168]
mov qword [r9], rcx
mov rcx, qword [r15 + 0x200170]
add rcx, rdx
mov qword [r9 + 8], rcx
mov rax, qword [rsi]
xor rax, qword [r15 + 0x200168]
mov qword [rdi], rax
mov rax, qword [rsi + 8]
xor rax, qword [r15 + 0x200170]
mov qword [rdi + 8], rax
cmp r11d, 1
jne 0x18000ae61
movzx edx, byte [rdi + 0xb]
movzx eax, dl
movzx ecx, dl
and al, r11b
shr cl, 2
add al, al
and cl, 0xc
or cl, al
mov eax, 0x75310
shr eax, cl
and al, 0x30
xor al, dl
mov byte [rdi + 0xb], al
mov r8, qword [rsi]
mov r14, r8
shr r14, 4
and r14d, 0x1ffff
shl r14, 4
movups xmm0, xmmword [r15 + r14]
lea rax, [r15 + r14]
mov qword [rsp + 0x58], rax
lea eax, [r11 - 2]
movups xmmword [rsp + 0x68], xmm0
cmp eax, 1
ja 0x18000af53
mov rax, qword [rsp + 0x28]
xor edx, edx
mov rbx, rax
xorps xmm2, xmm2
shl rbx, 0x20
xor rbx, qword [rsp + 0x68]
xor rbx, qword [rsp + 0x20]
lea rcx, [rax + rax]
mov rax, qword [r15 + 0x200190]
add ecx, r8d
or ecx, 0x80000001
div rcx
mov eax, eax
mov rcx, rdx
shl rcx, 0x20
add rcx, rax
mov qword [rsp + 0x20], rcx
lea r10, [r8 + rcx]
mov rax, r10
mov rdx, r10
shr rax, 0xc
movq xmm0, rax
paddq xmm0, xmmword [0x1800da8d0]
sqrtsd xmm2, xmm0
psubq xmm2, xmmword [0x1800da8d0]
movq rdi, xmm2
shr rdi, 0x13
mov r9, rdi
mov rcx, rdi
shr rcx, 1
and r9d, 1
sub rdx, rcx
mov rax, rdi
shl rax, 0x20
lea r8, [r9 + rcx]
imul r8, rcx
movabs rcx, 0x100000000
add r8, rax
add rcx, r8
lea rax, [r8 + r9]
cmp r10, rax
sbb eax, eax
cmp rcx, rdx
adc eax, 0
cdqe
add rdi, rax
mov qword [rsp + 0x28], rdi
jmp 0x18000af58
mov rbx, qword [rsp + 0x68]
mov rax, qword [r15 + 0x200148]
mov qword [r15 + 0x200158], rax
mov rax, qword [r15 + 0x200150]
mov qword [r15 + 0x200160], rax
cmp r11d, 4
jl case.default.0x18000aff3
mov eax, dword [rsp + 0x78]
lea rdi, [0x180000000]
add eax, dword [rsp + 0x7c]
lea r9, [rsp + 0x78]
mov edx, dword [rbp - 0x7c]
add edx, dword [rbp - 0x80]
shl rdx, 0x20
or rdx, rax
mov eax, dword [r15 + 0x200148]
mov dword [rbp - 0x78], eax
xor rbx, rdx
mov eax, dword [r15 + 0x200150]
mov dword [rbp - 0x74], eax
mov eax, dword [r15 + 0x200168]
mov dword [rbp - 0x70], eax
mov eax, dword [r15 + 0x200178]
mov dword [rbp - 0x6c], eax
mov eax, dword [r15 + 0x200180]
mov dword [rbp - 0x68], eax
movzx eax, byte [rbp - 0x5e]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x5f]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x60]
mov eax, dword [rdi + rax*4 + 0xdae0]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b055
mov eax, dword [rbp - 0x5c]
add eax, r10d
add dword [r9], eax
jmp 0x18000b055
sub dword [r9], r10d
jmp 0x18000b055
mov edx, dword [r9]
and r10d, 0x1f
mov eax, edx
mov ecx, r10d
neg ecx
and ecx, 0x1f
shl eax, cl
mov ecx, r10d
shr edx, cl
or eax, edx
mov dword [r9], eax
jmp 0x18000b055
mov r8d, dword [r9]
and r10d, 0x1f
mov edx, r8d
mov ecx, r10d
neg ecx
and ecx, 0x1f
shr edx, cl
mov ecx, r10d
shl r8d, cl
or edx, r8d
mov dword [r9], edx
jmp 0x18000b055
movzx eax, byte [rbp - 0x56]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x57]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x58]
mov eax, dword [rdi + rax*4 + 0xdafc]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b0db
mov eax, dword [rbp - 0x54]
add eax, r10d
add dword [r9], eax
jmp 0x18000b0db
movzx eax, byte [rbp - 0x4e]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x4f]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x50]
mov eax, dword [rdi + rax*4 + 0xdb18]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b161
mov eax, dword [rbp - 0x4c]
add eax, r10d
add dword [r9], eax
jmp 0x18000b161
movzx eax, byte [rbp - 0x46]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x47]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x48]
mov eax, dword [rdi + rax*4 + 0xdb34]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b1e7
mov eax, dword [rbp - 0x44]
add eax, r10d
add dword [r9], eax
jmp 0x18000b1e7
movzx eax, byte [rbp - 0x3e]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x3f]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x40]
mov eax, dword [rdi + rax*4 + 0xdb50]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b26d
mov eax, dword [rbp - 0x3c]
add eax, r10d
add dword [r9], eax
jmp 0x18000b26d
movzx eax, byte [rbp - 0x36]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x37]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x38]
mov eax, dword [rdi + rax*4 + 0xdb6c]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b2f3
mov eax, dword [rbp - 0x34]
add eax, r10d
add dword [r9], eax
jmp 0x18000b2f3
movzx eax, byte [rbp - 0x2e]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x2f]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x30]
mov eax, dword [rdi + rax*4 + 0xdb88]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b379
mov eax, dword [rbp - 0x2c]
add eax, r10d
add dword [r9], eax
jmp 0x18000b379
movzx eax, byte [rbp - 0x26]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x27]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x28]
mov eax, dword [rdi + rax*4 + 0xdba4]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b3ff
mov eax, dword [rbp - 0x24]
add eax, r10d
add dword [r9], eax
jmp 0x18000b3ff
movzx eax, byte [rbp - 0x1e]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x1f]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x20]
mov eax, dword [rdi + rax*4 + 0xdbc0]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b485
mov eax, dword [rbp - 0x1c]
add eax, r10d
add dword [r9], eax
jmp 0x18000b485
movzx eax, byte [rbp - 0x16]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0x17]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x18]
mov eax, dword [rdi + rax*4 + 0xdbdc]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b50b
mov eax, dword [rbp - 0x14]
add eax, r10d
add dword [r9], eax
jmp 0x18000b50b
movzx eax, byte [rbp - 0xe]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 0xf]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 0x10]
mov eax, dword [rdi + rax*4 + 0xdbf8]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b591
mov eax, dword [rbp - 0xc]
add eax, r10d
add dword [r9], eax
jmp 0x18000b591
movzx eax, byte [rbp - 6]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp - 7]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp - 8]
mov eax, dword [rdi + rax*4 + 0xdc14]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b617
mov eax, dword [rbp - 4]
add eax, r10d
add dword [r9], eax
jmp 0x18000b617
movzx eax, byte [rbp + 2]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 1]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp]
mov eax, dword [rdi + rax*4 + 0xdc30]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b69d
mov eax, dword [rbp + 4]
add eax, r10d
add dword [r9], eax
jmp 0x18000b69d
movzx eax, byte [rbp + 0xa]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 9]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 8]
mov eax, dword [rdi + rax*4 + 0xdc4c]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b723
mov eax, dword [rbp + 0xc]
add eax, r10d
add dword [r9], eax
jmp 0x18000b723
movzx eax, byte [rbp + 0x12]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x11]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x10]
mov eax, dword [rdi + rax*4 + 0xdc68]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b7a9
mov eax, dword [rbp + 0x14]
add eax, r10d
add dword [r9], eax
jmp 0x18000b7a9
movzx eax, byte [rbp + 0x1a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x19]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x18]
mov eax, dword [rdi + rax*4 + 0xdc84]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b82f
mov eax, dword [rbp + 0x1c]
add eax, r10d
add dword [r9], eax
jmp 0x18000b82f
movzx eax, byte [rbp + 0x22]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x21]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x20]
mov eax, dword [rdi + rax*4 + 0xdca0]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b8b5
mov eax, dword [rbp + 0x24]
add eax, r10d
add dword [r9], eax
jmp 0x18000b8b5
movzx eax, byte [rbp + 0x2a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x29]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x28]
mov eax, dword [rdi + rax*4 + 0xdcbc]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b93b
mov eax, dword [rbp + 0x2c]
add eax, r10d
add dword [r9], eax
jmp 0x18000b93b
movzx eax, byte [rbp + 0x32]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x31]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x30]
mov eax, dword [rdi + rax*4 + 0xdcd8]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000b9c1
mov eax, dword [rbp + 0x34]
add eax, r10d
add dword [r9], eax
jmp 0x18000b9c1
movzx eax, byte [rbp + 0x3a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x39]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x38]
mov eax, dword [rdi + rax*4 + 0xdcf4]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000ba47
mov eax, dword [rbp + 0x3c]
add eax, r10d
add dword [r9], eax
jmp 0x18000ba47
movzx eax, byte [rbp + 0x42]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x41]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x40]
mov eax, dword [rdi + rax*4 + 0xdd10]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bacd
mov eax, dword [rbp + 0x44]
add eax, r10d
add dword [r9], eax
jmp 0x18000bacd
movzx eax, byte [rbp + 0x4a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x49]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x48]
mov eax, dword [rdi + rax*4 + 0xdd2c]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bb53
mov eax, dword [rbp + 0x4c]
add eax, r10d
add dword [r9], eax
jmp 0x18000bb53
movzx eax, byte [rbp + 0x52]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x51]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x50]
mov eax, dword [rdi + rax*4 + 0xdd48]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bbd9
mov eax, dword [rbp + 0x54]
add eax, r10d
add dword [r9], eax
jmp 0x18000bbd9
movzx eax, byte [rbp + 0x5a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x59]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x58]
mov eax, dword [rdi + rax*4 + 0xdd64]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bc5f
mov eax, dword [rbp + 0x5c]
add eax, r10d
add dword [r9], eax
jmp 0x18000bc5f
movzx eax, byte [rbp + 0x62]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x61]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x60]
mov eax, dword [rdi + rax*4 + 0xdd80]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bce5
mov eax, dword [rbp + 0x64]
add eax, r10d
add dword [r9], eax
jmp 0x18000bce5
movzx eax, byte [rbp + 0x6a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x69]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x68]
mov eax, dword [rdi + rax*4 + 0xdd9c]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bd6b
mov eax, dword [rbp + 0x6c]
add eax, r10d
add dword [r9], eax
jmp 0x18000bd6b
movzx eax, byte [rbp + 0x72]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x71]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x70]
mov eax, dword [rdi + rax*4 + 0xddb8]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bdf1
mov eax, dword [rbp + 0x74]
add eax, r10d
add dword [r9], eax
jmp 0x18000bdf1
movzx eax, byte [rbp + 0x7a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x79]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x78]
mov eax, dword [rdi + rax*4 + 0xddd4]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000be77
mov eax, dword [rbp + 0x7c]
add eax, r10d
add dword [r9], eax
jmp 0x18000be77
movzx eax, byte [rbp + 0x82]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x81]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x80]
mov eax, dword [rdi + rax*4 + 0xddf0]
add rax, rdi
jmp rax
mov eax, dword [r9]
imul eax, r10d
mov dword [r9], eax
jmp 0x18000bf09
mov eax, dword [rbp + 0x84]
add eax, r10d
add dword [r9], eax
jmp 0x18000bf09
movzx eax, byte [rbp + 0x8a]
lea r9, [rsp + 0x78]
mov r10d, dword [rsp + rax*4 + 0x78]
movzx eax, byte [rbp + 0x89]
lea r9, [r9 + rax*4]
movzx eax, byte [rbp + 0x88]
mov eax, dword [rdi + rax*4 + 0xde0c]
add rax, rdi
jmp rax
mov rax, qword [rsi]
mov rdi, rbx
shr rdi, 0x20
mov rcx, rax
shr rcx, 0x20
mov r9, rdi
mov edx, eax
imul r9, rcx
imul rdi, rdx
mov eax, ebx
imul rax, rcx
xor ecx, ecx
mov r8d, ebx
add rdi, rax
imul r8, rdx
mov rsi, rdi
shl rsi, 0x20
add rsi, r8
cmp rdi, rax
mov rax, r9
setb cl
shl rcx, 0x20
cmp rsi, r8
adc rax, 0
shr rdi, 0x20
add rax, rcx
add rdi, rax
cmp r9, rdi
jbe 0x18000d728
mov r8d, 0x57
lea rdx, str.d:coinspools_nomp_dgb_node_open_mining_portal_node_modules_stratum_pool_node_modulesmulti_hashing_srccryptoint_util.h
lea rcx, str.ac___product_hi
call fcn.180083d78
mov r11d, dword [rbp + 0x260]
lea eax, [r11 - 2]
cmp eax, 1
ja 0x18000d754
mov rax, r14
xor rax, 0x10
xor qword [r15 + rax], rdi
xor qword [r15 + rax + 8], rsi
mov rax, r14
xor rax, 0x20
xor rdi, qword [r15 + rax]
mov rax, qword [r15 + rax + 8]
xor rsi, rax
cmp r11d, 2
jl 0x18000d7f9
mov r8, r14
mov r9, r14
xor r8, 0x10
xor r9, 0x20
xor r14, 0x30
add r8, r15
add r9, r15
add r14, r15
cmp r11d, 4
jl 0x18000d7a2
mov rax, qword [r14]
xor rax, qword [r9]
xor rax, qword [r8]
xor qword [r15 + 0x200188], rax
mov rax, qword [r14 + 8]
xor rax, qword [r9 + 8]
xor rax, qword [r8 + 8]
xor qword [r15 + 0x200190], rax
mov rax, qword [r15 + 0x200178]
add rax, qword [r14]
mov rcx, qword [r8]
mov rdx, qword [r8 + 8]
mov qword [r8], rax
mov rax, qword [r15 + 0x200180]
add rax, qword [r14 + 8]
mov qword [r8 + 8], rax
mov rax, qword [r9]
add rax, qword [r15 + 0x200158]
mov qword [r14], rax
mov rax, qword [r15 + 0x200160]
add rax, qword [r9 + 8]
mov qword [r14 + 8], rax
add rcx, qword [r15 + 0x200168]
mov qword [r9], rcx
mov rcx, qword [r15 + 0x200170]
add rcx, rdx
mov qword [r9 + 8], rcx
add qword [r15 + 0x200150], rsi
lea r14, [r15 + 0x200148]
add qword [r14], rdi
mov rax, qword [r14]
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov rax, qword [r15 + 0x200150]
mov qword [rcx + 8], rax
xor qword [r14], rbx
mov rax, qword [rsp + 0x70]
xor qword [r15 + 0x200150], rax
cmp r11d, 1
jne 0x18000d83e
mov rax, qword [rsp + 0x30]
xor qword [rcx + 8], rax
mov rax, qword [r15 + 0x200168]
lea rsi, [r15 + 0x200188]
mov qword [r15 + 0x200178], rax
mov rax, qword [r15 + 0x200170]
mov qword [r15 + 0x200180], rax
mov rax, qword [rsi]
mov qword [r15 + 0x200168], rax
mov rax, qword [rsi + 8]
mov qword [r15 + 0x200170], rax
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
cmp rax, 0x80000
jb 0x18000ad50
movups xmm0, xmmword [r15 + 0x200040]
mov rcx, qword [r13]
lea rdx, [r15 + 0x200020]
movups xmm1, xmmword [r15 + 0x200050]
movups xmmword [r12], xmm0
movups xmm0, xmmword [r15 + 0x200060]
movups xmmword [r12 + 0x10], xmm1
movups xmm1, xmmword [r15 + 0x200070]
movups xmmword [r12 + 0x20], xmm0
movups xmm0, xmmword [r15 + 0x200080]
movups xmmword [r12 + 0x30], xmm1
movups xmm1, xmmword [r15 + 0x200090]
movups xmmword [r12 + 0x40], xmm0
movups xmm0, xmmword [r15 + 0x2000a0]
movups xmmword [r12 + 0x50], xmm1
movups xmm1, xmmword [r15 + 0x2000b0]
movups xmmword [r12 + 0x60], xmm0
movups xmmword [r12 + 0x70], xmm1
call fcn.1800718d0
mov rsi, 0xffffffffffdfff30
nop word [rax + rax]
mov rbx, r12
mov edi, 8
nop dword [rax + rax]
mov rax, qword [rsi + rbx + 8]
mov rdx, rbx
xor qword [rbx], rax
mov rcx, rbx
mov rax, qword [rsi + rbx + 0x10]
xor qword [rbx + 8], rax
mov rax, qword [r13]
mov r8, qword [rax]
mov r8, qword [r8 + 0x18]
call fcn.180078fd0
add rbx, 0x10
sub rdi, 1
jne 0x18000d930
sub rsi, 0xffffffffffffff80
sub qword [rsp + 0x40], 1
jne 0x18000d920
movups xmm0, xmmword [r12]
lea rcx, [r15 + 0x200000]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [r15 + 0x200040], xmm0
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [r15 + 0x200050], xmm1
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [r15 + 0x200060], xmm0
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [r15 + 0x200070], xmm1
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [r15 + 0x200080], xmm0
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [r15 + 0x200090], xmm1
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [r15 + 0x2000a0], xmm0
movups xmmword [r15 + 0x2000b0], xmm1
call fcn.180071a20
movzx eax, byte [r15 + 0x200000]
lea rcx, [r15 + 0x200000]
mov r8, qword [rsp + 0x60]
lea r9, [0x180000000]
and eax, 3
mov edx, 0xc8
call qword [r9 + rax*8 + 0x9fa80]
test r13, r13
je 0x18000da96
mov rbx, qword [r13]
test rbx, rbx
je 0x18000da96
cmp qword [rbx], rdi
je 0x18000da87
mov rax, qword [rbx]
test rax, rax
je 0x18000da87
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18000da45
call fcn.18008800c
mov rax, qword [rbx]
mov qword [rax + 8], rdi
jmp 0x18000da47
xor edi, edi
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x18000da5f
call fcn.18008800c
mov rax, qword [rbx]
mov qword [rax + 0x18], rdi
mov rax, qword [rbx]
mov qword [rax], rdi
mov rax, qword [rbx]
mov qword [rax + 0x10], rdi
mov rax, qword [rbx]
mov qword [rax + 0x20], rdi
mov rax, qword [rbx]
mov qword [rax + 0x28], rdi
mov rcx, qword [rbx]
call fcn.18008800c
mov qword [rbx], rdi
jmp 0x18000da89
xor edi, edi
mov rcx, qword [r13]
call fcn.18008800c
mov qword [r13], rdi
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1800810a0
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 2
call fcn.180084258
mov rcx, rax
lea rdx, str.Cryptonight_variant_1_needs_at_least_43_bytes_of_data
call fcn.18000a1a0
mov ecx, 1
call fcn.18008825c
int3