Function at 0x1800319e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc70]
sub rsp, 0xd70
lea rcx, [rbp + 0x430]
mov rsi, rdx
call fcn.18000ba20
xor r14d, r14d
mov dword [rbp - 0x4f], 0xf6540ee6
mov dword [rbp - 0x4b], 0x14d710a8
movabs r12, 0xaaaaaaaaaaaaaaab
mov dword [rbp - 0x47], 0xfd6e6259
mov word [rbp - 0x43], 0x83
mov qword [rbp + 0xcc8], r14
mov rax, qword [rbp + 0xcc8]
nop
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rbp + rax - 0x4e]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x736e164d
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x4e], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 0xc
jb 0x180031a50
mov byte [rbp - 0x42], r14b
call fcn.1800015c0
mov rcx, qword gs:[0x58]
mov rdi, rax
mov edx, dword [0x1802848b4]
mov r15d, 4
mov rbx, qword [rcx + rdx*8]
mov ecx, dword [r15 + rbx]
cmp dword [0x180286968], ecx
lea r13, [r15 + rbx]
jle 0x180031b11
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180031b11
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rax
call fcn.180249db8
mov eax, dword [r13]
cmp dword [0x18028a99c], eax
jle 0x180031b4c
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180031b4c
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x4e]
mov rcx, rax
call r8
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call rax
mov qword [rbp + 0x448], rax
mov rax, qword [0x180285d10]
test rax, rax
jne 0x180031cb5
mov dword [rsp + 0x64], 0xea7c5438
mov dword [rsp + 0x68], 0x587af
mov qword [rbp + 0xcc8], r14
mov rax, qword [rbp + 0xcc8]
nop word [rax + rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x65]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x26e3ee27
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x65], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 6
jb 0x180031bb0
mov byte [rsp + 0x6b], r14b
call fcn.1800017a0
mov ecx, dword [rbx + r15]
mov rdi, rax
cmp dword [0x180286968], ecx
jle 0x180031c55
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180031c55
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [rbx + r15]
cmp dword [0x18028a99c], eax
jle 0x180031c90
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180031c90
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x65]
mov rcx, rax
call r8
mov qword [0x180285d10], rax
xor r8d, r8d
lea edx, [r8 + 1]
lea ecx, [rdx + 1]
call rax
mov rcx, rax
mov qword [rbp + 0x330], rax
mov rax, qword [0x180286930]
mov word [rbp + 0x420], r14w
mov qword [rbp + 0x428], r14
mov byte [rbp + 0x422], 1
mov dword [rbp - 0x20], r14d
test rax, rax
jne 0x180031e2a
mov byte [rbp - 0x6a], al
mov dword [rbp - 0x76], 0x138eabf4
mov dword [rbp - 0x72], 0xe87d704c
mov dword [rbp - 0x6e], 0x8c958aa0
mov qword [rbp + 0xcc8], r14
mov rax, qword [rbp + 0xcc8]
nop dword [rax + rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rbp + rax - 0x75]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x203e1c2
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x75], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 0xb
jb 0x180031d20
mov byte [rbp - 0x6a], r14b
call fcn.1800017a0
mov ecx, dword [r15 + rbx]
mov rdi, rax
cmp dword [0x180286968], ecx
jle 0x180031dc4
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180031dc4
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [r15 + rbx]
cmp dword [0x18028a99c], eax
jle 0x180031dff
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180031dff
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x75]
mov rcx, rax
call r8
mov rcx, qword [rbp + 0x330]
mov qword [0x180286930], rax
lea r8, [rbp - 0x20]
mov edx, 0x8004667e
call rax
mov rdx, rsi
lea rcx, [rbp + 0xc0]
call fcn.180030a20
cmp qword [rbp + 0xd8], r14
je 0x180033992
cmp qword [rbp + 0xc0], r14
je 0x180033992
mov dword [rsp + 0x50], 9
mov dword [rbp + 0xcc8], 0x47
mov ecx, dword [rbp + 0xcc8]
mov eax, dword [rsp + 0x50]
add ecx, eax
mov dword [rbp + 0xcc8], ecx
mov r12d, dword [rbp + 0xcc8]
movzx eax, word [rbp + 0xe0]
test ax, ax
mov dword [rbp + 0xcc8], 0x14
mov dword [rsp + 0x50], 0xa
mov ecx, dword [rbp + 0xcc8]
cmovne r12w, ax
mov eax, dword [rsp + 0x50]
add ecx, eax
mov dword [rbp + 0xcc8], ecx
mov esi, dword [rbp + 0xcc8]
movzx eax, byte [rbp + 0x422]
mov r14, qword [rbp + 0xd8]
mov byte [rbp + 0xcc8], al
mov rax, qword [0x180286930]
mov dword [rbp - 0x28], r12d
mov byte [rbp + 0x422], 0
mov dword [rbp - 0x1c], 1
test rax, rax
jne 0x180032027
mov byte [rbp - 0x5d], al
movabs r9, 0xaaaaaaaaaaaaaaab
mov dword [rbp - 0x69], 0x138eabf4
mov dword [rbp - 0x65], 0xe87d704c
mov dword [rbp - 0x61], 0x8c958aa0
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
movzx r8d, byte [rbp + rax - 0x68]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x50]
shl dl, 3
sub cl, dl
mov edx, 0x203e1c2
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x68], dl
mov rax, qword [rsp + 0x50]
inc rax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp rax, 0xb
jb 0x180031f30
mov byte [rbp - 0x5d], 0
call fcn.1800017a0
mov ecx, dword [r15 + rbx]
mov rdi, rax
cmp dword [0x180286968], ecx
jle 0x180031fc8
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180031fc8
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [r15 + rbx]
cmp dword [0x18028a99c], eax
jle 0x180032003
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180032003
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x68]
mov rcx, rax
call r8
mov qword [0x180286930], rax
mov rcx, qword [rbp + 0x330]
lea r8, [rbp - 0x1c]
mov edx, 0x8004667e
call rax
movzx edx, byte [r14]
lea r10, [rsp + 0x40]
mov r15, 0xffffffffffffffff
mov dword [rbp + 0x48], esi
xor esi, esi
mov dword [rsp + 0x50], r15d
mov dword [rbp + 0x4c], esi
mov r8, r14
lea r11d, [r15 + 0x62]
nop dword [rax]
lea eax, [rdx - 0x30]
movabs rdi, 0x100003e01
cmp al, 9
ja 0x1800321ef
mov ebx, esi
mov r9d, 0xa
mov ecx, esi
cmp dl, 0x30
jne 0x1800320b0
movzx edx, byte [r8 + 1]
inc r8
lea eax, [rdx - 0x58]
test al, 0xdf
je 0x18003209d
lea ecx, [r9 - 9]
lea r9d, [rcx + 7]
jmp 0x1800320b0
mov r9d, 0x10
inc r8
movzx edx, byte [r8]
nop word [rax + rax]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x1800320de
cmp r9d, 8
jne 0x1800320c8
lea eax, [rdx - 0x38]
cmp al, 1
jbe 0x1800321ef
imul ebx, r9d
mov ecx, 1
movsx eax, dl
add ebx, 0xffffffd0
add ebx, eax
inc r8
jmp 0x1800320a6
cmp r9d, 0x10
jne 0x180032120
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x1800320f9
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x1800320f9
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x180032120
lea eax, [rdx - 0x61]
mov ecx, 0x41
cmp al, 0x19
movsx edx, dl
mov eax, ebx
cmovbe ecx, r11d
shl eax, 4
sub edx, ecx
mov ecx, 1
lea ebx, [rdx + 0xa]
or ebx, eax
inc r8
jmp 0x1800320a6
cmp dl, 0x2e
jne 0x180032152
lea rax, [rsp + 0x43]
cmp r10, rax
jae 0x1800321ef
cmp ebx, 0xff
ja 0x1800321ef
movzx edx, byte [r8 + 1]
mov byte [r10], bl
inc r10
inc r8
jmp 0x180032060
cmp dl, 0x20
ja 0x1800321ef
bt rdi, rdx
jae 0x1800321ef
test ecx, ecx
je 0x1800321ef
lea rax, [rsp + 0x40]
sub r10d, eax
inc r10d
sub r10d, 2
je 0x1800321d0
sub r10d, 1
je 0x1800321b2
cmp r10d, 1
jne 0x1800321e2
cmp ebx, 0xff
ja 0x1800321ef
movzx eax, byte [rsp + 0x41]
movzx ecx, byte [rsp + 0x40]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x42]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ebx, ecx
jmp 0x1800321e2
cmp ebx, 0xffff
ja 0x1800321ef
movzx ecx, byte [rsp + 0x40]
movzx eax, byte [rsp + 0x41]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or ebx, ecx
jmp 0x1800321e2
cmp ebx, 0xffffff
ja 0x1800321ef
movzx eax, byte [rsp + 0x40]
shl eax, 0x18
or ebx, eax
bswap ebx
cmp ebx, 0xffffffff
jne 0x180032617
jmp 0x1800321f4
mov ebx, 0xffffffff
mov rax, qword [0x180285ba0]
test rax, rax
jne 0x18003233b
mov byte [rbp - 0x33], al
movabs r12, 0xaaaaaaaaaaaaaaab
mov dword [rbp - 0x41], 0xa1cf332e
mov dword [rbp - 0x3d], 0xe9491a82
mov dword [rbp - 0x39], 0x581d9eac
mov word [rbp - 0x35], 0xabf1
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rbp + rax - 0x40]
mov rax, r12
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x30]
shl dl, 3
sub cl, dl
mov edx, 0x5f1ce754
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x40], dl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0xd
jb 0x180032240
mov r12d, dword [rbp - 0x28]
mov byte [rbp - 0x33], sil
call fcn.1800017a0
mov ecx, dword [r13]
mov rdi, rax
cmp dword [0x180286968], ecx
jle 0x1800322dc
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], r15d
jne 0x1800322dc
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [r13]
cmp dword [0x18028a99c], eax
jle 0x180032317
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], r15d
jne 0x180032317
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rdi
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x40]
mov rcx, rax
call r8
mov qword [0x180285ba0], rax
mov rcx, r14
call rax
test rax, rax
je 0x180032617
mov rax, qword [rax + 0x18]
lea r8, [0x18028a9a8]
xor dil, dil
mov r14d, 0x57
mov rcx, qword [rax]
mov eax, dword [rcx]
mov dword [rbp - 0x18], eax
mov byte [0x18028a9a8], dil
nop dword [rax]
movzx ecx, byte [rbp + rsi - 0x18]
lea r10, [rbp - 0x30]
nop dword [rax]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov eax, 0x30
cmp ecx, 0xa
cmovge eax, r14d
add al, cl
mov ecx, edx
mov byte [r10], al
inc r10
test edx, edx
jg 0x180032380
lea rax, [rbp - 0x30]
mov byte [r10], 0
sub r10d, eax
mov r11d, 0
mov ebx, r10d
shr ebx, 1
je 0x1800323f8
lea r9, [rbp - 0x30]
nop word [rax + rax]
movzx edx, byte [r9]
lea rcx, [rbp - 0x30]
mov eax, r10d
lea r9, [r9 + 1]
sub eax, r11d
inc r11d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r9 - 1], al
mov byte [rcx], dl
cmp r11d, ebx
jb 0x1800323d0
xor ecx, ecx
test dil, dil
je 0x180032409
nop
inc ecx
cmp byte [rcx + r8], 0
jne 0x180032400
lea rdx, [rbp - 0x30]
add rcx, r8
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180032410
cmp rsi, 3
jae 0x180032460
xor ecx, ecx
cmp byte [0x18028a9a8], cl
je 0x180032439
inc ecx
cmp byte [rcx + r8], 0
jne 0x180032430
lea rdx, [0x18027a378]
add rcx, r8
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x180032450
inc rsi
cmp rsi, 4
jge 0x180032475
movzx edi, byte [0x18028a9a8]
jmp 0x180032370
movzx edx, byte [0x18028a9a8]
lea r10, [rsp + 0x44]
xor esi, esi
lea r11d, [rsi + 0x61]
nop word [rax + rax]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180032612
mov ebx, esi
mov r9d, 0xa
mov ecx, esi
cmp dl, 0x30
jne 0x1800324d0
movzx edx, byte [r8 + 1]
inc r8
lea eax, [rdx - 0x58]
test al, 0xdf
je 0x1800324c3
lea ecx, [r9 - 9]
lea r9d, [rcx + 7]
jmp 0x1800324d0
mov r9d, 0x10
inc r8
movzx edx, byte [r8]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180032500
cmp r9d, 8
jne 0x1800324e8
lea eax, [rdx - 0x38]
cmp al, 1
jbe 0x180032612
mov ecx, r9d
imul ecx, ebx
movsx ebx, dl
add ebx, 0xffffffd0
add ebx, ecx
mov ecx, 1
inc r8
jmp 0x1800324cc
cmp r9d, 0x10
jne 0x180032542
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x18003251b
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x18003251b
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x180032542
lea eax, [rdx - 0x61]
mov ecx, 0x41
cmp al, 0x19
movsx edx, dl
mov eax, ebx
cmovbe ecx, r11d
shl eax, 4
sub edx, ecx
mov ecx, 1
lea ebx, [rdx + 0xa]
or ebx, eax
inc r8
jmp 0x1800324cc
cmp dl, 0x2e
jne 0x180032574
lea rax, [rsp + 0x47]
cmp r10, rax
jae 0x180032612
cmp ebx, 0xff
ja 0x180032612
movzx edx, byte [r8 + 1]
mov byte [r10], bl
inc r10
inc r8
jmp 0x180032490
cmp dl, 0x20
ja 0x180032612
movabs rax, 0x100003e01
bt rax, rdx
jae 0x180032612
test ecx, ecx
je 0x180032612
lea rax, [rsp + 0x44]
sub r10d, eax
inc r10d
sub r10d, 2
je 0x1800325fc
sub r10d, 1
je 0x1800325dc
cmp r10d, 1
jne 0x18003260e
cmp ebx, 0xff
ja 0x180032612
movzx eax, byte [rsp + 0x45]
movzx ecx, byte [rsp + 0x44]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x46]
shl ecx, 8
or ecx, eax
shl ecx, 8
or ebx, ecx
bswap ebx
jmp 0x180032617
cmp ebx, 0xffff
ja 0x180032612
movzx ecx, byte [rsp + 0x44]
movzx eax, byte [rsp + 0x45]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or ebx, ecx
bswap ebx
jmp 0x180032617
cmp ebx, 0xffffff
ja 0x180032612
movzx eax, byte [rsp + 0x44]
shl eax, 0x18
or ebx, eax
bswap ebx
jmp 0x180032617
mov ebx, 0xffffffff
mov dword [rbp + 0x74], ebx
mov eax, 2
mov word [rbp + 0x70], ax
xor edx, edx
rol r12w, 8
mov word [rbp + 0x72], r12w
mov qword [rbp - 0x28], 3
mov qword [rsp + 0x30], 5
mov rcx, qword [rsp + 0x30]
mov rax, qword [rbp - 0x28]
add rcx, rax
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x78]
mov r8, qword [rsp + 0x30]
call fcn.18024b360
mov rax, qword [0x180285bc8]
test rax, rax
jne 0x1800327a0
mov byte [rsp + 0x7c], al
mov dword [rsp + 0x74], 0xcf2de62e
mov dword [rsp + 0x78], 0x7e774d3e
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
cmp rax, 7
jae 0x1800326f8
movabs r15, 0xaaaaaaaaaaaaaaab
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rsp + rax + 0x75]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x30]
shl dl, 3
sub cl, dl
mov edx, 0x3053c285
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x75], dl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 7
jb 0x1800326a0
mov r15, 0xffffffffffffffff
mov byte [rsp + 0x7c], 0
call fcn.1800017a0
mov ecx, dword [r13]
mov rbx, rax
cmp dword [0x180286968], ecx
jle 0x180032740
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180032740
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [r13]
cmp dword [0x18028a99c], eax
jle 0x18003277b
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18003277b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rbx
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x75]
mov rcx, rax
call r8
mov qword [0x180285bc8], rax
mov qword [rbp - 0x28], 0x10
mov qword [rsp + 0x30], rsi
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rbp - 0x28]
add rdx, rcx
mov qword [rsp + 0x30], rdx
lea rdx, [rbp + 0x70]
mov r8, qword [rsp + 0x30]
mov rcx, qword [rbp + 0x330]
call rax
mov rax, qword [rbp + 0x330]
lea rcx, [rbp + 0x660]
mov qword [rbp + 0x458], rax
mov edx, 4
lea rax, [rbp + 0x450]
mov dword [rbp + 0x450], 1
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180032800
mov rax, qword [rax]
mov edi, dword [rbp + 0x330]
mov qword [rcx], rax
mov rax, qword [0x180285d40]
test rax, rax
jne 0x1800329a0
mov dword [rsp + 0x6c], 0x96909943
mov dword [rsp + 0x70], 0x2bdd18
mov qword [rsp + 0x30], rsi
mov rax, qword [rsp + 0x30]
cmp rax, 6
jae 0x1800328f8
movabs r15, 0xaaaaaaaaaaaaaaab
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rsp + rax + 0x6d]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rsp + 0x30]
shl dl, 3
sub cl, dl
mov edx, 0x5d028bea
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x6d], dl
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 6
jb 0x1800328a0
mov r15, 0xffffffffffffffff
mov byte [rsp + 0x73], 0
call fcn.1800017a0
mov ecx, dword [r13]
mov rbx, rax
cmp dword [0x180286968], ecx
jle 0x180032940
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180032940
mov rcx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18028a9f8], rcx
lea rcx, [0x180286968]
call fcn.180249db8
mov eax, dword [r13]
cmp dword [0x18028a99c], eax
jle 0x18003297b
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x18003297b
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rbx
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rsp + 0x6d]
mov rcx, rax
call r8
mov qword [0x180285d40], rax
lea rcx, [rbp + 0x48]
xor edx, edx
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x660]
lea ecx, [rdi + 1]
lea r8, [rbp + 0x450]
call rax
cmp eax, 1
jne 0x1800329fa
mov rcx, qword [rbp + 0x330]
lea rdx, [rbp + 0x450]
call fcn.180008970
mov edi, dword [rsp + 0x50]
lea rdx, [rbp + 0x660]
mov rcx, qword [rbp + 0x330]
test eax, eax
cmovne edi, esi
call fcn.180008970
test eax, eax
cmovne edi, r15d
jmp 0x1800329fe
mov edi, dword [rsp + 0x50]
movzx ecx, byte [rbp + 0xcc8]
mov eax, esi
test cl, cl
mov byte [rbp + 0x422], cl
sete al
mov dword [rbp - 0x10], eax
mov rax, qword [0x180286930]
test rax, rax
jne 0x180032b6a
mov byte [rbp - 0x50], al
mov dword [rbp - 0x5c], 0x138eabf4
mov dword [rbp - 0x58], 0xe87d704c
mov dword [rbp - 0x54], 0x8c958aa0
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 0xb
jae 0x180032ac4
movabs r15, 0xaaaaaaaaaaaaaaab
nop dword [rax + rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rbp + rax - 0x5b]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x203e1c2
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x5b], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 0xb
jb 0x180032a60
mov r15, 0xffffffffffffffff
mov byte [rbp - 0x50], 0
call fcn.1800017a0
mov edx, dword [r13]
mov rbx, rax
cmp dword [0x180286968], edx
jle 0x180032b0b
lea rcx, [0x180286968]
call fcn.180249e18
cmp dword [0x180286968], 0xffffffff
jne 0x180032b0b
mov rdx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [0x180286968]
mov qword [0x18028a9f8], rdx
call fcn.180249db8
mov eax, dword [r13]
cmp dword [0x18028a99c], eax
jle 0x180032b46
lea rcx, [0x18028a99c]
call fcn.180249e18
cmp dword [0x18028a99c], 0xffffffff
jne 0x180032b46
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x18028a99c]
mov qword [0x18028a9a0], rax
call fcn.180249db8
mov rax, qword [0x18028a9f8]
mov rcx, rbx
call rax
mov r8, qword [0x18028a9a0]
lea rdx, [rbp - 0x5b]
mov rcx, rax
call r8
mov qword [0x180286930], rax
mov rcx, qword [rbp + 0x330]
lea r8, [rbp - 0x10]
mov edx, 0x8004667e
call rax
test edi, edi
jne 0x180033992
xor eax, eax
mov qword [rbp + 0x60], rsi
mov byte [rsp + 0x3a], al
movabs r13, 0xaaaaaaaaaaaaaaab
mov qword [rbp + 0x68], 0xf
mov byte [rbp + 0x50], dil
mov word [rsp + 0x38], 0xcb0a
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 1
jae 0x180032c1d
nop
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x39]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0xb2411e4
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x39], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 1
jb 0x180032bc0
mov byte [rsp + 0x3a], 0
lea rax, [rsp + 0x39]
mov qword [rbp + 0x38], rsi
mov r8, r15
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], 0
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180032c40
lea rdx, [rsp + 0x39]
lea rcx, [rbp + 0x28]
call fcn.18023c100
mov rdx, qword [rbp + 0xe8]
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
test rdx, rdx
je 0x180032c93
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180032c80
lea rcx, [rbp + 0x28]
call fcn.18023c100
cmp qword [rbp + 0xf0], 0
je 0x180032d65
xor eax, eax
mov word [rsp + 0x3b], 0x1b38
mov byte [rsp + 0x3d], al
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 1
jae 0x180032d1f
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x3c]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0xcf75524
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x3c], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 1
jb 0x180032cc2
mov byte [rsp + 0x3d], 0
lea rax, [rsp + 0x3c]
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180032d30
lea rdx, [rsp + 0x3c]
lea rcx, [rbp + 8]
call fcn.18023c100
mov rdx, qword [rbp + 0xf0]
mov r8, r15
inc r8
cmp byte [rdx + r8], 0
jne 0x180032d52
lea rcx, [rbp + 8]
call fcn.18023c260
mov rdi, qword [rbp + 0xcc0]
test rdi, rdi
je 0x180033189
cmp byte [rdi], 0
mov ecx, esi
je 0x180033189
inc ecx
cmp byte [rcx + rdi], 0
jne 0x180032d80
test ecx, ecx
je 0x180033189
mov dword [rsp + 0x48], 0x74f087
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 2
jae 0x180032e0d
nop dword [rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x49]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x622372fd
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x49], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 2
jb 0x180032db0
xor eax, eax
mov byte [rsp + 0x4b], 0
mov byte [rbp - 0x77], al
mov dword [rsp + 0x7d], 0xe429e3d9
mov dword [rbp - 0x7f], 0x1a79fc0c
mov dword [rbp - 0x7b], 0x88083a3b
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 0xb
jae 0x180032e9e
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x7e]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x525e0ac3
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x7e], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 0xb
jb 0x180032e41
mov byte [rbp - 0x77], 0
mov dword [rsp + 0x58], 0x16c04c9d
mov word [rsp + 0x5c], 0x81
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 4
jae 0x180032f2d
nop word [rax + rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x59]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x574350b
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x59], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 4
jb 0x180032ed0
mov byte [rsp + 0x5d], 0
lea rax, [rsp + 0x59]
mov qword [rbp + 0x160], rsi
mov r8, r15
mov qword [rbp + 0x168], 0xf
mov byte [rbp + 0x150], 0
inc r8
cmp byte [rax + r8], 0
jne 0x180032f53
lea rdx, [rsp + 0x59]
lea rcx, [rbp + 0x150]
call fcn.18023c100
cmp qword [rbp + 0x40], 0x10
lea rdx, [rbp + 0x28]
mov r8, qword [rbp + 0x38]
lea rcx, [rbp + 0x150]
cmovae rdx, qword [rbp + 0x28]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x270]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x280], xmm0
mov rbx, rax
call fcn.18024af30
mov qword [rbx + 0x10], rsi
lea rdx, [rbp + 8]
mov qword [rbx + 0x18], 0xf
lea rcx, [rbp + 0x270]
mov byte [rbx], 0
cmp qword [rbp + 0x20], 0x10
mov r8, qword [rbp + 0x18]
cmovae rdx, qword [rbp + 8]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x310]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x320], xmm0
mov rbx, rax
call fcn.18024af30
lea rax, [rsp + 0x7e]
mov qword [rbx + 0x10], rsi
mov r8, r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
inc r8
cmp byte [rax + r8], 0
jne 0x180033016
lea rdx, [rsp + 0x7e]
lea rcx, [rbp + 0x310]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x250]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x260], xmm0
mov rbx, rax
call fcn.18024af30
mov r8, r15
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
inc r8
cmp byte [rdi + r8], 0
jne 0x180033066
mov rdx, rdi
lea rcx, [rbp + 0x250]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x230]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x240], xmm0
mov rbx, rax
call fcn.18024af30
lea rax, [rsp + 0x49]
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
inc r15
cmp byte [rax + r15], 0
jne 0x1800330b6
mov r8, r15
lea rdx, [rsp + 0x49]
lea rcx, [rbp + 0x230]
call fcn.18023c260
mov r8d, 0x20
mov qword [rbp + 0x90], rsi
mov rdx, rax
mov qword [rbp + 0x98], rsi
lea rcx, [rbp + 0x80]
mov rbx, rax
call fcn.18024af30
lea rcx, [rbp + 0x50]
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
call fcn.18023c0a0
mov r8d, 0x20
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x50]
call fcn.18024af30
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], 0
call fcn.18023c0a0
lea rcx, [rbp + 0x230]
call fcn.18023c0a0
lea rcx, [rbp + 0x250]
call fcn.18023c0a0
lea rcx, [rbp + 0x310]
call fcn.18023c0a0
lea rcx, [rbp + 0x270]
call fcn.18023c0a0
lea rcx, [rbp + 0x150]
jmp 0x180033646
movdqa xmm0, xmmword [0x18027af10]
movdqa xmm1, xmmword [0x18027ace0]
movdqu xmmword [rbp + 0x190], xmm0
mov dword [rbp + 0x220], 0x42c0b78f
movdqa xmm0, xmmword [0x18027b080]
movdqu xmmword [rbp + 0x1b0], xmm0
mov dword [rbp + 0x224], 0x54e0aa08
movdqa xmm0, xmmword [0x18027ae50]
movdqu xmmword [rbp + 0x1a0], xmm1
mov dword [rbp + 0x228], 0x8b061405
movdqa xmm1, xmmword [0x18027ac60]
movdqu xmmword [rbp + 0x1d0], xmm0
mov word [rbp + 0x22c], 0x49
movdqa xmm0, xmmword [0x18027af30]
movdqu xmmword [rbp + 0x1c0], xmm1
movdqa xmm1, xmmword [0x18027b260]
movdqu xmmword [rbp + 0x1f0], xmm0
movdqa xmm0, xmmword [0x18027b070]
movdqu xmmword [rbp + 0x1e0], xmm1
movdqa xmm1, xmmword [0x18027aea0]
movdqu xmmword [rbp + 0x210], xmm0
movdqu xmmword [rbp + 0x200], xmm1
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 0x9c
jae 0x1800332c5
nop word [rax + rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rbp + rax + 0x191]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x7ed219de
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x191], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 0x9c
jb 0x180033260
movdqa xmm0, xmmword [0x18027b380]
xor eax, eax
mov rdi, qword [rbp + 0xd8]
mov byte [rbp + 6], al
movdqu xmmword [rbp - 0xc], xmm0
mov byte [rbp + 0x22d], 0
mov word [rbp + 4], 0x27e
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 0x11
jae 0x18003335d
nop
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rbp + rax - 0xb]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x26225884
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0xb], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 0x11
jb 0x180033300
mov byte [rbp + 6], 0
mov dword [rsp + 0x5e], 0xec15e1
mov word [rsp + 0x62], 0x8a
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 4
jae 0x1800333ed
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x5f]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x3296c552
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x5f], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 4
jb 0x180033390
mov byte [rsp + 0x63], 0
lea rax, [rsp + 0x5f]
mov qword [rbp + 0x180], rsi
mov r8, r15
mov qword [rbp + 0x188], 0xf
mov byte [rbp + 0x170], 0
inc r8
cmp byte [rax + r8], 0
jne 0x180033413
lea rdx, [rsp + 0x5f]
lea rcx, [rbp + 0x170]
call fcn.18023c100
cmp qword [rbp + 0x40], 0x10
lea rdx, [rbp + 0x28]
mov r8, qword [rbp + 0x38]
lea rcx, [rbp + 0x170]
cmovae rdx, qword [rbp + 0x28]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x2f0]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x300], xmm0
mov rbx, rax
call fcn.18024af30
mov qword [rbx + 0x10], rsi
lea rdx, [rbp + 8]
mov qword [rbx + 0x18], 0xf
lea rcx, [rbp + 0x2f0]
mov byte [rbx], 0
cmp qword [rbp + 0x20], 0x10
mov r8, qword [rbp + 0x18]
cmovae rdx, qword [rbp + 8]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x2d0]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x2e0], xmm0
mov rbx, rax
call fcn.18024af30
lea rax, [rbp - 0xb]
mov qword [rbx + 0x10], rsi
mov r8, r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
inc r8
cmp byte [rax + r8], 0
jne 0x1800334d5
lea rdx, [rbp - 0xb]
lea rcx, [rbp + 0x2d0]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x2b0]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x2c0], xmm0
mov rbx, rax
call fcn.18024af30
mov r8, r15
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
inc r8
cmp byte [rdi + r8], 0
jne 0x180033524
mov rdx, rdi
lea rcx, [rbp + 0x2b0]
call fcn.18023c260
xorps xmm0, xmm0
lea rcx, [rbp + 0x290]
mov r8d, 0x20
mov rdx, rax
movdqu xmmword [rbp + 0x2a0], xmm0
mov rbx, rax
call fcn.18024af30
lea rax, [rbp + 0x191]
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
inc r15
cmp byte [rax + r15], 0
jne 0x180033576
mov r8, r15
lea rdx, [rbp + 0x191]
lea rcx, [rbp + 0x290]
call fcn.18023c260
mov r8d, 0x20
mov qword [rbp + 0xb0], rsi
mov rdx, rax
mov qword [rbp + 0xb8], rsi
lea rcx, [rbp + 0xa0]
mov rbx, rax
call fcn.18024af30
lea rcx, [rbp + 0x50]
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
call fcn.18023c0a0
mov r8d, 0x20
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x50]
call fcn.18024af30
lea rcx, [rbp + 0xa0]
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
call fcn.18023c0a0
lea rcx, [rbp + 0x290]
call fcn.18023c0a0
lea rcx, [rbp + 0x2b0]
call fcn.18023c0a0
lea rcx, [rbp + 0x2d0]
call fcn.18023c0a0
lea rcx, [rbp + 0x2f0]
call fcn.18023c0a0
lea rcx, [rbp + 0x170]
call fcn.18023c0a0
cmp qword [rbp + 0x68], 0x10
lea rdx, [rbp + 0x50]
mov r8d, dword [rbp + 0x60]
lea rcx, [rbp + 0x330]
cmovae rdx, qword [rbp + 0x50]
call fcn.180009110
mov dword [rbp - 0x28], 0x381
xorps xmm0, xmm0
mov dword [rbp + 0xcc8], 0x7f
xorps xmm1, xmm1
mov ecx, dword [rbp + 0xcc8]
mov eax, dword [rbp - 0x28]
add ecx, eax
mov dword [rbp + 0xcc8], ecx
lea rcx, [rbp + 0x100]
mov ebx, dword [rbp + 0xcc8]
mov edx, ebx
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0x108], rsi
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp + 0x120], xmm1
call fcn.18023a8f0
lea edx, [rbx + 1]
lea rcx, [rbp + 0x118]
call fcn.18023a8f0
mov rbx, qword [rbp + 0x100]
lea r12, [0x18027a397]
mov edi, esi
mov dword [rbp + 0x130], esi
mov byte [rbp + 0x134], 0
mov r15b, 1
mov byte [rbp + 0x148], 0
nop dword [rax]
mov edx, edi
lea rcx, [rbp + 0x330]
add rdx, rbx
mov r8d, 1
call fcn.180009470
lea ecx, [rax + 1]
cmp ecx, 1
jbe 0x180033831
mov r14, qword [rbp + 0x108]
add edi, eax
mov eax, edi
sub r14, rbx
cmp rax, r14
cmove edi, esi
mov dword [rbp + 0x130], edi
nop dword [rax]
mov dword [rsp + 0x4c], 0xd8a87a
mov qword [rbp + 0xcc8], rsi
mov rax, qword [rbp + 0xcc8]
cmp rax, 2
jae 0x1800337bd
nop dword [rax]
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rbp + 0xcc8]
movzx r8d, byte [rsp + rax + 0x4d]
mov rax, r13
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0xcc8]
shl dl, 3
sub cl, dl
mov edx, 0x65f801a5
sar edx, cl
xor dl, r8b
mov byte [rsp + rax + 0x4d], dl
mov rax, qword [rbp + 0xcc8]
inc rax
mov qword [rbp + 0xcc8], rax
mov rax, qword [rbp + 0xcc8]
cmp rax, 2
jb 0x180033760
mov edi, dword [rbp + 0x130]
mov r9d, esi
mov rbx, qword [rbp + 0x100]
mov byte [rsp + 0x4f], 0
lea ecx, [rdi + 2]
cmp rcx, r14
lea r10d, [rdi - 2]
cmovb r10d, edi
test r10d, r10d
je 0x180033828
nop word [rax + rax]
mov eax, esi
lea r8, [rsp + 0x4d]
nop word [rax + rax]
movzx ecx, byte [r8]
lea edx, [rax + r9]
cmp byte [rdx + rbx], cl
jne 0x180033820
cmp eax, 1
je 0x180033a5a
inc eax
inc r8
cmp eax, 2
jb 0x180033800
inc r9d
cmp r9d, r10d
jb 0x1800337f0
test r15b, r15b
jne 0x180033700
mov rbx, qword [rbp + 0xcb0]
lea rdx, [rbp + 0x870]
mov rax, qword [rbx]
mov qword [rbx + 8], rax
mov qword [rsp + 0x30], 0xbb
mov qword [rbp + 0xcc8], 0x345
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rbp + 0xcc8], rcx
lea rcx, [rbp + 0x330]
mov r8, qword [rbp + 0xcc8]
call fcn.180009470
test eax, eax
jle 0x1800338f7
nop word [rax + rax]
mov rdx, qword [rbx + 8]
lea r9, [rbp + 0x870]
mov eax, eax
lea r8, [rbp + 0x870]
add r9, rax
mov rcx, rbx
call fcn.180240710
mov qword [rsp + 0x30], 0xbb
lea rdx, [rbp + 0x870]
mov qword [rbp + 0xcc8], 0x345
mov rcx, qword [rbp + 0xcc8]
mov rax, qword [rsp + 0x30]
add rcx, rax
mov qword [rbp + 0xcc8], rcx
lea rcx, [rbp + 0x330]
mov r8, qword [rbp + 0xcc8]
call fcn.180009470
test eax, eax
jg 0x180033890
mov rcx, qword [rbp + 0x118]
test rcx, rcx
je 0x180033937
mov rdx, qword [rbp + 0x128]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180033932
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180033af7
call fcn.180249cb8
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x180033977
mov rdx, qword [rbp + 0x110]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180033972
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180033af7
call fcn.180249cb8
lea rcx, [rbp + 8]
call fcn.18023c0a0
lea rcx, [rbp + 0x28]
call fcn.18023c0a0
lea rcx, [rbp + 0x50]
call fcn.18023c0a0
mov rcx, qword [rbp + 0xc0]
call fcn.180249cb8
mov rcx, qword [rbp + 0xc8]
call fcn.180249cb8
mov rcx, qword [rbp + 0xd0]
call fcn.180249cb8
mov rcx, qword [rbp + 0xd8]
call fcn.180249cb8
mov rcx, qword [rbp + 0xe8]
call fcn.180249cb8
mov rcx, qword [rbp + 0xf0]
call fcn.180249cb8
mov rcx, qword [rbp + 0xf8]
call fcn.180249cb8
lea rcx, [rbp + 0x330]
call fcn.180009ea0
mov rcx, qword [rbp + 0x448]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x430]
test rcx, rcx
je 0x180033a3f
mov rdx, qword [rbp + 0x440]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x180033a3a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180033af1
call fcn.180249cb8
mov rbx, qword [rsp + 0xdb8]
add rsp, 0xd70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdi, qword [rbp + 0x118]
mov rdx, rbx
mov esi, r9d
mov ecx, r9d
test r9d, r9d
je 0x180033a91
mov r8, rdi
sub r8, rbx
nop word [rax + rax]
movzx eax, byte [rdx]
mov byte [r8 + rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x180033a80
test r14, r14
je 0x180033aa3
mov r8, r14
xor edx, edx
mov rcx, rbx
call fcn.18024b360
mov byte [rsi + rdi], 0
mov rdx, r12
movzx eax, byte [rdi]
xor esi, esi
mov dword [rbp + 0x130], esi
test al, al
jne 0x180033adb
xor cl, cl
sub rdi, r12
nop
movzx eax, cl
test cl, cl
je 0x180033adb
cmp byte [rdx], sil
je 0x180033adb
movzx eax, byte [rdi + rdx + 1]
inc rdx
movzx ecx, al
cmp al, byte [rdx]
je 0x180033ac0
movzx ecx, al
movzx eax, byte [rdx]
cmp ecx, eax
jne 0x180033740
xor r15b, r15b
jmp 0x180033740
call fcn.1802514a4
int3
call fcn.1802514a4
int3