Function at 0x18002ac30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov r15d, dword [0x1802848b4]
xor ebx, ebx
mov r13d, r8d
mov rsi, rdx
mov r12, rcx
mov r10d, 4
cmp qword [rcx + 8], rbx
je 0x18002adb1
movdqa xmm0, xmmword [0x18027b300]
xor eax, eax
mov byte [rbp + 0x30], al
movabs r15, 0xaaaaaaaaaaaaaaab
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax + 0x21]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x29a2d727
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x21], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0xf
jb 0x18002aca0
mov r15d, dword [0x1802848b4]
mov byte [rbp + 0x30], bl
call fcn.1800015c0
mov rcx, qword gs:[0x58]
mov r14, rax
mov edx, r10d
mov rdi, qword [rcx + r15*8]
add rdi, rdx
mov ecx, dword [rdi]
cmp dword [0x180286968], ecx
jle 0x18002ad4f
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002ad4f
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002ad88
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002ad88
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, r14
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp + 0x21]
mov rcx, rax
call r8
test rax, rax
je 0x18002add6
mov rcx, qword [r12 + 8]
call rax
mov rcx, qword [r12]
cmp rcx, 0xffffffffffffffff
je 0x18002adc9
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov byte [rbp + 0x1c0], al
mov qword [r12 + 8], rbx
mov qword [r12], 0xffffffffffffffff
xor eax, eax
mov dword [rsp + 0x50], 0xf2573095
mov byte [rsp + 0x58], al
movabs r14, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0x54], 0xb5bfc62c
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rsp + rax + 0x51]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x5e8e7a77
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x51], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 7
jb 0x18002ae00
mov byte [rsp + 0x58], bl
lea rax, [rsp + 0x51]
mov qword [rbp + 0x78], rbx
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x80], 0xf
mov byte [rbp + 0x68], bl
inc r8
cmp byte [rax + r8], bl
jne 0x18002ae73
lea rdx, [rsp + 0x51]
lea rcx, [rbp + 0x68]
call fcn.18023c100
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], bl
jne 0x18002ae91
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.18023c260
mov qword [rsp + 0x48], 8
xor edx, edx
mov qword [rsp + 0x40], 0x10
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
add rcx, rax
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x130]
mov r8, qword [rsp + 0x48]
call fcn.18024b360
movdqa xmm0, xmmword [0x18027b2f0]
movdqa xmm1, xmmword [0x18027ad00]
mov qword [rsp + 0x40], 0xf
mov qword [rsp + 0x48], 9
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
add rcx, rax
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x48]
movdqu xmmword [rbp + 0x88], xmm0
mov dword [rbp + 0x130], eax
movdqa xmm0, xmmword [0x18027afe0]
movdqu xmmword [rbp + 0xa8], xmm0
mov dword [rbp + 0xb8], 0xec520efa
movdqu xmmword [rbp + 0x98], xmm1
mov word [rbp + 0xbc], 0xe
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax + 0x89]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x45239a7a
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x89], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x34
jb 0x18002af60
mov byte [rbp + 0xbd], bl
call fcn.1800016b0
mov rcx, qword gs:[0x58]
mov rsi, rax
mov r8d, r15d
mov edx, 4
mov rdi, qword [rcx + r8*8]
add rdi, rdx
mov ecx, dword [rdi]
cmp dword [0x180286968], ecx
jle 0x18002b016
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002b016
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002b04f
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002b04f
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp + 0x89]
mov rcx, rax
call r8
mov r10, rax
test rax, rax
je 0x18002bfdb
movdqa xmm0, xmmword [0x18027afb0]
xor eax, eax
movdqa xmm1, xmmword [0x18027ae90]
movdqu xmmword [rbp + 0xf4], xmm0
mov byte [rbp + 0x128], al
movdqa xmm0, xmmword [0x18027ade0]
movdqu xmmword [rbp + 0x114], xmm0
mov dword [rbp + 0x124], 0x9d3d993e
movdqu xmmword [rbp + 0x104], xmm1
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax + 0xf5]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x2921ad0
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0xf5], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x33
jb 0x18002b0d0
xor r9d, r9d
mov byte [rbp + 0x128], bl
lea r8, [rbp + 0x138]
lea rcx, [rbp + 0xf5]
lea edx, [r9 + 1]
call r10
movdqa xmm0, xmmword [0x18027ae80]
movdqu xmmword [rbp - 0x28], xmm0
mov dword [rbp - 0x18], 0x652fff
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax - 0x27]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x48489013
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x27], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x12
jb 0x18002b170
mov byte [rbp - 0x15], bl
call fcn.1800015c0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002b205
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002b205
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002b23e
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002b23e
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x27]
mov rcx, rax
call r8
mov r10, rax
test rax, rax
je 0x18002bfdb
cmp qword [rbp + 0x80], 0x10
lea r9, [rbp + 0x68]
cmovae r9, qword [rbp + 0x68]
mov qword [rsp + 0x40], 4
mov qword [rsp + 0x48], rbx
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
add rdx, rcx
mov qword [rsp + 0x28], r9
mov qword [rbp - 0x70], rdx
xor r9d, r9d
mov qword [rsp + 0x40], 3
mov qword [rsp + 0x48], 1
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
add rdx, rax
mov qword [rsp + 0x48], rdx
mov r8, qword [rsp + 0x48]
mov rdx, qword [rbp - 0x70]
add edx, r13d
add r8d, edx
lea rdx, [rbp + 0x130]
mov dword [rsp + 0x20], r8d
mov r8d, ecx
lea rcx, [r9 - 1]
call r10
mov qword [r12], rax
xor eax, eax
mov byte [rsp + 0x63], al
mov dword [rsp + 0x59], 0x5a2d6c4
mov dword [rsp + 0x5d], 0x442ab5d2
mov word [rsp + 0x61], 0x687e
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rsp + rax + 0x5a]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x51880d9a
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x5a], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 9
jb 0x18002b320
mov byte [rsp + 0x63], bl
call fcn.1800015c0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002b3b6
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002b3b6
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002b3ef
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002b3ef
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x5a]
mov rcx, rax
call r8
test rax, rax
je 0x18002bfdb
mov rcx, qword [rbp + 0x138]
call rax
mov r15, qword [r12]
test r15, r15
je 0x18002bfdb
movdqa xmm0, xmmword [0x18027aed0]
xor eax, eax
mov byte [rbp + 0x52], al
movdqu xmmword [rbp + 0x42], xmm0
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax + 0x43]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x3e9d1821
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x43], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0xf
jb 0x18002b450
movdqa xmm0, xmmword [0x18027af70]
xor eax, eax
mov byte [rbp + 0x41], al
movdqu xmmword [rbp + 0x31], xmm0
mov byte [rbp + 0x52], bl
mov qword [rbp - 0x68], rbx
mov qword [rbp + 0x10], rbx
mov dword [rbp - 0x2c], ebx
mov dword [rbp + 0x1d8], ebx
mov qword [rbp + 8], rbx
mov qword [rbp + 0x18], rbx
mov qword [rbp], rbx
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax + 0x32]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0xe00f91e
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x32], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0xf
jb 0x18002b4e0
mov byte [rbp + 0x41], bl
call fcn.1800016b0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002b575
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002b575
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002b5ae
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002b5ae
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r9, qword [0x18028a9a0]
lea rdx, [rbp + 0x32]
mov rcx, rax
call r9
test rax, rax
je 0x18002be63
xor r9d, r9d
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 8]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rcx
mov rcx, r15
lea edx, [r9 + 6]
mov qword [rsp + 0x20], rbx
lea r8d, [r9 + 4]
call rax
movdqa xmm0, xmmword [0x18027b250]
movdqu xmmword [rbp - 0x45], xmm0
mov dword [rbp - 0x35], 0xb8b8fa39
mov dword [rbp - 0x31], 0xfc1e9c
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax - 0x44]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x57aeabd4
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x44], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x16
jb 0x18002b630
mov byte [rbp - 0x2e], bl
call fcn.1800016b0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002b6c5
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002b6c5
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002b6fe
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002b6fe
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x44]
mov rcx, rax
call r8
mov r9, rax
test rax, rax
je 0x18002be63
mov dword [rsp + 0x6f], 0x54481cf
mov dword [rsp + 0x73], 0xeeb33c37
mov dword [rsp + 0x77], 0xe99d53
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rsp + rax + 0x70]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x4a37b0d2
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x70], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0xa
jb 0x18002b750
lea rdx, [rbp]
mov byte [rsp + 0x7a], bl
lea rcx, [rsp + 0x70]
call r9
xor eax, eax
mov dword [rsp + 0x64], 0xa8f862e0
mov byte [rsp + 0x6e], al
mov dword [rsp + 0x68], 0x3edf5e04
mov word [rsp + 0x6c], 0x7643
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rsp + rax + 0x65]
mov rax, r14
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x7fa1132e
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x65], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 9
jb 0x18002b7e0
mov byte [rsp + 0x6e], bl
call fcn.1800015c0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002b876
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002b876
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002b8af
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002b8af
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x65]
mov rcx, rax
call r8
mov r14, rax
test rax, rax
je 0x18002be63
mov qword [rsp + 0x48], 0x30
mov qword [rbp - 0x70], rbx
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rsp + 0x48]
add rdx, rcx
lea rcx, [rbp + 0x148]
mov qword [rbp - 0x70], rdx
xor edx, edx
mov r8, qword [rbp - 0x70]
call fcn.18024b360
mov rax, qword [rbp]
movabs r9, 0xaaaaaaaaaaaaaaab
movdqa xmm0, xmmword [0x18027b220]
mov qword [rbp + 0x170], rax
movdqu xmmword [rbp - 0x14], xmm0
mov dword [rbp + 0x148], 0x10000000
mov qword [rbp + 0x14c], 2
mov dword [rbp + 0x164], ebx
mov dword [rbp + 0x168], 2
mov word [rbp - 4], 0x90
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax - 0x13]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x4168c783
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x13], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x10
jb 0x18002b960
mov byte [rbp - 3], bl
call fcn.1800016b0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002b9f5
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002b9f5
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002ba2e
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002ba2e
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x13]
mov rcx, rax
call r8
test rax, rax
je 0x18002ba66
mov r8, qword [rbp + 8]
lea r9, [rbp + 0x18]
lea rdx, [rbp + 0x148]
mov ecx, 1
call rax
movdqa xmm0, xmmword [0x18027aca0]
movabs r13, 0xaaaaaaaaaaaaaaab
movdqa xmm1, xmmword [0x18027af60]
movdqu xmmword [rbp + 0xbe], xmm0
mov dword [rbp + 0xee], 0x9fb5c045
movdqa xmm0, xmmword [0x18027ac40]
movdqu xmmword [rbp + 0xde], xmm0
mov word [rbp + 0xf2], 0xb7
movdqu xmmword [rbp + 0xce], xmm1
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax + 0xbf]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x1a9a07b4
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0xbf], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x34
jb 0x18002bac0
mov byte [rbp + 0xf3], bl
call fcn.1800016b0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002bb5e
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002bb5e
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002bb97
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002bb97
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp + 0xbf]
mov rcx, rax
call r8
test rax, rax
je 0x18002be57
xor r9d, r9d
lea r8, [rbp - 0x68]
lea rcx, [rbp + 0x43]
lea edx, [r9 + 1]
call rax
test eax, eax
je 0x18002be57
movdqa xmm0, xmmword [0x18027b110]
xor eax, eax
mov byte [rbp - 0x46], al
movdqu xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x50], 0x78695a14
mov dword [rbp - 0x4c], 0xf17231e9
mov word [rbp - 0x48], 0x112b
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax - 0x5f]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x24336f7d
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x5f], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x19
jb 0x18002bc10
mov byte [rbp - 0x46], bl
call fcn.1800016b0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002bca5
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002bca5
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002bcde
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002bcde
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x5f]
mov rcx, rax
call r8
test rax, rax
je 0x18002be57
mov rcx, qword [rbp - 0x68]
lea r9, [rbp + 0x1d8]
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x2c]
call rax
test eax, eax
je 0x18002be57
movdqa xmm0, xmmword [0x18027afc0]
xor eax, eax
mov byte [rbp + 0x63], al
movdqu xmmword [rbp + 0x53], xmm0
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rbp + rax + 0x54]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x47069fd3
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x54], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0xf
jb 0x18002bd40
mov byte [rbp + 0x63], bl
call fcn.1800016b0
mov ecx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], ecx
jle 0x18002bdd5
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002bdd5
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002be0e
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002be0e
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp + 0x54]
mov rcx, rax
call r8
test rax, rax
je 0x18002be57
mov rdx, qword [rbp + 0x10]
xor r9d, r9d
mov qword [rsp + 0x30], rdx
mov rcx, r15
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x28], rdx
lea edx, [r9 + 6]
mov qword [rsp + 0x20], rbx
lea r8d, [r9 + 0x14]
call rax
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x18002be63
call r14
xor eax, eax
mov dword [rsp + 0x7b], 0xcb17a02e
mov byte [rbp - 0x77], al
movabs r13, 0xaaaaaaaaaaaaaaab
mov dword [rsp + 0x7f], 0xfc72470b
mov dword [rbp - 0x7d], 0xd137848a
mov word [rbp - 0x79], 0xbb0
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
movzx r8d, byte [rsp + rax + 0x7c]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x40]
shl dl, 3
sub cl, dl
mov edx, 0x61e6e2ed
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x7c], dl
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0xd
jb 0x18002bea0
mov r13d, dword [rbp + 0x1d0]
mov byte [rbp - 0x77], bl
call fcn.1800015c0
mov edx, dword [rdi]
mov rsi, rax
cmp dword [0x180286968], edx
jle 0x18002bf3c
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x18002bf3c
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rdx
call fcn.180249db8
mov eax, dword [rdi]
cmp dword [0x18028a99c], eax
jle 0x18002bf75
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18002bf75
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rsi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x7c]
mov rcx, rax
call r8
test rax, rax
je 0x18002bfdb
mov rcx, qword [r12]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea edx, [r9 + 6]
call rax
mov qword [r12 + 8], rax
test rax, rax
je 0x18002bfdb
mov rcx, r12
call fcn.18002c520
mov rax, qword [r12 + 8]
mov dword [rax], r13d
mov rax, qword [r12 + 8]
test rax, rax
je 0x18002bfd4
xchg dword [rax + 4], ebx
mov dword [r12 + 0x10], r13d
mov bl, 1
lea rcx, [rbp + 0x68]
call fcn.18023c0a0
movzx eax, bl
mov rbx, qword [rsp + 0x2c8]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret