Function at 0x1800142f0
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg
Hash data with crc32

Disassembly:
push rbp
push rbx
push r15
lea rbp, [rsp - 0x590]
sub rsp, 0x690
mov rax, qword [0x18005d060]
xor rax, rsp
mov qword [rbp + 0x560], rax
cmp dword [rcx + 0x24], 0
mov rbx, rcx
mov r15d, dword [rbp + 0x5d0]
mov qword [rsp + 0x48], r8
je 0x180014334
mov eax, 0x40000
jmp 0x1800152fe
cmp byte [rcx + 0x40], 0
je 0x180014344
mov eax, 0x50000
jmp 0x1800152fe
mov qword [rsp + 0x688], rdi
xor edi, edi
mov eax, edi
mov dword [rsp + 0x50], eax
lea ecx, [rdi + 0xc]
cmp qword [rbx], rax
je 0x180014367
cmp r15d, 4
cmovne eax, ecx
mov dword [rsp + 0x50], eax
lea rcx, [rbp + 0x350]
sub rcx, rdx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx]
mov word [rcx + rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x180014380
movzx ecx, word [rbp + 0x350]
mov qword [rsp + 0x6b8], rsi
mov qword [rsp + 0x680], r12
mov qword [rsp + 0x678], r13
mov qword [rsp + 0x670], r14
test cx, cx
je 0x1800152d1
lea rax, [rbp + 0x350]
mov edx, 0x2f
nop dword [rax]
cmp cx, 0x5c
jne 0x1800143d9
mov word [rax], dx
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x1800143d0
mov rsi, 0xffffffffffffffff
lea r13d, [rsi + 9]
cmp r15d, 4
jne 0x18001441e
lea rcx, [rbp + 0x350]
mov rax, rsi
cmp word [rcx + rax*2 + 2], di
lea rax, [rax + 1]
jne 0x180014401
cmp word [rbp + rax*2 + 0x34e], dx
je 0x18001441e
mov r14b, 1
mov r12d, edi
jmp 0x180014499
xor r14b, r14b
cmp r15d, 4
je 0x1800145c2
lea rcx, [rbp + 0x350]
mov rax, rsi
cmp word [rcx + rax*2 + 2], di
lea rax, [rax + 1]
jne 0x180014435
lea rdi, [rbp + 0x350]
lea rdi, [rdi + rax*2]
lea rax, [rbp + 0x350]
cmp rdi, rax
jbe 0x18001447a
nop word [rax + rax]
cmp word [rdi], 0x2e
je 0x18001451d
sub rdi, 2
lea rax, [rbp + 0x350]
cmp rdi, rax
ja 0x180014460
lea rax, [rbp + 0x350]
cmp rdi, rax
jne 0x18001451d
cmp word [rdi], 0x2e
je 0x18001451d
mov r12d, r13d
xor edi, edi
cmp r15d, 2
jne 0x180014709
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0xa8], rdi
mov qword [rbx + 0xb8], rdi
mov byte [rbx + 0xb0], 0
mov qword [rbx + 0x9c], 0
mov dword [rbx + 0x98], edi
mov dword [rbx + 0xc8], edi
test rax, rax
je 0x180014767
mov qword [rsp + 0x30], rdi
lea r8d, [r15 - 1]
mov dword [rsp + 0x28], edi
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x48], rax
cmp rax, rsi
jne 0x1800145ca
mov edi, 0x200
mov eax, edi
jmp 0x1800152d6
lea rdx, [0x180053f3c]
mov rcx, rdi
call fcn.180027f04
test eax, eax
je 0x1800145c0
lea rdx, str..zip
mov rcx, rdi
call fcn.180027f04
test eax, eax
je 0x1800145c0
lea rdx, str..zoo
mov rcx, rdi
call fcn.180027f04
test eax, eax
je 0x1800145c0
lea rdx, str..arc
mov rcx, rdi
call fcn.180027f04
test eax, eax
je 0x1800145c0
lea rdx, str..lzh
mov rcx, rdi
call fcn.180027f04
test eax, eax
je 0x1800145c0
lea rdx, str..arj
mov rcx, rdi
call fcn.180027f04
test eax, eax
je 0x1800145c0
lea rdx, [0x180053f98]
mov rcx, rdi
call fcn.180027f04
test eax, eax
je 0x1800145c0
lea rdx, str..tgz
mov rcx, rdi
mov r12d, r13d
call fcn.180027f04
test eax, eax
jne 0x180014497
xor edi, edi
mov r12d, edi
jmp 0x180014499
mov rdx, rax
mov rcx, rbx
call fcn.180013c90
mov edi, eax
test eax, eax
je 0x1800145ed
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x1800152d6
mov byte [rbx + 0xb0], 1
xor edi, edi
mov qword [rsp + 0x38], rdi
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x30], rdi
lea r8, [rbp + 0x350]
mov dword [rsp + 0x28], 0x104
mov r9d, esi
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0x3a8
mov qword [rbp + 0x2e0], rdi
mov byte [rbp - 0x58], 0
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rax, [rbp + 0xc8]
nop dword [rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x180014640
mov qword [rsp + 0x78], rsi
test r14b, r14b
je 0x180014679
lea rcx, [rbp + 0xc8]
dec rcx
nop dword [rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180014660
movzx eax, word [0x180053fac]
mov word [rcx], ax
inc qword [rsp + 0x78]
cmp qword [rbx], 0
mov edx, 9
mov eax, dword [rbx + 0x90]
mov dword [rsp + 0x68], eax
mov byte [rbp + 0x1cc], 0
mov qword [rbp + 0xc0], rdi
mov qword [rbp - 0x70], rdi
mov dword [rbp + 0x2d0], 1
mov dword [rbp + 0x2d8], edi
mov word [rbp - 0x66], di
mov dword [rsp + 0x60], 0x140b17
mov dword [rsp + 0x6c], edi
mov word [rsp + 0x64], r13w
je 0x1800146d5
cmp r15d, 4
je 0x1800146d5
movzx r13d, dx
mov word [rsp + 0x64], dx
mov word [rbp - 0x64], r13w
mov word [rsp + 0x66], r12w
test r12d, r12d
jne 0x1800148b1
mov ecx, dword [rbx + 0x98]
test ecx, ecx
js 0x1800148b1
mov r13d, dword [rsp + 0x50]
lea eax, [rcx + r13]
mov dword [rsp + 0x70], eax
jmp 0x1800148c0
cmp r15d, 1
jne 0x18001472b
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.180013c90
mov edi, eax
test eax, eax
je 0x1800145f4
jmp 0x1800152d6
cmp r15d, 3
jne 0x180014773
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0xb8], rax
mov qword [rbx + 0xa8], rdi
mov byte [rbx + 0xb0], 0
mov qword [rbx + 0x9c], 0
mov qword [rbx + 0xc4], 0
mov dword [rbx + 0xc0], edi
mov edi, 0x10000
mov eax, edi
jmp 0x1800152d6
cmp r15d, 4
jne 0x1800152d1
lea rcx, [rbp + 0x300]
mov qword [rbx + 0xa8], rdi
mov qword [rbx + 0xb8], rdi
mov byte [rbx + 0xb0], 0
mov qword [rbx + 0x9c], 0
mov dword [rbx + 0xc8], edi
mov dword [rbx + 0x70], 0x41c00010
mov dword [rbx + 0x98], edi
mov byte [rbx + 0x94], 0
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x300]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x2f0]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [rbp + 0x2f2]
movabs rcx, 0xfe624e212ac18000
add rcx, qword [rsp + 0x48]
and ax, 0xf
movzx r9d, word [rbp + 0x2f0]
movzx r8d, word [rbp + 0x2fa]
sub r9w, 0x3c
shl r9w, 4
and r8w, 0x3f
or r9w, ax
movzx eax, word [rbp + 0x2f6]
and ax, 0x1f
shl r9w, 5
or r9w, ax
movzx eax, word [rbp + 0x2f8]
shl ax, 6
or r8w, ax
movzx eax, word [rbp + 0x2fc]
add ax, ax
shl r8w, 5
and ax, 0x1f
or r8w, ax
movabs rax, 0xd6bf94d5e57a42bd
imul rcx
add rdx, rcx
movzx ecx, r9w
sar rdx, 0x17
mov rax, rdx
shl ecx, 0x10
shr rax, 0x3f
add rdx, rax
movzx eax, r8w
or ecx, eax
mov qword [rbx + 0x78], rdx
mov dword [rbx + 0x90], ecx
mov qword [rbx + 0x80], rdx
mov qword [rbx + 0x88], rdx
jmp 0x1800145f6
mov ecx, dword [rbx + 0x98]
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x70], edi
mov eax, dword [rbx + 0x70]
mov r8, rbx
mov dword [rbp - 0x60], eax
mov eax, dword [rbx + 0x28]
add eax, dword [rbx + 0x20]
mov dword [rbp - 0x5c], eax
lea rax, [rbp + 0x320]
mov qword [rbp + 0xb0], rax
lea rax, [rbp + 0x338]
mov qword [rbp + 0xb8], rax
movzx eax, byte [rbx + 0x80]
mov byte [rbp + 0x325], al
mov dword [rsp + 0x74], ecx
mov rcx, qword [rbx + 0x78]
mov qword [rbp - 0x78], rdx
mov rdx, qword [rbx + 0x80]
mov rax, rdx
mov dword [rbp + 0x320], 0xd5455
sar rax, 8
mov byte [rbp + 0x326], al
mov rax, rdx
sar rax, 0x10
mov byte [rbp + 0x327], al
movzx eax, byte [rbx + 0x78]
mov byte [rbp + 0x329], al
mov rax, rcx
sar rax, 8
mov byte [rbp + 0x32a], al
mov rax, rcx
sar rax, 0x10
mov byte [rbp + 0x32b], al
movzx eax, byte [rbx + 0x88]
sar rcx, 0x18
mov byte [rbp + 0x32d], al
mov byte [rbp + 0x32c], cl
mov rcx, qword [rbx + 0x88]
mov rax, rcx
sar rdx, 0x18
sar rax, 8
mov byte [rbp + 0x32e], al
mov rax, rcx
sar rcx, 0x18
mov byte [rbp + 0x324], 7
movsd xmm0, qword [rbp + 0x320]
mov byte [rbp + 0x330], cl
lea rcx, [rsp + 0x60]
sar rax, 0x10
movsd qword [rbp + 0x338], xmm0
mov word [rbp - 0x68], di
mov qword [rbp - 0x80], setsockopt
mov byte [rbp + 0x328], dl
mov byte [rbp + 0x32f], al
mov byte [rbp + 0x340], dl
mov byte [rbp + 0x33a], 5
call fcn.180012b80
test eax, eax
je 0x180014a18
cmp byte [rbx + 0xb0], 0
je 0x1800149fb
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x1800149fb
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 0x9c]
mov dword [rbx + 0x98], eax
mov qword [rbx + 0xa8], rdi
mov eax, 0x400
jmp 0x1800152d6
mov eax, dword [rbp - 0x80]
mov ecx, dword [rsp + 0x78]
add eax, 0x1e
add ecx, eax
mov eax, dword [rbx + 0x24]
add dword [rbx + 0x28], ecx
test eax, eax
je 0x180014a64
cmp byte [rbx + 0xb0], 0
je 0x180014a4c
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x180014a4c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x9c]
mov dword [rbx + 0x98], ecx
mov qword [rbx + 0xa8], rdi
jmp 0x1800152d6
mov dword [rbx + 0x44], 0x12345678
lea rsi, [0x180053200]
mov dword [rbx + 0x48], 0x23456789
mov dword [rbx + 0x4c], 0x34567890
mov r8, qword [rbx]
test r8, r8
je 0x180014ad1
movzx eax, byte [r8]
test al, al
je 0x180014ad1
mov edx, dword [rbx + 0x44]
xor rax, rdx
movzx ecx, al
shr edx, 8
xor edx, dword [rsi + rcx*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
mov dword [rbx + 0x44], edx
mov edx, dword [rbx + 0x4c]
inc eax
mov ecx, eax
shr rcx, 0x18
mov dword [rbx + 0x48], eax
movzx eax, dl
xor rcx, rax
shr edx, 8
xor edx, dword [rsi + rcx*4]
mov dword [rbx + 0x4c], edx
add r8, 1
jne 0x180014a88
cmp byte [0x1800603f4], 0
jne 0x180014af4
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor edi, eax
mov ecx, edi
call fcn.18002751c
xor edi, edi
call fcn.1800274f0
sar eax, 7
mov byte [rbp + rdi + 0x310], al
inc rdi
cmp rdi, 0xc
jl 0x180014af4
mov eax, dword [rsp + 0x68]
shr eax, 8
mov byte [rbp + 0x31b], al
xor edi, edi
nop dword [rax + rax]
mov r8d, dword [rbx + 0x4c]
mov edx, dword [rbx + 0x44]
mov r11d, r8d
movsx r9, byte [rbp + rdi + 0x310]
and r8d, 0xfffd
or r8d, 2
mov rax, r9
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [rsi + rcx*4]
mov r10d, edx
movzx eax, dl
add eax, dword [rbx + 0x48]
movsx rdx, byte [rbp + rdi + 0x311]
imul eax, eax, 0x8088405
inc eax
mov dword [rbx + 0x48], eax
mov ecx, eax
shr rcx, 0x18
movzx eax, r11b
xor rcx, rax
shr r11d, 8
mov eax, r8d
xor eax, 1
imul eax, r8d
xor r11d, dword [rsi + rcx*4]
movsx r8, byte [rbp + rdi + 0x312]
mov dword [rbx + 0x4c], r11d
and r11d, 0xfffd
or r11d, 2
shr eax, 8
xor al, r9b
mov byte [rbp + rdi + 0x310], al
mov rax, rdx
xor rax, r10
shr r10d, 8
movzx ecx, al
xor r10d, dword [rsi + rcx*4]
mov dword [rbx + 0x44], r10d
movzx eax, r10b
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
inc eax
mov dword [rbx + 0x48], eax
mov r9d, dword [rbx + 0x4c]
mov ecx, eax
movzx eax, r9b
shr rcx, 0x18
xor rcx, rax
shr r9d, 8
mov eax, r11d
xor eax, 1
imul eax, r11d
xor r9d, dword [rsi + rcx*4]
mov dword [rbx + 0x4c], r9d
and r9d, 0xfffd
or r9d, 2
shr eax, 8
xor al, dl
mov edx, dword [rbx + 0x44]
mov byte [rbp + rdi + 0x311], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [rsi + rcx*4]
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
inc eax
mov dword [rbx + 0x48], eax
mov r10d, dword [rbx + 0x4c]
mov ecx, eax
movzx eax, r10b
shr rcx, 0x18
xor rcx, rax
shr r10d, 8
xor r10d, dword [rsi + rcx*4]
mov dword [rbx + 0x4c], r10d
mov edx, dword [rbx + 0x44]
mov eax, r9d
xor eax, 1
and r10d, 0xfffd
imul eax, r9d
or r10d, 2
shr eax, 8
xor al, r8b
movsx r8, byte [rbp + rdi + 0x313]
mov byte [rbp + rdi + 0x312], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [rsi + rcx*4]
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
inc eax
mov dword [rbx + 0x48], eax
mov r11d, dword [rbx + 0x4c]
mov ecx, eax
shr rcx, 0x18
movzx eax, r11b
xor rcx, rax
shr r11d, 8
mov eax, r10d
xor eax, 1
imul eax, r10d
xor r11d, dword [rsi + rcx*4]
mov dword [rbx + 0x4c], r11d
and r11d, 0xfffd
mov edx, dword [rbx + 0x44]
or r11d, 2
shr eax, 8
xor al, r8b
movsx r8, byte [rbp + rdi + 0x314]
mov byte [rbp + rdi + 0x313], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [rsi + rcx*4]
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
inc eax
mov dword [rbx + 0x48], eax
mov r9d, dword [rbx + 0x4c]
mov ecx, eax
movzx eax, r9b
shr rcx, 0x18
xor rcx, rax
shr r9d, 8
mov eax, r11d
xor eax, 1
imul eax, r11d
xor r9d, dword [rsi + rcx*4]
mov dword [rbx + 0x4c], r9d
and r9d, 0xfffd
mov edx, dword [rbx + 0x44]
or r9d, 2
shr eax, 8
xor al, r8b
movsx r8, byte [rbp + rdi + 0x315]
mov byte [rbp + rdi + 0x314], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [rsi + rcx*4]
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
inc eax
mov dword [rbx + 0x48], eax
mov edx, dword [rbx + 0x4c]
mov ecx, eax
movzx eax, dl
shr rcx, 0x18
xor rcx, rax
shr edx, 8
mov eax, r9d
xor eax, 1
imul eax, r9d
xor edx, dword [rsi + rcx*4]
mov dword [rbx + 0x4c], edx
shr eax, 8
xor al, r8b
mov byte [rbp + rdi + 0x315], al
add rdi, 6
cmp rdi, 0xc
jl 0x180014b20
mov rax, qword [rbx]
test rax, rax
je 0x180014dea
cmp r15d, 4
je 0x180014dea
mov r8d, recv
lea rdx, [rbp + 0x310]
mov rcx, rbx
call fcn.180013ae0
add dword [rbx + 0x28], 0xc
mov rax, qword [rbx]
xor edi, edi
test rax, rax
je 0x180014dfd
cmp r15d, 4
je 0x180014dfd
mov byte [rbx + 0x41], 1
jmp 0x180014e0b
mov byte [rbx + 0x41], dil
cmp r15d, 4
je 0x180014e90
cmp r12d, 8
jne 0x180014e22
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.180013f80
mov edi, eax
jmp 0x180014e96
test r12d, r12d
jne 0x180014e96
mov r8d, 0x4000
lea rdx, [rbx + 0xcc]
mov rcx, rbx
xor r14d, r14d
call fcn.180013ea0
mov edi, eax
test eax, eax
je 0x180014e7e
cmp edi, 0xffffffff
je 0x180014e7e
mov r8d, edi
lea rdx, [rbx + 0xcc]
mov rcx, rbx
call fcn.180013ae0
cmp eax, edi
jne 0x180014e89
mov r8d, 0x4000
lea rdx, [rbx + 0xcc]
mov rcx, rbx
add r14d, edi
call fcn.180013ea0
mov edi, eax
test eax, eax
jne 0x180014e45
mov dword [rbx + 0xc8], r14d
xor edi, edi
jmp 0x180014e96
mov edi, 0x60000
jmp 0x180014e96
mov dword [rbx + 0xc8], edi
cmp byte [rbx + 0xb0], 0
mov byte [rbx + 0x41], 0
je 0x180014eb5
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x180014eb5
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [rbx + 0xc8]
add dword [rbx + 0x28], ecx
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x9c]
mov qword [rbx + 0xa8], 0
mov dword [rbx + 0x98], edx
test eax, eax
jne 0x1800152d6
test edi, edi
jne 0x180014a0e
mov eax, dword [rbx + 0xa0]
add ecx, r13d
cmp dword [rsp + 0x70], ecx
mov dword [rsp + 0x6c], eax
sete r8b
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x74], edx
cmp byte [rbx + 0x2c], dil
je 0x180014ff7
cmp qword [rbx], 0
je 0x180014f1f
cmp r15d, 4
jne 0x180014ff7
movzx eax, word [rsp + 0x64]
mov word [rsp + 0x66], r12w
test al, 1
jne 0x180014f3b
mov ecx, 0xfff7
and ax, cx
mov word [rsp + 0x64], ax
mov edx, dword [rbx + 0x20]
mov word [rbp - 0x64], ax
mov eax, dword [rbp - 0x5c]
sub eax, edx
cmp qword [rbx + 0x30], 0
je 0x180014f6a
cmp eax, dword [rbx + 0x3c]
jb 0x180014f65
mov eax, 0x30000
mov dword [rbx + 0x24], eax
mov eax, 0x2000000
jmp 0x1800152d6
mov dword [rbx + 0x38], eax
jmp 0x180014f81
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180014fe5
add edx, eax
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.180012b80
test eax, eax
jne 0x180014a0e
mov ecx, dword [rbx + 0x28]
cmp byte [rbx + 0x2c], al
jne 0x180014faf
mov dword [rbx + 0x24], 0x2000000
mov eax, 0x2000000
jmp 0x1800152d6
cmp qword [rbx + 0x30], 0
je 0x180014fc3
cmp ecx, dword [rbx + 0x3c]
jae 0x180014f53
mov dword [rbx + 0x38], ecx
jmp 0x1800151e0
mov r10, qword [rbx + 8]
test r10, r10
je 0x180014fe5
mov edx, dword [rbx + 0x20]
xor r9d, r9d
add edx, ecx
xor r8d, r8d
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x1800151e0
mov eax, 0x1000000
mov dword [rbx + 0x24], eax
mov eax, 0x2000000
jmp 0x1800152d6
cmp word [rsp + 0x66], r12w
jne 0x1800152ca
test r12d, r12d
jne 0x180015011
test r8b, r8b
je 0x1800152ca
mov r8d, 1
mov byte [rsp + 0x40], 0x50
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.180013ae0
mov r8d, 1
mov byte [rsp + 0x40], 0x4b
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.180013ae0
mov r8d, 1
mov byte [rsp + 0x41], 7
lea rdx, [rsp + 0x41]
mov rcx, rbx
call fcn.180013ae0
mov r8d, 1
mov byte [rsp + 0x41], 8
lea rdx, [rsp + 0x41]
mov rcx, rbx
call fcn.180013ae0
movzx eax, byte [rsp + 0x6c]
lea rdx, [rsp + 0x42]
mov r8d, 1
mov byte [rsp + 0x42], al
mov rcx, rbx
call fcn.180013ae0
mov eax, dword [rsp + 0x6c]
lea rdx, [rsp + 0x42]
shr eax, 8
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x42], al
call fcn.180013ae0
mov eax, dword [rsp + 0x6c]
lea rdx, [rsp + 0x43]
shr eax, 0x10
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x43], al
call fcn.180013ae0
mov eax, dword [rsp + 0x6c]
lea rdx, [rsp + 0x43]
shr eax, 0x18
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x43], al
call fcn.180013ae0
movzx eax, byte [rsp + 0x70]
lea rdx, [rsp + 0x44]
mov r8d, 1
mov byte [rsp + 0x44], al
mov rcx, rbx
call fcn.180013ae0
mov eax, dword [rsp + 0x70]
lea rdx, [rsp + 0x44]
shr eax, 8
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x44], al
call fcn.180013ae0
mov eax, dword [rsp + 0x70]
lea rdx, [rsp + 0x45]
shr eax, 0x10
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x45], al
call fcn.180013ae0
mov eax, dword [rsp + 0x70]
lea rdx, [rsp + 0x45]
shr eax, 0x18
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x45], al
call fcn.180013ae0
movzx eax, byte [rsp + 0x74]
lea rdx, [rsp + 0x46]
mov r8d, 1
mov byte [rsp + 0x46], al
mov rcx, rbx
call fcn.180013ae0
mov eax, dword [rsp + 0x74]
shr eax, 8
lea rdx, [rsp + 0x46]
mov r8d, 1
mov byte [rsp + 0x46], al
mov rcx, rbx
call fcn.180013ae0
mov eax, dword [rsp + 0x74]
lea rdx, [rsp + 0x47]
shr eax, 0x10
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x47], al
call fcn.180013ae0
mov eax, dword [rsp + 0x74]
lea rdx, [rsp + 0x47]
shr eax, 0x18
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x47], al
call fcn.180013ae0
movzx eax, word [rbp - 0x64]
add dword [rbx + 0x28], 0x10
mov word [rsp + 0x64], ax
mov eax, dword [rbx + 0x24]
test eax, eax
jne 0x1800152d6
mov rcx, qword [rbp - 0x78]
call fcn.18001de28
mov r8, qword [rbp - 0x78]
mov rcx, rax
mov rdx, qword [rbp + 0xb8]
mov rdi, rax
call fcn.18001fe80
mov ecx, 0x388
mov qword [rbp + 0xb8], rdi
call fcn.18001ddec
mov r8, rax
mov rcx, rax
lea rax, [rsp + 0x60]
mov edx, 7
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180015230
mov rax, qword [rax]
mov qword [rcx], rax
mov rcx, qword [rbx + 0x60]
test rcx, rcx
jne 0x18001529a
mov qword [rbx + 0x60], r8
xor eax, eax
jmp 0x1800152d6
mov rax, qword [rcx + 0x380]
test rax, rax
je 0x1800152bf
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x380]
test rax, rax
jne 0x1800152b0
mov qword [rcx + 0x380], r8
xor eax, eax
jmp 0x1800152d6
mov eax, 0x4000000
jmp 0x1800152d6
mov eax, 0x10000
mov r13, qword [rsp + 0x678]
mov r12, qword [rsp + 0x680]
mov rsi, qword [rsp + 0x6b8]
mov r14, qword [rsp + 0x670]
mov rdi, qword [rsp + 0x688]
mov rcx, qword [rbp + 0x560]
xor rcx, rsp
call fcn.18001d7b0
add rsp, 0x690
pop r15
pop rbx
pop rbp
ret