Function at 0x1402aba90
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
mov ebp, r9d
mov r13, r8
mov r15, rdx
mov r12, rcx
mov rbx, qword [rsp + 0x328]
mov rdi, qword [rsp + 0x320]
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x60], rax
mov r14, qword [rsp + 0x300]
mov eax, r9d
and eax, 0x3f
cmp eax, 0x13
ja 0x1402abb35
cmp eax, 9
jbe 0x1402abb85
cmp eax, 0xf
jae 0x1402abc9a
cmp eax, 0xc
jae 0x1402abdf7
cmp eax, 0xa
jne 0x1402ac0b0
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1402cf450
cmp eax, 0x20
jae 0x1402abc1e
cmp eax, 0x19
jae 0x1402abd47
cmp eax, 0x15
jbe 0x1402abe2a
cmp eax, 0x16
je 0x1402ac1e3
cmp eax, 0x18
jne 0x1402ac523
nop
mov rcx, qword [rsp + 0x50]
mov rdx, r15
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, 3
jbe case.default.0x1402abb9f
add eax, 0xfffffffc
lea rcx, [0x1405f61d8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
nop
mov dword [r15 + 4], edi
mov word [r15], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x30], rbx
lea rbx, [rsp + 0x90]
mov r8, rbx
mov r9d, 0xf93f0ddd
call fcn.1402aba90
imul rax, qword [rsp + 0x90], 0x989680
movabs rcx, 0x19db1ded53e8000
add rcx, rax
mov word [r15], 1
mov qword [r15 + 8], rcx
cmp dword [r15 + 4], 0xfffffc19
jne 0x1402ac0de
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1402a6d40
mov eax, dword [rsp + 0x70]
mov dword [r15 + 4], eax
jmp 0x1402ac0d5
cmp eax, 0x25
jae 0x1402abdc4
cmp eax, 0x22
jae 0x1402abe6d
cmp eax, 0x20
jne 0x1402ac0e3
nop
mov rax, qword [rsp + 0x58]
mov dword [r15 + 4], eax
mov word [r15], 0
xor ecx, ecx
mov qword [rsp + 0x68], rcx
cmp eax, 0xfffffc19
mov r14d, 0
mov ebx, 0
mov esi, 0
mov r13d, 0
jne 0x1402ad15d
test bpl, bpl
jns 0x1402ac557
lea rdx, [rsp + 0x90]
mov rcx, r15
call fcn.1402a6d40
mov eax, dword [rsp + 0x90]
mov dword [r15 + 4], eax
jmp 0x1402abfa6
cmp eax, 0x11
jae 0x1402abfbb
cmp eax, 0xf
jne 0x1402ac113
nop
mov dword [rbx + 4], r12d
mov word [rbx], 0
movzx r9d, r13w
movzx r8d, di
mov rsi, qword [rsp + 0x50]
movzx edx, si
call fcn.1402aaf90
mov r12, qword [rsp + 0x60]
movzx eax, r12w
movzx r9d, r14w
movzx r8d, r15w
mov rbp, qword [rsp + 0x58]
movzx edx, bp
mov dword [rsp + 0x20], eax
call fcn.1402aafc0
mov word [rbx], 0x100
mov word [rbx + 0x10], si
mov word [rbx + 0x12], di
mov word [rbx + 0x14], 0
mov word [rbx + 0x16], r13w
mov word [rbx + 0x18], bp
mov word [rbx + 0x1a], r15w
mov word [rbx + 0x1c], r14w
mov word [rbx + 0x1e], r12w
cmp dword [rbx + 4], 0xfffffc19
jne 0x1402ac61a
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.1402a6d40
mov eax, dword [rsp + 0x90]
mov dword [rbx + 4], eax
mov r15, rbx
jmp 0x1402ad282
cmp eax, 0x1c
jae 0x1402abfe1
cmp eax, 0x19
je 0x1402ac240
cmp eax, 0x1b
jne 0x1402ac55f
cmp r15, rdi
je 0x1402ad282
mov rsi, qword [rsp + 0x60]
add rsi, 0x10
nop word cs:[rax + rax]
nop
movzx ecx, byte [r15]
mov rdx, rsi
call fcn.140095800
mov byte [r15], al
inc r15
cmp r15, rdi
jne 0x1402abd80
jmp 0x1402ad282
cmp eax, 2
jb 0x1402ac002
mov ebp, 0x64b5a3c5
mov r14, rbx
cmp eax, 3
je 0x1402ac468
nop
mov r15d, dword [0x14073bb6c]
jmp 0x1402ad282
cmp eax, 0x28
jae 0x1402ac04e
cmp eax, 0x25
je 0x1402ac2ff
cmp eax, 0x27
jne 0x1402ac59f
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1402956d0
je 0x1402ac1b7
cmp eax, 0xe
je 0x1402acea3
nop
cmp qword [0x140791080], 0
jne 0x1402ad273
nop
movzx eax, byte [0x14073ac49]
cmp al, 0x78
je 0x1402acfb9
jmp 0x1402acf72
cmp eax, 0x14
jne 0x1402ac134
nop
cmp qword [0x1407910a0], 0
jne 0x1402accbc
nop
movzx eax, byte [0x14073acf7]
cmp al, 0x9d
je 0x1402acb44
mov cl, 0xc9
mov al, 0xe1
lock cmpxchg byte [0x14073acf7], cl
je 0x1402acb0e
cmp al, 0x9d
jne 0x1402abe54
jmp 0x1402acb44
je 0x1402ac314
cmp eax, 0x24
jne 0x1402ac5d7
nop
mov rsi, qword [rsp + 0x50]
lea rdi, [rsi + 4]
mov dword [rsi + 4], r15d
mov word [rsi], 0
mov rbx, qword [rsp + 0x60]
movzx r9d, word [rbx + 6]
movzx r8d, word [rbx + 2]
movzx edx, word [rbx]
call fcn.1402aaf90
movzx eax, word [rbx + 0xe]
movzx r9d, word [rbx + 0xc]
movzx r8d, word [rbx + 0xa]
movzx edx, word [rbx + 8]
mov dword [rsp + 0x20], eax
call fcn.1402aafc0
mov word [rsi], 0x100
lea r8, [rsi + 0x10]
mov qword [rsp + 0x28], rbx
mov edx, 0x10
mov r9d, 0x4b6a3cd5
call fcn.1402b23d0
call fcn.1402ab9e0
mov r14d, eax
mov rax, qword [0x1407910a8]
mov rbx, rax
shr rbx, 0x20
or ebx, eax
mov rcx, qword [0x14073ad58]
lea esi, [r14 + rbx]
add esi, 0xffff8065
mov eax, dword [0x14073ad18]
add eax, esi
cdqe
add rax, rcx
call qword [0x140704440]
mov rcx, qword [0x14073ad48]
add esi, dword [0x14073ad14]
movsxd r9, esi
add r9, rcx
mov rcx, rdi
mov edx, eax
mov r8d, 0x10b2ea09
mov rax, r9
call qword [0x140704440]
test al, 1
je 0x1402abfb0
nop
mov rcx, qword [0x14073ad38]
mov eax, dword [0x14073ad10]
xor eax, ebx
add eax, r14d
add eax, 0xffff8065
cdqe
add rax, rcx
lea rsi, [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov rdx, rsi
call qword [0x140704440]
mov rcx, qword [0x14073ad60]
lea eax, [r14 + rbx]
add eax, 0xffff8065
add eax, dword [0x14073ad24]
cdqe
add rax, rcx
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x98eb021a
call qword [0x140704440]
test bpl, 0x40
jne 0x1402ad282
nop
mov r15, qword [rsp + 0x50]
jmp 0x1402ad282
je 0x1402ac397
cmp eax, 0x13
jne 0x1402ac5ef
nop
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
xor r15d, r15d
jmp 0x1402ad282
jne 0x1402ac14c
mov rcx, r14
mov rdx, r15
mov r8, rbx
mov r9, qword [rsp + 0x50]
call fcn.1405839c0
mov r15, rax
jmp 0x1402ad282
test eax, eax
jne 0x1402ace98
nop
mov rcx, qword [rsp + 0x58]
or r12d, dword [rcx + 0x10]
xor eax, eax
cmp qword [rcx + 0x48], 0
mov esi, dword [0x14073bb5c]
sete al
shl eax, 2
and r12d, 0x17
or r12d, eax
mov dword [rcx + 0x10], r12d
and r12d, dword [rcx + 0x14]
jne 0x1402acead
test bpl, 0x40
jne 0x1402ad01c
xor r15d, r15d
jmp 0x1402ad282
jne 0x1402ac16b
nop
mov rax, qword [r12 + 0x10]
mov rcx, rax
sub rcx, rbx
jb 0x1402acea8
cmp rcx, r15
cmovb r15, rcx
mov rdx, qword [rsp + 0x50]
cmp rdx, r15
jne 0x1402ac694
nop
cmp qword [r12 + 0x18], 0x10
mov rax, r12
jb 0x1402ac08b
mov rax, qword [r12]
add rax, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov rcx, qword [rsp + 0x50]
mov r9d, 0xc900650c
call fcn.1402b23d0
mov r15, r12
jmp 0x1402ad282
nop
mov rcx, qword [rsp + 0x50]
mov dword [rdi + 4], ecx
mov word [rdi], 1
mov rax, qword [r14]
mov qword [rdi + 8], rax
cmp ecx, 0xfffffc19
jne 0x1402ac622
lea rbx, [rdi + 4]
test bpl, bpl
js 0x1402ac70c
jmp 0x1402ad282
nop
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x60]
mov rdx, r12
mov r8, r15
mov r9, rdi
call fcn.14057fd94
mov r15d, eax
jmp 0x1402ad282
nop
mov rcx, qword [rsp + 0x60]
and cl, 1
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14059ca9c
nop
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
call fcn.140583d1c
mov r15d, eax
jmp 0x1402ad282
cmp eax, 0x1d
ja 0x1402ac62a
nop
mov rcx, qword [rsp + 0x58]
mov rdx, r13
call fcn.14029afd0
xor r15d, r15d
jmp 0x1402ad282
cmp eax, 0x29
ja 0x1402ac671
cmp edi, 0xfffffc19
jne 0x1402ac193
lea rdx, [rsp + 0x90]
mov rcx, r13
call fcn.1402a6d40
mov edi, dword [rsp + 0x90]
nop
cmp dword [r13 + 4], edi
je 0x1402ac557
mov rcx, r13
call fcn.1402a69d0
mov dword [r13 + 4], edi
mov byte [r13 + 1], 0
xor r15d, r15d
jmp 0x1402ad282
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14057b26c
call fcn.1402aba70
mov rcx, qword [0x14073ae08]
mov edx, dword [0x14073adf0]
mov esi, 0xffff64c0
sub esi, eax
sub edx, esi
movsxd rax, edx
add rax, rcx
mov rcx, rdi
call qword [0x140704440]
lea rdx, [rdi + 0x10]
mov rcx, qword [0x14073ae00]
mov eax, dword [0x14073adf4]
sub eax, esi
cdqe
add rax, rcx
mov r8d, 0x10
mov rcx, qword [rsp + 0x50]
call qword [0x140704440]
movzx r15d, byte [rdi + 1]
jmp 0x1402ad282
call fcn.1402aba80
mov r12d, eax
mov rax, qword [0x1407910a8]
mov r14, rax
shr r14, 0x20
or r14d, eax
mov rcx, qword [0x14073bba8]
lea esi, [r12 - 0xb3bb]
mov eax, dword [0x14073bb8c]
add eax, esi
sub eax, r14d
cdqe
add rax, rcx
mov ecx, 0xf45aa9f4
call qword [0x140704440]
test al, al
je 0x1402ac727
nop
mov rcx, qword [0x14073bbb0]
sub esi, r14d
mov eax, dword [0x14073bb9c]
add eax, esi
cdqe
add rax, rcx
mov ecx, 0x7db70066
call qword [0x140704440]
mov rdi, rax
mov rcx, qword [0x14073bbd8]
mov eax, dword [0x14073bb88]
add eax, esi
cdqe
add rax, rcx
mov rcx, rdi
mov edx, 0x385ba376
call qword [0x140704440]
mov r15, rax
mov rcx, qword [0x14073bbd0]
add esi, dword [0x14073bb80]
movsxd rax, esi
add rax, rcx
mov rcx, rdi
mov edx, 0xe6ec843d
call qword [0x140704440]
mov rdi, rax
jmp 0x1402ac738
mov rcx, r14
mov rdx, qword [rsp + 0x58]
call fcn.1405c50cc
xor r15d, r15d
jmp 0x1402ad282
nop
mov rdi, qword [rsp + 0x60]
test rdi, rdi
jle 0x1402ac3d1
mov rdi, qword [rsp + 0x60]
jmp 0x1402ac35c
cmp rdi, rsi
cmovb rsi, rdi
mov qword [rsp + 0x28], r14
mov rdx, rsi
mov r9d, 0x4b6a3cd5
call fcn.1402b23d0
add r14, rsi
sub rdi, rsi
mov rax, qword [r13 + 0x58]
sub dword [rax], esi
mov rax, qword [r13 + 0x40]
add qword [rax], rsi
test rdi, rdi
jle 0x1402ac3d1
nop
mov rax, qword [r13 + 0x40]
mov r8, qword [rax]
test r8, r8
je 0x1402ac374
nop
mov rax, qword [r13 + 0x58]
mov esi, dword [rax]
test esi, esi
jg 0x1402ac32a
nop
movzx edx, byte [r14]
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
call qword [0x140704440]
cmp eax, 0xffffffff
je 0x1402ac3d1
inc r14
dec rdi
jmp 0x1402ac357
nop
cmp qword [0x140791088], 0
jne 0x1402acc37
nop
movzx eax, byte [0x14073ac69]
cmp al, 0xff
je 0x1402acbfd
mov cl, 0x2f
mov al, 0x9c
lock cmpxchg byte [0x14073ac69], cl
je 0x1402acbd5
cmp al, 0xff
jne 0x1402ac3b8
jmp 0x1402acbfd
nop
mov r15, qword [rsp + 0x60]
sub r15, rdi
jmp 0x1402ad282
nop
mov rdx, qword [rsp + 0x60]
mov r8d, r15d
mov r9, qword [rsp + 0x58]
call fcn.1402aaf90
mov rsi, qword [rsp + 0x50]
movzx eax, byte [rsi + 1]
or al, byte [rsi]
je 0x1402ac81a
mov rcx, rsi
call fcn.1402aafb0
jmp 0x1402aca4e
nop
mov rax, qword [r13 + 0x38]
mov rcx, qword [rax]
mov r15d, 0xffffffff
test rcx, rcx
je 0x1402ad282
nop
mov rax, qword [r13 + 0x18]
cmp rcx, qword [rax]
jbe 0x1402aca02
cmp r14d, 0xffffffff
je 0x1402acc4b
lea rax, [r13 + 0x38]
cmp byte [rcx - 1], r14b
je 0x1402ad029
nop
test byte [r13 + 0x70], 2
jne 0x1402ad282
jmp 0x1402acfee
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x50], rax
nop
mov esi, dword [0x14073bb58]
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x80], r14
mov rcx, r14
call sub.KERNEL32.dll_LoadLibraryA
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1402ac5ff
xor rsi, 0xccaf20
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rsi
mov rdx, rdi
mov r9d, 0x20bfde58
call fcn.1402aba90
mov qword [rsp + 0x90], rax
test bpl, bpl
js 0x1402ac60c
mov cl, 0xf6
nop dword [rax]
mov al, 0x5c
lock cmpxchg byte [0x14073ac85], cl
je 0x1402ac892
cmp al, 0x3e
jne 0x1402ac4d0
jmp 0x1402acc0d
nop
mov rax, qword [rsp + 0x50]
cmp dword [rax], 0xfffffc19
jne 0x1402ac557
lea rdx, [rsp + 0x90]
mov rcx, rbx
call fcn.1402a6d40
mov eax, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov dword [rcx], eax
xor r15d, r15d
jmp 0x1402ad282
xor r15d, r15d
jmp 0x1402ad282
nop
mov dword [rsp + 0x20], edi
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
call fcn.1402aafc0
lea r13, [rbx + 1]
movzx eax, byte [rbx + 1]
or al, byte [rbx]
je 0x1402ac85f
test bpl, 0x40
jne 0x1402aca73
mov rcx, rbx
call fcn.1402aafb0
jmp 0x1402ace02
nop
mov rax, qword [rbx]
mov rax, qword [rax + 0x30]
mov rcx, rbx
call qword [0x140704440]
cmp eax, 0xffffffff
je 0x1402ac9a4
nop
mov rax, qword [rbx + 0x50]
dec dword [rax]
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
movzx r15d, byte [rcx]
jmp 0x1402ad282
add r13, 0x10
movzx ecx, bl
mov rdx, r13
call fcn.140095800
movzx r15d, al
jmp 0x1402ad282
mov rcx, rbx
call fcn.14058336c
mov r15, rax
jmp 0x1402ad282
nop
mov qword [rsp + 0x90], 0
nop
mov r15, qword [rsp + 0x90]
jmp 0x1402ad282
mov r15, rbx
jmp 0x1402ad282
mov r15, rdi
jmp 0x1402ad282
cmp eax, 0x1f
jne 0x1402ac945
nop
mov r15, qword [rsp + 0x60]
cmp r15, r12
je 0x1402acb79
test bpl, bpl
js 0x1402acf62
add r13, 0x10
mov r15, qword [rsp + 0x60]
nop
movzx ecx, byte [r15]
mov rdx, r13
call fcn.140095810
mov byte [r15], al
inc r15
cmp r15, r12
jne 0x1402ac654
jmp 0x1402ad282
cmp eax, 0x2a
jne 0x1402ac973
nop
mov eax, dword [r12]
xor eax, dword [rsp + 0x58]
xor r15d, r15d
cmp eax, 0xf293e8e9
sete r15b
jmp 0x1402ad282
mov rsi, rax
sub rsi, r15
sub rsi, rbx
inc rsi
mov r13, rdx
sub r13, r15
jae 0x1402ac9af
add rax, rdx
sub rax, r15
mov qword [r12 + 0x10], rax
cmp qword [r12 + 0x18], 0x10
mov rdi, r12
jb 0x1402ac6c6
mov rdi, qword [r12]
add rdi, rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov r9d, 0x4ec53cc
call fcn.1402b23d0
add r15, rdi
add rdi, rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov r9d, 0x5ef3bb8c
call fcn.1402b23d0
mov r15, r12
jmp 0x1402ad282
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.1402a6d40
mov eax, dword [rsp + 0x70]
mov dword [rbx], eax
xor r15d, r15d
jmp 0x1402ac9f5
xor r15d, r15d
mov edi, 0
test bpl, bpl
js 0x1402ad282
mov ebx, 0xb3bb
sub ebx, r12d
lea rsi, [rsp + 0x90]
mov r8d, 0x200
mov rcx, rsi
xor edx, edx
call fcn.1405c44a0
mov rcx, qword [0x14073bbc8]
mov eax, dword [0x14073bb84]
or eax, r14d
sub eax, ebx
cdqe
add rax, rcx
mov rcx, r15
mov r15, qword [rsp + 0x50]
mov edx, r15d
mov r8, rsi
mov r9d, 0x200
call qword [0x140704440]
test eax, eax
jne 0x1402ac826
nop
mov rcx, qword [0x14073bbc8]
mov eax, dword [0x14073bb84]
or eax, r14d
sub eax, ebx
cdqe
add rax, rcx
lea r8, [rsp + 0x90]
mov rcx, rdi
mov edx, r15d
mov r9d, 0x200
call qword [0x140704440]
test eax, eax
jne 0x1402ac826
test bpl, 0x40
jne 0x1402ac60c
nop
mov rcx, qword [0x14073bbb8]
mov eax, dword [0x14073bb98]
or eax, r14d
sub eax, ebx
cdqe
add rax, rcx
call qword [0x140704440]
mov rcx, qword [0x14073bba0]
or r14d, dword [0x14073bb90]
sub r14d, ebx
movsxd r8, r14d
add r8, rcx
mov rcx, r13
mov rdx, rax
mov rax, r8
call qword [0x140704440]
xor r15d, r15d
jmp 0x1402ac85a
test ebp, 0x100
jne 0x1402aca39
nop
mov rcx, qword [0x14073bbc0]
xor r14d, dword [0x14073bb94]
lea eax, [r12 + r14]
add eax, 0xffff4c45
cdqe
add rax, rcx
lea rdx, [rsp + 0x90]
mov rcx, r13
call qword [0x140704440]
mov r15d, 1
jmp 0x1402ad282
test ebp, 0x100
jne 0x1402aca9f
lea rax, [rsp + 0x90]
mov qword [rsp + 0x68], rax
lea r14, [rsp + 0x90]
lea rbx, [rsp + 0x80]
mov rsi, qword [rsp + 0x58]
jmp 0x1402ad169
mov ecx, 0xd53cad7a
mov r8d, 0xd53cad79
xor r10d, r10d
movabs r11, 0x8618618618618619
lea rax, [0x1405f6180]
mov esi, 0xd53cad6d
add rsi, rax
lea rdi, [0x14073ac70]
mov rax, rcx
mul r11
mov r9, rdx
mov rax, r8
mul r11
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, rsi
movzx edx, byte [r10 + rdi]
xor dl, byte [r10 + rax + 0xc]
xor dl, 5
mov byte [r10 + rdi], dl
cmp r10, 0x14
je 0x1402ac938
mov rax, rcx
sub rax, r9
shr rax, 1
add rax, r9
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, rsi
add rax, 0xd
movzx edx, byte [r10 + rdi + 1]
xor dl, byte [rax + r10]
xor dl, 5
mov byte [r10 + rdi + 1], dl
add r10, 2
add rcx, 2
add r8, 2
jmp 0x1402ac8c0
mov al, 0x3e
xchg byte [0x14073ac85], al
jmp 0x1402acc0d
mov rcx, r14
call fcn.1402a69d0
mov rax, qword [r14 + 8]
mov qword [rdi], rax
movsxd rcx, dword [r14 + 4]
test rcx, rcx
je 0x1402acb8a
imul rcx, rcx, 0x23c34600
add rcx, rax
mov qword [rdi], rcx
jmp 0x1402acb96
nop
mov rsi, qword [rsp + 0x58]
test rsi, rsi
jle 0x1402ad18e
mov rax, qword [rsp + 0x50]
lea rbx, [rax + 0x38]
lea r14, [rax + 0x50]
mov rax, r14
mov qword [rsp + 0x68], r14
mov rsi, qword [rsp + 0x58]
mov r13, r12
jmp 0x1402ad110
mov r15d, 0xffffffff
jmp 0x1402ad282
nop
mov rdx, qword [r12 + 0x18]
mov rcx, rdx
sub rcx, rax
cmp r13, rcx
jbe 0x1402acac3
nop
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x38], 0
mov ecx, 0x7e5b0444
mov rdx, r15
mov r8, rbx
mov r9, qword [rsp + 0x50]
call fcn.1402ad2a0
mov r15, rax
test bpl, 0x40
cmove r15, rdi
jmp 0x1402ad282
test ebp, 0x100
jne 0x1402ad282
nop
movzx eax, byte [0x14073ac99]
cmp al, 0x99
je 0x1402acbc0
mov cl, 0x4e
mov al, 0x50
lock cmpxchg byte [0x14073ac99], cl
je 0x1402acba0
cmp al, 0x99
jne 0x1402aca20
jmp 0x1402acbc0
nop
mov rsi, qword [rsp + 0x50]
mov dword [rsi + 0x1c], 0
mov qword [rsi + 0x14], 0
nop
mov word [rsi], 0x100
mov rax, qword [rsp + 0x60]
mov word [rsi + 0x10], ax
mov word [rsi + 0x12], r15w
mov rax, qword [rsp + 0x58]
mov word [rsi + 0x16], ax
xor r15d, r15d
jmp 0x1402ad282
lea rbx, [rsp + 0x90]
lea r14, [rsp + 0x70]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x90]
mov ecx, r15d
mov rsi, qword [rsp + 0x50]
jmp 0x1402ad126
nop
mov qword [rbx + 0x10], 0
test bpl, bpl
jns 0x1402ace02
lea rdi, [rsp + 0x80]
mov ebx, 1
jmp 0x1402abf46
lea rcx, [rax + r13]
mov qword [r12 + 0x10], rcx
mov rcx, r12
cmp rdx, 0x10
jb 0x1402acad9
mov rcx, qword [r12]
add rbx, rcx
add r15, rbx
mov rdi, qword [rsp + 0x50]
lea rdx, [r14 + rdi]
cmp rdx, rbx
jbe 0x1402ace34
add rcx, rax
cmp rcx, r14
jb 0x1402ace34
mov rdi, r15
sub rdi, r14
jbe 0x1402ace32
jmp 0x1402ace34
nop
movdqa xmm0, xmmword [0x14073acf0]
paddb xmm0, xmmword [0x1405f5f50]
movd dword [0x14073acf0], xmm0
add byte [0x14073acf4], 0xc7
add byte [0x14073acf5], 0x4c
add byte [0x14073acf6], 0xc7
mov al, 0x9d
xchg byte [0x14073acf7], al
nop
movzx eax, byte [0x14073ad0c]
cmp al, 7
je 0x1402acc92
mov cl, 0xd3
mov al, 0x82
lock cmpxchg byte [0x14073ad0c], cl
je 0x1402acc61
cmp al, 7
je 0x1402acc92
test bpl, 0x40
jne 0x1402acb56
jmp 0x1402ac531
test ebp, 0x100
jne 0x1402ad282
jmp 0x1402abfb0
test ebp, 0x200
jne 0x1402acdfa
nop
movzx r15d, byte [r14]
jmp 0x1402ad282
movabs rax, 0x931c8ba0c62ecb0d
xor qword [0x14073ac90], rax
xor byte [0x14073ac98], 0xc2
mov al, 0x99
xchg byte [0x14073ac99], al
nop
movzx eax, byte [0x14073acb5]
cmp al, 0xc1
je 0x1402ad0b3
jmp 0x1402ad00c
nop
movq xmm0, qword [0x14073ac60]
paddb xmm0, xmmword [0x1405f5f70]
movq qword [0x14073ac60], xmm0
add byte [0x14073ac68], 0x5c
mov al, 0xff
xchg byte [0x14073ac69], al
nop
movzx eax, byte [0x14073ac85]
cmp al, 0x3e
jne 0x1402acf84
lea rax, [0x14073ac60]
mov qword [rsp + 0x48], rax
lea rax, [0x14073ac70]
mov qword [rsp + 0x38], rax
mov r9d, 0x55de9083
call fcn.1402aba90
mov qword [0x140791088], rax
mov rcx, r13
mov rdx, rbx
call qword [0x140791088]
mov r15d, eax
jmp 0x1402ad282
nop
mov rax, qword [r13 + 0x50]
inc dword [rax]
mov rax, qword [r13 + 0x38]
dec qword [rax]
xor r15d, r15d
jmp 0x1402ad282
movabs rax, 0x93ab447311f3ecd3
xor qword [0x14073ad00], rax
movq xmm0, qword [0x14073ad08]
pxor xmm0, xmmword [0x1405f5f60]
movd dword [0x14073ad08], xmm0
mov al, 7
xchg byte [0x14073ad0c], al
lea rax, [0x14073acf0]
mov qword [rsp + 0x48], rax
lea rax, [0x14073ad00]
mov qword [rsp + 0x38], rax
mov r9d, 0x16cda4c3
call fcn.1402aba90
mov qword [0x1407910a0], rax
mov rcx, r12
mov edx, edi
mov r8, qword [rsp + 0x60]
mov r9d, r13d
call qword [0x1407910a0]
mov r15d, eax
jmp 0x1402ad282
lea r13, [rsp + 0x90]
nop
mov byte [rbx], 0
mov rax, qword [rsp + 0x58]
mov word [rbx + 0x18], ax
mov rax, qword [rsp + 0x50]
mov word [rbx + 0x1a], ax
mov rax, qword [rsp + 0x60]
mov word [rbx + 0x1c], ax
mov word [rbx + 0x1e], di
mov byte [r13], 1
xor r15d, r15d
jmp 0x1402ad282
xor edi, edi
nop
mov rbp, qword [rsp + 0x50]
lea rax, [rbx + rbp]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov rcx, rsi
mov r9d, 0x81636cc
call fcn.1402b23d0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov rcx, rdi
mov r9d, 0x20d0e34c
call fcn.1402b23d0
sub rbp, rdi
add r13, r14
add r13, rdi
add rbx, rdi
mov qword [rsp + 0x28], r13
mov rdx, rbp
mov r8, rbx
mov r9d, 0x4b6a3cd5
call fcn.1402b23d0
mov r15, r12
jmp 0x1402ad282
mov rcx, rbx
mov rdx, r15
call fcn.1405c502c
call fcn.1405c5020
call fcn.1400c3f00
test bl, 1
jne 0x1402acf4b
mov ecx, esi
xor ecx, 0xd9410c52
call fcn.1402ab9c0
mov eax, esi
xor eax, 0x6b51e6a8
mov qword [rsp + 0x20], rax
mov r9d, 0x5a301043
call fcn.1402b23d0
test r12b, 2
lea rax, [0x14073abe0]
lea rdi, [0x14073abc0]
cmove rdi, rax
xor esi, 0xcbf3b0dd
mov ecx, esi
call fcn.1402ab9a0
test r12b, 4
lea rsi, [0x14073aba0]
cmove rsi, rdi
lea rdi, [rsp + 0x70]
mov rcx, rdi
mov edx, 1
call fcn.14008c180
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.140096540
mov qword [rsp + 0x48], rbx
lea rdx, [0x140647838]
mov r9d, 0xb9f986c1
call fcn.1402aba90
nop
mov qword [rsp + 0x48], 0
xor edx, edx
mov r9d, 0xa35cbc01
call fcn.1402aba90
mov esi, dword [0x14073bb5c]
mov r12, qword [rsp + 0x58]
jmp 0x1402aceb6
mov cl, 0x34
mov al, 0x2b
lock cmpxchg byte [0x14073ac49], cl
je 0x1402acf91
cmp al, 0x78
je 0x1402acfb9
test ebp, 0x100
jne 0x1402acf72
jmp 0x1402ac4ca
nop
movq xmm0, qword [0x14073ac40]
paddb xmm0, xmmword [0x1405f5f80]
movq qword [0x14073ac40], xmm0
add byte [0x14073ac48], 0x61
mov al, 0x78
xchg byte [0x14073ac49], al
nop
movzx eax, byte [0x14073ac5e]
cmp al, 0xf3
jne 0x1402ad19c
lea r13, [rsp + 0x70]
lea rbx, [rsp + 0x90]
lea r14, [rsp + 0x88]
mov rax, rbx
mov qword [rsp + 0x68], rbx
mov rsi, r15
jmp 0x1402ad0f4
nop
mov rcx, qword [r13 + 0x50]
inc dword [rcx]
mov rcx, qword [rax]
dec qword [rcx]
mov rax, qword [rax]
mov rax, qword [rax]
mov byte [rax], r14b
mov r15d, r14d
jmp 0x1402ad282
mov cl, 0x73
mov al, 0x9f
lock cmpxchg byte [0x14073acb5], cl
mov ebx, eax
je 0x1402ad033
cmp bl, 0xc1
jne 0x1402ad00c
lea rax, [rsp + 0x90]
test bpl, bpl
jns 0x1402acfee
jmp 0x1402ad0b3
mov r8d, 0xd1fa052c
xor r9d, r9d
movabs r10, 0x2e8ba2e8ba2e8ba3
lea r11, [0x1405f61a0]
mov esi, 0xd1fa052d
lea rbx, [0x14073aca0]
mov ecx, 0xd1fa052c
nop
mov rax, rcx
mul r10
shr rdx, 2
imul rax, rdx, 0xffffffffffffffea
add rax, r11
lea rdx, [rax + r9]
movzx ebp, byte [r9 + rbx]
xor bpl, byte [r8 + rdx]
xor bpl, 0xc2
mov byte [r9 + rbx], bpl
cmp r9, 0x14
je 0x1402ad0ab
add rax, rsi
movzx edx, byte [r9 + rbx + 1]
xor dl, byte [rax + r9]
xor dl, 0xc2
mov byte [r9 + rbx + 1], dl
add r9, 2
add rcx, 2
jmp 0x1402ad060
mov al, 0xc1
xchg byte [0x14073acb5], al
lea rax, [0x14073ac90]
mov qword [rsp + 0x48], rax
lea rax, [0x14073aca0]
mov qword [rsp + 0x38], rax
mov r9d, 0xd5461d83
call fcn.1402aba90
mov qword [0x140791090], rax
nop
mov rcx, qword [rsp + 0x58]
mov rdx, rdi
call qword [0x140791090]
mov r15d, eax
jmp 0x1402ad282
test ebp, 0x200
je 0x1402ad249
nop
mov byte [r13], r12b
inc r13
dec rsi
test rsi, rsi
jle 0x1402ad18e
nop
mov rax, qword [rbx]
mov rax, qword [rax]
test rax, rax
je 0x1402ad15d
nop
mov rcx, qword [r14]
mov ecx, dword [rcx]
test ecx, ecx
jle 0x1402ad169
mov edi, ecx
cmp rsi, rdi
cmovb rdi, rsi
mov qword [rsp + 0x28], rax
mov rdx, rdi
mov r8, r13
mov r9d, 0x4b6a3cd5
call fcn.1402b23d0
add r13, rdi
sub rsi, rdi
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
sub dword [rax], edi
mov rax, qword [rbx]
add qword [rax], rdi
jmp 0x1402ad10b
test ebp, 0x400
jne 0x1402ad282
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
call qword [0x140704440]
cmp eax, 0xffffffff
je 0x1402ad189
mov r12d, eax
jmp 0x1402ad0f4
test bpl, bpl
js 0x1402ad19c
nop
mov r15, qword [rsp + 0x58]
sub r15, rsi
jmp 0x1402ad282
mov cl, 0x47
mov al, 7
lock cmpxchg byte [0x14073ac5e], cl
je 0x1402ad1bd
test bpl, 0x40
je 0x1402ac0de
cmp al, 0xf3
jne 0x1402ad19e
jmp 0x1402ad249
lea r8, [0x1405f6170]
mov r9d, 0xcbf78cca
lea r10, [r8 + r9]
mov r11d, 0xcbf78cc8
xor esi, esi
movabs rdi, 0x4924924924924925
lea rbx, [0x14073ac50]
mov r14d, 0xcbf78cc9
mov rax, r9
shr rax, 1
mul rdi
mov rcx, rdx
mov rax, r11
shr rax, 1
mul rdi
shr rdx, 1
imul rax, rdx, 0xfffffffffffffff2
add rax, r8
add rax, rsi
movzx eax, byte [r14 + rax]
xor al, 0x29
add byte [rsi + rbx], al
shr rcx, 1
imul rax, rcx, 0xfffffffffffffff2
movzx eax, byte [r10 + rax]
xor al, 0x29
add byte [rsi + rbx + 1], al
add rsi, 2
add r10, 2
add r9, 2
add r11, 2
cmp rsi, 0xe
jne 0x1402ad1ed
mov al, 0xf3
xchg byte [0x14073ac5e], al
lea rax, [0x14073ac40]
mov qword [rsp + 0x48], rax
lea rax, [0x14073ac50]
mov qword [rsp + 0x38], rax
mov r9d, 0xed600903
call fcn.1402aba90
mov qword [0x140791080], rax
nop
mov rcx, qword [rsp + 0x60]
call qword [0x140791080]
xor r15d, r15d
mov rax, r15
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [0x140791138]
ret