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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbp
push rbx
lea rbp, [rsp - 0x488]
sub rsp, 0x588
cmp dword [rcx + 0x24], 0
mov rbx, rcx
je 0x14023e813
mov eax, 0x40000
add rsp, 0x588
pop rbx
pop rbp
ret
cmp byte [rcx + 0x40], 0
je 0x14023e828
mov eax, 0x50000
add rsp, 0x588
pop rbx
pop rbp
ret
mov qword [rsp + 0x578], r12
mov r12d, dword [rbp + 0x4c0]
mov qword [rsp + 0x568], r14
xor r14d, r14d
mov eax, r14d
mov dword [rsp + 0x48], eax
lea ecx, [r14 + 0xc]
cmp qword [rbx], rax
je 0x14023e85d
cmp r12d, 4
cmovne eax, ecx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x5a8], rsi
lea rcx, [rbp + 0x350]
mov qword [rsp + 0x580], rdi
mov r8d, 0x104
mov qword [rsp + 0x570], r13
mov qword [rsp + 0x560], r15
call fcn.14025996c
movzx ecx, byte [rbp + 0x350]
mov byte [rbp + 0x453], r14b
test cl, cl
je 0x14023f691
lea rax, [rbp + 0x350]
nop dword [rax]
cmp cl, 0x5c
jne 0x14023e8b8
mov byte [rax], 0x2f
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x14023e8b0
mov r15, 0xffffffffffffffff
cmp r12d, 4
jne 0x14023e905
lea rax, [rbp + 0x350]
mov rcx, r15
nop word [rax + rax]
cmp byte [rax + rcx + 1], r14b
lea rcx, [rcx + 1]
jne 0x14023e8e0
lea rax, [rbp + 0x350]
cmp byte [rcx + rax - 1], 0x2f
je 0x14023e905
mov byte [rbp + 0x4a0], 1
jmp 0x14023e9ad
mov byte [rbp + 0x4a0], r14b
mov r13d, 8
cmp r12d, 4
je 0x14023e9ad
lea rcx, [rbp + 0x350]
mov rax, r15
inc rax
cmp byte [rcx + rax], r14b
jne 0x14023e926
lea rdi, [rbp + 0x350]
add rdi, rax
lea rax, [rbp + 0x350]
cmp rdi, rax
jbe 0x14023e959
cmp byte [rdi], 0x2e
je 0x14023e959
dec rdi
lea rax, [rbp + 0x350]
cmp rdi, rax
ja 0x14023e945
lea rax, [rbp + 0x350]
cmp rdi, rax
jne 0x14023e96a
cmp byte [rdi], 0x2e
jne 0x14023e9b0
lea rax, [0x1402d70f4]
mov r14, rdi
sub rax, rdi
mov qword [rsp + 0x78], rax
nop dword [rax]
movsx ecx, byte [r14]
call fcn.140250480
mov esi, eax
mov rax, qword [rsp + 0x78]
movsx ecx, byte [rax + r14]
call fcn.140250480
cmp esi, eax
jne 0x14023ea38
test esi, esi
jne 0x14023ea3c
xor r14d, r14d
mov r13d, r14d
cmp r12d, 2
jne 0x14023eb18
mov rax, qword [rbp + 0x4b0]
mov qword [rbx + 0x98], r14
mov qword [rbx + 0xa8], r14
mov byte [rbx + 0xa0], 0
mov qword [rbx + 0x8c], 0
mov dword [rbx + 0x88], r14d
mov dword [rbx + 0xb8], r14d
test rax, rax
je 0x14023eba8
mov qword [rsp + 0x30], r14
lea r8d, [r12 - 1]
mov dword [rsp + 0x28], r14d
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
cmp rax, r15
jne 0x14023eaed
mov edi, 0x200
mov eax, edi
jmp 0x14023f696
jl 0x14023ea44
jg 0x14023ea44
inc r14
jmp 0x14023e980
lea rdx, str..zip
mov rcx, rdi
call fcn.140242a00
test eax, eax
je 0x14023e9aa
lea rdx, str..zoo
mov rcx, rdi
call fcn.140242a00
test eax, eax
je 0x14023e9aa
lea rdx, str..arc
mov rcx, rdi
call fcn.140242a00
test eax, eax
je 0x14023e9aa
lea rdx, str..lzh
mov rcx, rdi
call fcn.140242a00
test eax, eax
je 0x14023e9aa
lea rdx, str..arj
mov rcx, rdi
call fcn.140242a00
test eax, eax
je 0x14023e9aa
lea rdx, [0x1402d7120]
mov rcx, rdi
call fcn.140242a00
test eax, eax
je 0x14023e9aa
lea rdx, str..tgz
mov rcx, rdi
call fcn.140242a00
xor r14d, r14d
test eax, eax
jne 0x14023e9b0
jmp 0x14023e9ad
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call fcn.140242a80
mov edi, eax
test eax, eax
je 0x14023eb0c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14023eb36
mov byte [rbx + 0xa0], 1
jmp 0x14023ecb8
cmp r12d, 1
jne 0x14023eb45
mov r8d, dword [rbp + 0x4b8]
mov rcx, rbx
mov rdx, qword [rbp + 0x4b0]
call fcn.140242a80
mov edi, eax
test edi, edi
je 0x14023ecb8
mov eax, edi
jmp 0x14023f696
cmp r12d, 3
jne 0x14023ebb4
mov rax, qword [rbp + 0x4b0]
mov ecx, dword [rbp + 0x4b8]
mov qword [rbx + 0x98], r14
mov qword [rbx + 0xa8], rax
mov byte [rbx + 0xa0], 0
mov qword [rbx + 0x8c], 0
mov qword [rbx + 0xb4], 0
mov dword [rbx + 0xb0], ecx
test rax, rax
je 0x14023eba8
test ecx, ecx
je 0x14023eba8
mov dword [rbx + 0x70], 0x80000000
mov dword [rbx + 0x88], ecx
mov byte [rbx + 0x84], 1
jmp 0x14023ebfa
mov edi, 0x10000
mov eax, edi
jmp 0x14023f696
cmp r12d, 4
jne 0x14023f691
mov qword [rbx + 0x98], r14
mov qword [rbx + 0xa8], r14
mov byte [rbx + 0xa0], 0
mov qword [rbx + 0x8c], 0
mov dword [rbx + 0xb8], r14d
mov dword [rbx + 0x70], 0x41c00010
mov dword [rbx + 0x88], r14d
mov byte [rbx + 0x84], 0
lea rcx, [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x58]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rax, qword [rsp + 0x78]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x70]
mov qword [rbp - 0x70], rax
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movabs rcx, 0xfe624e212ac18000
movabs rax, 0xd6bf94d5e57a42bd
add rcx, qword [rsp + 0x78]
imul rcx
add rdx, rcx
movzx ecx, word [rbp - 0x80]
sub cx, 0x3c
sar rdx, 0x17
mov rax, rdx
shl cx, 4
shr rax, 0x3f
add rdx, rax
movzx eax, word [rbp - 0x7e]
and ax, 0xf
mov dword [rbx + 0x74], edx
or cx, ax
mov dword [rbx + 0x78], edx
movzx eax, word [rbp - 0x7a]
and eax, 0x1f
shl cx, 5
mov dword [rbx + 0x7c], edx
movzx edx, cx
movzx ecx, word [rbp - 0x76]
or edx, eax
movzx eax, word [rbp - 0x78]
and cx, 0x3f
shl ax, 6
or cx, ax
shl edx, 0x10
shl cx, 5
movzx eax, cx
or edx, eax
movzx eax, word [rbp - 0x74]
add ax, ax
and eax, 0x1f
or edx, eax
mov dword [rbx + 0x80], edx
mov r8d, 0x104
mov qword [rbp + 0x340], r14
lea rdx, [rbp + 0x350]
mov byte [rbp + 8], 0
lea rcx, [rbp + 0x128]
call fcn.140252220
lea rax, [rbp + 0x128]
mov byte [rbp + 0x22b], 0
nop word [rax + rax]
inc r15
cmp byte [rax + r15], 0
jne 0x14023ecf0
cmp byte [rbp + 0x4a0], 0
mov qword [rbp - 0x28], r15
je 0x14023ed29
lea rcx, [rbp + 0x128]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14023ed11
movzx eax, word [0x14029aff8]
mov word [rcx], ax
inc qword [rbp - 0x28]
cmp qword [rbx], 0
mov eax, dword [rbx + 0x80]
mov dword [rbp - 0x38], eax
mov eax, 8
mov byte [rbp + 0x22c], 0
mov qword [rbp + 0x120], r14
mov qword [rbp - 0x10], r14
lea edx, [rax + 1]
mov dword [rbp + 0x330], 1
mov dword [rbp + 0x338], r14d
mov word [rbp - 6], r14w
mov dword [rbp - 0x40], 0x140b17
mov dword [rbp - 0x34], r14d
mov word [rbp - 0x3c], ax
je 0x14023ed84
cmp r12d, 4
je 0x14023ed84
movzx eax, dx
mov word [rbp - 0x3c], dx
mov ecx, dword [rbx + 0x88]
mov word [rbp - 4], ax
mov word [rbp - 0x3a], r13w
test r13d, r13d
jne 0x14023eda7
test ecx, ecx
js 0x14023eda7
mov eax, dword [rsp + 0x48]
add eax, ecx
mov dword [rbp - 0x30], eax
jmp 0x14023edab
mov dword [rbp - 0x30], r14d
mov eax, dword [rbx + 0x70]
mov r8, rbx
mov dword [rbp], eax
mov eax, dword [rbx + 0x20]
add eax, dword [rbx + 0x28]
mov dword [rbp + 4], eax
lea rax, [rsp + 0x60]
mov qword [rbp + 0x110], rax
lea rax, [rbp - 0x68]
mov qword [rbp + 0x118], rax
movzx eax, byte [rbx + 0x78]
mov byte [rsp + 0x65], al
mov dword [rbp - 0x2c], ecx
mov ecx, dword [rbx + 0x74]
mov qword [rbp - 0x18], rdx
mov edx, dword [rbx + 0x78]
mov eax, edx
sar eax, 8
mov byte [rsp + 0x66], al
mov eax, edx
sar eax, 0x10
mov byte [rsp + 0x67], al
movzx eax, byte [rbx + 0x74]
mov byte [rsp + 0x69], al
mov eax, ecx
sar eax, 8
mov byte [rsp + 0x6a], al
mov eax, ecx
sar eax, 0x10
mov byte [rsp + 0x6b], al
movzx eax, byte [rbx + 0x7c]
sar ecx, 0x18
mov byte [rsp + 0x6d], al
mov byte [rsp + 0x6c], cl
mov ecx, dword [rbx + 0x7c]
mov eax, ecx
sar eax, 8
sar edx, 0x18
mov byte [rsp + 0x6e], al
mov eax, ecx
sar ecx, 0x18
mov dword [rsp + 0x60], 0xd5455
mov byte [rsp + 0x64], 7
movsd xmm0, qword [rsp + 0x60]
mov byte [rsp + 0x70], cl
lea rcx, [rbp - 0x40]
mov byte [rsp + 0x68], dl
sar eax, 0x10
mov byte [rbp - 0x60], dl
lea rdx, [0x140243fd0]
movsd qword [rbp - 0x68], xmm0
mov word [rbp - 8], r14w
mov qword [rbp - 0x20], reloc.COMCTL32.dll_InitCommonControls
mov byte [rsp + 0x6f], al
mov byte [rbp - 0x66], 5
call fcn.1402434b0
test eax, eax
je 0x14023ee99
mov rcx, rbx
call fcn.140242240
mov eax, 0x400
jmp 0x14023f696
mov ecx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x20]
add ecx, 0x1e
add ecx, eax
add dword [rbx + 0x28], ecx
cmp dword [rbx + 0x24], 0
je 0x14023eebd
mov rcx, rbx
call fcn.140242240
mov eax, dword [rbx + 0x24]
jmp 0x14023f696
mov dword [rbx + 0x44], 0x12345678
lea r9, [0x1402d69d0]
mov dword [rbx + 0x48], 0x23456789
mov dword [rbx + 0x4c], 0x34567890
mov r8, qword [rbx]
test r8, r8
je 0x14023ef2e
movzx eax, byte [r8]
test al, al
je 0x14023ef2e
mov edx, dword [rbx + 0x44]
xor rax, rdx
movzx ecx, al
shr edx, 8
mov eax, dword [r9 + rcx*4]
mov ecx, dword [rbx + 0x4c]
xor eax, edx
mov dword [rbx + 0x44], eax
movzx eax, al
add eax, dword [rbx + 0x48]
imul edx, eax, 0x8088405
movzx eax, cl
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
mov eax, dword [r9 + rdx*4]
xor eax, ecx
mov dword [rbx + 0x4c], eax
add r8, 1
jne 0x14023eee1
cmp byte [0x14037ef48], 0
jne 0x14023ef4f
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.140253eb8
mov rdi, r14
call fcn.140253e8c
sar eax, 7
mov byte [rsp + rdi + 0x50], al
inc rdi
cmp rdi, 0xc
jl 0x14023ef52
mov eax, dword [rbp - 0x38]
lea r12, [0x1402d69d0]
shr eax, 8
mov r15, r14
mov byte [rsp + 0x5b], al
nop dword [rax + rax]
movsx rsi, byte [rsp + r15 + 0x50]
mov edx, dword [rbx + 0x44]
mov rax, rsi
xor rax, rdx
mov r8d, dword [rbx + 0x4c]
movzx ecx, al
mov r11d, r8d
shr edx, 8
and r11d, 0xfffd
or r11d, 2
mov r10d, dword [r12 + rcx*4]
xor r10d, edx
movzx ecx, r8b
movzx eax, r10b
mov edx, r10d
add eax, dword [rbx + 0x48]
imul edi, eax, 0x8088405
shr r8d, 8
inc edi
mov eax, edi
shr rax, 0x18
xor rcx, rax
mov eax, r11d
xor eax, 1
imul eax, r11d
mov r9d, dword [r12 + rcx*4]
xor r9d, r8d
mov r11d, r9d
shr eax, 8
and r11d, 0xfffd
xor al, sil
or r11d, 2
movsx rsi, byte [rsp + r15 + 0x51]
mov byte [rsp + r15 + 0x50], al
mov rax, rsi
xor rax, rdx
shr edx, 8
movzx ecx, al
mov r10d, dword [r12 + rcx*4]
xor r10d, edx
movzx ecx, r9b
mov edx, r9d
shr edx, 8
movzx eax, r10b
add eax, edi
imul edi, eax, 0x8088405
inc edi
mov eax, edi
shr rax, 0x18
xor rcx, rax
mov eax, r11d
xor eax, 1
imul eax, r11d
movsx r11, byte [rsp + r15 + 0x52]
mov r8d, dword [r12 + rcx*4]
xor r8d, edx
mov edx, r10d
mov r9d, r8d
shr eax, 8
and r9d, 0xfffd
xor al, sil
or r9d, 2
mov byte [rsp + r15 + 0x51], al
mov rax, r11
xor rax, rdx
shr edx, 8
movzx ecx, al
mov r10d, dword [r12 + rcx*4]
xor r10d, edx
movzx ecx, r8b
movzx eax, r10b
add eax, edi
mov edx, r8d
imul esi, eax, 0x8088405
shr edx, 8
inc esi
mov eax, esi
shr rax, 0x18
xor rcx, rax
mov r14d, dword [r12 + rcx*4]
xor r14d, edx
mov eax, r9d
mov r8d, r14d
movsx r8, byte [rsp + r15 + 0x54]
xor eax, 1
imul eax, r9d
mov edx, r10d
mov ecx, edx
mov r9d, r14d
shr edx, 8
and r9d, 0xfffd
or r9d, 2
shr eax, 8
xor al, r11b
movsx r11, byte [rsp + r15 + 0x53]
mov byte [rsp + r15 + 0x52], al
xor rcx, r11
movzx eax, cl
mov ecx, dword [r12 + rax*4]
xor ecx, edx
movzx eax, cl
mov edi, ecx
add eax, esi
movzx ecx, r14b
imul r10d, eax, 0x8088405
shr r14d, 8
inc r10d
mov eax, r10d
shr rax, 0x18
xor rcx, rax
mov eax, r9d
xor eax, 1
imul eax, r9d
mov esi, dword [r12 + rcx*4]
mov ecx, edi
xor rcx, r8
shr edi, 8
xor esi, r14d
shr eax, 8
mov edx, esi
xor al, r11b
and edx, 0xfffd
mov byte [rsp + r15 + 0x53], al
or edx, 2
movzx eax, cl
mov ecx, dword [r12 + rax*4]
xor ecx, edi
movzx eax, cl
mov r9d, ecx
add eax, r10d
imul r10d, eax, 0x8088405
movzx eax, sil
shr esi, 8
inc r10d
mov ecx, r10d
shr rcx, 0x18
xor rcx, rax
mov eax, edx
xor eax, 1
imul eax, edx
mov r11d, dword [r12 + rcx*4]
mov ecx, r9d
xor r11d, esi
shr r9d, 8
mov edx, r11d
mov dword [rbx + 0x4c], r11d
shr eax, 8
and edx, 0xfffd
xor al, r8b
or edx, 2
movsx r8, byte [rsp + r15 + 0x55]
xor rcx, r8
mov byte [rsp + r15 + 0x54], al
movzx eax, cl
mov ecx, dword [r12 + rax*4]
xor ecx, r9d
movzx eax, cl
add eax, r10d
mov dword [rbx + 0x44], ecx
imul ecx, eax, 0x8088405
inc ecx
mov dword [rbx + 0x48], ecx
movzx eax, byte [rbx + 0x4b]
movzx ecx, r11b
xor rcx, rax
shr r11d, 8
mov eax, dword [r12 + rcx*4]
xor eax, r11d
mov dword [rbx + 0x4c], eax
mov eax, edx
xor eax, 1
imul eax, edx
shr eax, 8
xor al, r8b
mov byte [rsp + r15 + 0x55], al
add r15, 6
cmp r15, 0xc
jl 0x14023ef80
mov rax, qword [rbx]
mov r12d, dword [rbp + 0x4c0]
mov r15d, dword [rsp + 0x48]
test rax, rax
je 0x14023f22e
cmp r12d, 4
je 0x14023f22e
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.140243fe0
add dword [rbx + 0x28], 0xc
mov rax, qword [rbx]
xor edi, edi
test rax, rax
je 0x14023f23f
cmp r12d, 4
je 0x14023f23f
mov al, 1
jmp 0x14023f241
xor al, al
mov byte [rbx + 0x41], al
cmp r12d, 4
je 0x14023f2d2
cmp r13d, 8
jne 0x14023f264
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.1402422a0
mov edi, eax
jmp 0x14023f2d8
test r13d, r13d
jne 0x14023f2d8
mov r8d, 0x4000
lea rdx, [rbx + 0xbc]
mov rcx, rbx
xor r14d, r14d
call fcn.1402437c0
mov edi, eax
test eax, eax
je 0x14023f2c0
cmp edi, 0xffffffff
je 0x14023f2c0
mov r8d, edi
lea rdx, [rbx + 0xbc]
mov rcx, rbx
call fcn.140243fe0
cmp eax, edi
jne 0x14023f2cb
mov r8d, 0x4000
lea rdx, [rbx + 0xbc]
mov rcx, rbx
add r14d, edi
call fcn.1402437c0
mov edi, eax
test eax, eax
jne 0x14023f287
mov dword [rbx + 0xb8], r14d
xor edi, edi
jmp 0x14023f2d8
mov edi, 0x60000
jmp 0x14023f2d8
mov dword [rbx + 0xb8], edi
cmp byte [rbx + 0xa0], 0
mov byte [rbx + 0x41], 0
je 0x14023f2f7
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x14023f2f7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [rbx + 0xb8]
add dword [rbx + 0x28], ecx
mov eax, dword [rbx + 0x24]
mov edx, dword [rbx + 0x8c]
mov qword [rbx + 0x98], 0
mov dword [rbx + 0x88], edx
test eax, eax
jne 0x14023f696
test edi, edi
jne 0x14023ee8f
mov eax, dword [rbx + 0x90]
add ecx, r15d
cmp dword [rbp - 0x30], ecx
mov dword [rbp - 0x34], eax
sete r8b
mov dword [rbp - 0x30], ecx
mov dword [rbp - 0x2c], edx
cmp byte [rbx + 0x2c], dil
je 0x14023f3bc
cmp qword [rbx], 0
je 0x14023f355
cmp r12d, 4
jne 0x14023f3bc
movzx eax, word [rbp - 0x3c]
mov word [rbp - 0x3a], r13w
test al, 1
jne 0x14023f36e
mov ecx, 0xfff7
and ax, cx
mov word [rbp - 0x3c], ax
mov edx, dword [rbp + 4]
mov rcx, rbx
sub edx, dword [rbx + 0x20]
mov word [rbp - 4], ax
call fcn.140242c60
test al, al
je 0x14023f3b2
mov r8, rbx
lea rdx, [0x140243fd0]
lea rcx, [rbp - 0x40]
call fcn.1402434b0
test eax, eax
jne 0x14023ee8f
mov edx, dword [rbx + 0x28]
mov rcx, rbx
call fcn.140242c60
test al, al
jne 0x14023f59f
mov eax, 0x2000000
jmp 0x14023f696
cmp word [rbp - 0x3a], r13w
jne 0x14023f68a
test r13d, r13d
jne 0x14023f3d5
test r8b, r8b
je 0x14023f68a
mov r8d, 1
mov byte [rbp + 0x4a0], 0x50
lea rdx, [rbp + 0x4a0]
mov rcx, rbx
call fcn.140243fe0
mov r8d, 1
mov byte [rbp + 0x4a0], 0x4b
lea rdx, [rbp + 0x4a0]
mov rcx, rbx
call fcn.140243fe0
mov r8d, 1
mov byte [rsp + 0x40], 7
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140243fe0
mov r8d, 1
mov byte [rsp + 0x40], 8
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140243fe0
movzx eax, byte [rbp - 0x34]
lea rdx, [rsp + 0x41]
mov r8d, 1
mov byte [rsp + 0x41], al
mov rcx, rbx
call fcn.140243fe0
mov eax, dword [rbp - 0x34]
lea rdx, [rsp + 0x41]
shr eax, 8
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x41], al
call fcn.140243fe0
mov eax, dword [rbp - 0x34]
lea rdx, [rsp + 0x42]
shr eax, 0x10
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x42], al
call fcn.140243fe0
mov eax, dword [rbp - 0x34]
lea rdx, [rsp + 0x42]
shr eax, 0x18
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x42], al
call fcn.140243fe0
movzx eax, byte [rbp - 0x30]
lea rdx, [rsp + 0x43]
mov r8d, 1
mov byte [rsp + 0x43], al
mov rcx, rbx
call fcn.140243fe0
mov eax, dword [rbp - 0x30]
lea rdx, [rsp + 0x43]
shr eax, 8
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x43], al
call fcn.140243fe0
mov eax, dword [rbp - 0x30]
lea rdx, [rsp + 0x44]
shr eax, 0x10
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x44], al
call fcn.140243fe0
mov eax, dword [rbp - 0x30]
lea rdx, [rsp + 0x44]
shr eax, 0x18
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x44], al
call fcn.140243fe0
movzx eax, byte [rbp - 0x2c]
lea rdx, [rsp + 0x45]
mov r8d, 1
mov byte [rsp + 0x45], al
mov rcx, rbx
call fcn.140243fe0
mov eax, dword [rbp - 0x2c]
shr eax, 8
lea rdx, [rsp + 0x45]
mov r8d, 1
mov byte [rsp + 0x45], al
mov rcx, rbx
call fcn.140243fe0
mov eax, dword [rbp - 0x2c]
lea rdx, [rsp + 0x46]
shr eax, 0x10
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x46], al
call fcn.140243fe0
mov eax, dword [rbp - 0x2c]
lea rdx, [rsp + 0x46]
shr eax, 0x18
mov r8d, 1
mov rcx, rbx
mov byte [rsp + 0x46], al
call fcn.140243fe0
movzx eax, word [rbp - 4]
add dword [rbx + 0x28], 0x10
mov word [rbp - 0x3c], ax
mov eax, dword [rbx + 0x24]
test eax, eax
jne 0x14023f696
mov rcx, qword [rbp - 0x18]
call fcn.140247068
mov r8, qword [rbp - 0x18]
mov rcx, rax
mov rdx, qword [rbp + 0x118]
mov rdi, rax
call fcn.1402496a0
mov ecx, 0x388
mov qword [rbp + 0x118], rdi
call fcn.14018ef40
mov r8, rax
mov rcx, rax
lea rax, [rbp - 0x40]
mov edx, 7
nop dword [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 0x14023f5f0
mov rax, qword [rax]
mov qword [rcx], rax
mov rcx, qword [rbx + 0x60]
test rcx, rcx
jne 0x14023f65a
mov qword [rbx + 0x60], r8
xor eax, eax
jmp 0x14023f696
mov rax, qword [rcx + 0x380]
test rax, rax
je 0x14023f67f
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x380]
test rax, rax
jne 0x14023f670
mov qword [rcx + 0x380], r8
xor eax, eax
jmp 0x14023f696
mov eax, 0x4000000
jmp 0x14023f696
mov eax, 0x10000
mov rsi, qword [rsp + 0x5a8]
mov r13, qword [rsp + 0x570]
mov rdi, qword [rsp + 0x580]
mov r15, qword [rsp + 0x560]
mov r12, qword [rsp + 0x578]
mov r14, qword [rsp + 0x568]
add rsp, 0x588
pop rbx
pop rbp
ret