Function at 0x140008760
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg
Hash data with crc32
Read file on windows
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push r12
lea rbp, [rsp - 0x5c8]
sub rsp, 0x6c8
mov rax, qword [0x140017008]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
cmp dword [rcx + 0x24], 0
mov r12d, r9d
mov rsi, r8
mov rbx, rcx
je 0x14000879f
mov eax, 0x40000
jmp 0x14000a6d6
cmp byte [rcx + 0x40], 0
je 0x1400087af
mov eax, 0x50000
jmp 0x14000a6d6
mov qword [rsp + 0x708], rdi
xor edi, edi
mov eax, edi
mov qword [rsp + 0x6b0], r15
mov r15d, dword [rbp + 0x610]
mov dword [rsp + 0x48], eax
lea ecx, [rdi + 0xc]
cmp qword [rbx], rax
je 0x1400087e1
cmp r15d, 4
cmovne eax, ecx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x6c0], r13
lea rcx, [rbp + 0x390]
mov r8d, 0x104
mov qword [rsp + 0x6b8], r14
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
movzx ecx, word [rbp + 0x390]
mov word [rbp + 0x596], di
test cx, cx
je 0x14000a6b1
lea rax, [rbp + 0x390]
mov edx, 0x2f
cmp cx, 0x5c
jne 0x140008830
mov word [rax], dx
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x140008827
mov rdi, 0xffffffffffffffff
lea r14d, [rdi + 9]
cmp r15d, 4
jne 0x140008882
lea rcx, [rbp + 0x390]
mov rax, rdi
nop dword [rax + rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140008860
cmp word [rbp + rax*2 + 0x38e], dx
je 0x140008882
xor eax, eax
mov byte [rsp + 0x40], 1
mov r13d, eax
jmp 0x1400088a9
mov byte [rsp + 0x40], 0
mov r13d, r14d
cmp r15d, 4
je 0x1400088a0
lea rcx, [rbp + 0x390]
call fcn.14000aee0
test al, al
je 0x1400088a7
xor eax, eax
mov r13d, eax
jmp 0x1400088a9
xor eax, eax
cmp r15d, 2
jne 0x140008a56
mov qword [rbx + 0x98], rax
mov qword [rbx + 0xa8], rax
mov byte [rbx + 0xa0], 0
mov qword [rbx + 0x8c], 0
mov dword [rbx + 0x88], eax
mov dword [rbx + 0xb8], eax
test rsi, rsi
je 0x140008bbc
mov qword [rsp + 0x30], rax
lea r8d, [r15 - 1]
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, rdi
jne 0x140008922
mov esi, 0x200
mov eax, esi
jmp 0x14000a6b6
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call fcn.14000da30
mov esi, eax
test eax, eax
je 0x140008946
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
jmp 0x14000a6b6
mov byte [rbx + 0xa0], 1
xor r12d, r12d
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x108]
mov qword [rsp + 0x30], r12
lea r8, [rbp + 0x390]
mov dword [rsp + 0x28], 0x104
mov r9d, edi
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
mov qword [rbp + 0x320], r12
mov byte [rbp - 0x18], 0
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rax, [rbp + 0x108]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140008997
cmp byte [rsp + 0x40], 0
mov qword [rbp - 0x48], rdi
je 0x1400089cd
lea rcx, [rbp + 0x108]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x1400089b5
movzx eax, word [0x1400125b4]
mov word [rcx], ax
inc qword [rbp - 0x48]
cmp qword [rbx], 0
mov edx, 9
mov eax, dword [rbx + 0x80]
mov dword [rbp - 0x58], eax
mov byte [rbp + 0x20c], 0
mov qword [rbp + 0x100], r12
mov qword [rbp - 0x30], r12
mov dword [rbp + 0x310], 1
mov dword [rbp + 0x318], r12d
mov word [rbp - 0x26], r12w
mov dword [rbp - 0x60], 0x140b17
mov dword [rbp - 0x54], r12d
mov word [rbp - 0x5c], r14w
je 0x140008a27
cmp r15d, 4
je 0x140008a27
movzx r14d, dx
mov word [rbp - 0x5c], dx
mov word [rbp - 0x24], r14w
mov word [rbp - 0x5a], r13w
test r13d, r13d
jne 0x140008ced
mov ecx, dword [rbx + 0x88]
test ecx, ecx
js 0x140008ced
mov eax, dword [rsp + 0x48]
add eax, ecx
mov dword [rbp - 0x50], eax
jmp 0x140008cf7
cmp r15d, 1
jne 0x140008a79
mov r8d, r12d
mov rdx, rsi
mov rcx, rbx
call fcn.14000da30
mov esi, eax
test eax, eax
je 0x14000894d
jmp 0x14000a6b6
cmp r15d, 3
jne 0x140008bc8
mov qword [rbx + 0x98], rax
mov qword [rbx + 0xa8], rsi
mov byte [rbx + 0xa0], 0
mov qword [rbx + 0x8c], 0
mov qword [rbx + 0xb4], 0
mov dword [rbx + 0xb0], r12d
test rsi, rsi
je 0x140008bbc
test r12d, r12d
je 0x140008bbc
lea rcx, [rbp + 0x340]
mov dword [rbx + 0x70], 0x80000000
mov dword [rbx + 0x88], r12d
mov byte [rbx + 0x84], 1
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rax, qword [rsp + 0x50]
lea rdx, [rbp + 0x330]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movabs rcx, 0xfe624e212ac18000
movabs rax, 0xd6bf94d5e57a42bd
add rcx, qword [rsp + 0x50]
imul rcx
add rdx, rcx
movzx ecx, word [rbp + 0x330]
sub cx, 0x3c
sar rdx, 0x17
mov rax, rdx
shl cx, 4
shr rax, 0x3f
add rdx, rax
movzx eax, word [rbp + 0x332]
and ax, 0xf
mov dword [rbx + 0x74], edx
or cx, ax
mov dword [rbx + 0x78], edx
movzx eax, word [rbp + 0x336]
and eax, 0x1f
shl cx, 5
mov dword [rbx + 0x7c], edx
movzx edx, cx
movzx ecx, word [rbp + 0x33a]
or edx, eax
movzx eax, word [rbp + 0x338]
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 + 0x33c]
add ax, ax
and eax, 0x1f
or edx, eax
mov dword [rbx + 0x80], edx
jmp 0x14000894d
mov esi, 0x10000
mov eax, esi
jmp 0x14000a6b6
cmp r15d, 4
jne 0x14000a6b1
xor r12d, r12d
mov dword [rbx + 0x70], 0x41c00010
lea rcx, [rbp + 0x340]
mov qword [rbx + 0x98], r12
mov qword [rbx + 0xa8], r12
mov byte [rbx + 0xa0], r12b
mov qword [rbx + 0x8c], r12
mov dword [rbx + 0xb8], r12d
mov dword [rbx + 0x88], r12d
mov byte [rbx + 0x84], r12b
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x340]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rax, qword [rsp + 0x50]
lea rdx, [rbp + 0x330]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movabs rcx, 0xfe624e212ac18000
movabs rax, 0xd6bf94d5e57a42bd
add rcx, qword [rsp + 0x50]
imul rcx
add rdx, rcx
movzx ecx, word [rbp + 0x330]
sub cx, 0x3c
sar rdx, 0x17
mov rax, rdx
shl cx, 4
shr rax, 0x3f
add rdx, rax
movzx eax, word [rbp + 0x332]
and ax, 0xf
mov dword [rbx + 0x74], edx
or cx, ax
mov dword [rbx + 0x78], edx
movzx eax, word [rbp + 0x336]
and eax, 0x1f
shl cx, 5
mov dword [rbx + 0x7c], edx
movzx edx, cx
movzx ecx, word [rbp + 0x33a]
or edx, eax
movzx eax, word [rbp + 0x338]
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 + 0x33c]
add ax, ax
and eax, 0x1f
or edx, eax
mov dword [rbx + 0x80], edx
jmp 0x140008950
mov ecx, dword [rbx + 0x88]
mov dword [rbp - 0x50], r12d
mov eax, dword [rbx + 0x70]
mov r8, rbx
mov dword [rbp - 0x20], eax
mov eax, dword [rbx + 0x28]
add eax, dword [rbx + 0x20]
mov dword [rbp - 0x1c], eax
lea rax, [rbp + 0x360]
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0x378]
mov qword [rbp + 0xf8], rax
movzx eax, byte [rbx + 0x78]
mov byte [rbp + 0x365], al
mov dword [rbp - 0x4c], ecx
mov ecx, dword [rbx + 0x74]
mov qword [rbp - 0x38], rdx
mov edx, dword [rbx + 0x78]
mov eax, edx
sar eax, 8
mov byte [rbp + 0x366], al
mov eax, edx
sar eax, 0x10
mov byte [rbp + 0x367], al
movzx eax, byte [rbx + 0x74]
mov byte [rbp + 0x369], al
mov eax, ecx
sar eax, 8
mov byte [rbp + 0x36a], al
mov eax, ecx
sar eax, 0x10
mov byte [rbp + 0x36b], al
movzx eax, byte [rbx + 0x7c]
sar ecx, 0x18
mov byte [rbp + 0x36d], al
mov byte [rbp + 0x36c], cl
mov ecx, dword [rbx + 0x7c]
mov eax, ecx
sar eax, 8
sar edx, 0x18
mov byte [rbp + 0x36e], al
mov eax, ecx
sar ecx, 0x18
mov dword [rbp + 0x360], 0xd5455
mov byte [rbp + 0x364], 7
movsd xmm0, qword [rbp + 0x360]
mov byte [rbp + 0x370], cl
lea rcx, [rbp - 0x60]
mov byte [rbp + 0x368], dl
sar eax, 0x10
mov byte [rbp + 0x380], dl
lea rdx, [0x14000ef90]
movsd qword [rbp + 0x378], xmm0
mov word [rbp - 0x28], r12w
mov qword [rbp - 0x40], 0x11
mov byte [rbp + 0x36f], al
mov byte [rbp + 0x37a], 5
call fcn.14000e470
test eax, eax
je 0x140008e37
cmp byte [rbx + 0xa0], 0
je 0x140008e1a
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x140008e1a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 0x8c]
mov dword [rbx + 0x88], eax
mov qword [rbx + 0x98], r12
mov eax, 0x400
jmp 0x14000a6b6
mov eax, dword [rbp - 0x40]
mov ecx, dword [rbp - 0x48]
add eax, 0x1e
add ecx, eax
mov eax, dword [rbx + 0x24]
add dword [rbx + 0x28], ecx
test eax, eax
je 0x140008e82
cmp byte [rbx + 0xa0], 0
je 0x140008e6a
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x140008e6a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x8c]
mov dword [rbx + 0x88], ecx
mov qword [rbx + 0x98], r12
jmp 0x14000a6b6
mov dword [rbx + 0x44], 0x12345678
lea r14, [0x140011e70]
mov dword [rbx + 0x48], 0x23456789
mov dword [rbx + 0x4c], 0x34567890
mov r8, qword [rbx]
test r8, r8
je 0x140008ef1
movzx eax, byte [r8]
test al, al
je 0x140008ef1
mov edx, dword [rbx + 0x44]
mov ecx, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
mov ecx, dword [rbx + 0x4c]
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
mov dword [rbx + 0x44], edx
imul edx, eax, 0x8088405
movzx eax, cl
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
xor ecx, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], ecx
add r8, 1
jne 0x140008ea6
cmp byte [0x140017358], 0
jne 0x140008f13
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor edi, eax
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov rdi, r12
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
sar eax, 7
mov byte [rbp + rdi + 0x350], al
inc rdi
cmp rdi, 0xc
jl 0x140008f16
mov eax, dword [rbp - 0x58]
mov rsi, r12
shr eax, 8
mov byte [rbp + 0x35b], al
nop
movsx r9, byte [rbp + rsi + 0x350]
mov edi, dword [rbx + 0x4c]
mov r10d, dword [rbx + 0x44]
mov edx, edi
and edx, 0xfffd
mov ecx, r10d
xor rcx, r9
shr r10d, 8
movzx eax, cl
or edx, 2
movzx ecx, dil
shr edi, 8
xor r10d, dword [r14 + rax*4]
mov r11d, r10d
movzx eax, r10b
add eax, dword [rbx + 0x48]
imul r8d, eax, 0x8088405
inc r8d
mov eax, r8d
shr rax, 0x18
xor rcx, rax
mov eax, edx
xor eax, 1
imul eax, edx
xor edi, dword [r14 + rcx*4]
mov ecx, r11d
shr r11d, 8
mov edx, edi
and edx, 0xfffd
shr eax, 8
or edx, 2
xor al, r9b
movsx r9, byte [rbp + rsi + 0x351]
mov byte [rbp + rsi + 0x350], al
xor rcx, r9
movzx eax, cl
movzx ecx, dil
shr edi, 8
xor r11d, dword [r14 + rax*4]
movzx eax, r11b
add eax, r8d
movsx r8, byte [rbp + rsi + 0x352]
imul r10d, eax, 0x8088405
inc r10d
mov eax, r10d
shr rax, 0x18
xor rcx, rax
mov eax, edx
xor eax, 1
imul eax, edx
xor edi, dword [r14 + rcx*4]
mov ecx, r11d
xor rcx, r8
shr r11d, 8
mov edx, edi
shr eax, 8
and edx, 0xfffd
xor al, r9b
or edx, 2
mov byte [rbp + rsi + 0x351], al
movzx eax, cl
movzx ecx, dil
shr edi, 8
xor r11d, dword [r14 + rax*4]
movzx eax, r11b
add eax, r10d
imul r9d, eax, 0x8088405
inc r9d
mov eax, r9d
shr rax, 0x18
xor rcx, rax
mov eax, edx
xor eax, 1
imul eax, edx
xor edi, dword [r14 + rcx*4]
mov edx, edi
shr eax, 8
xor al, r8b
movsx r8, byte [rbp + rsi + 0x353]
mov byte [rbp + rsi + 0x352], al
and edx, 0xfffd
movsx r10, byte [rbp + rsi + 0x355]
or edx, 2
mov ecx, r11d
shr r11d, 8
xor rcx, r8
movzx eax, cl
movzx ecx, dil
shr edi, 8
xor r11d, dword [r14 + rax*4]
movzx eax, r11b
add eax, r9d
imul r9d, eax, 0x8088405
inc r9d
mov eax, r9d
shr rax, 0x18
xor rcx, rax
mov eax, edx
xor eax, 1
imul eax, edx
xor edi, dword [r14 + rcx*4]
mov ecx, r11d
mov edx, edi
shr r11d, 8
and edx, 0xfffd
shr eax, 8
or edx, 2
xor al, r8b
movsx r8, byte [rbp + rsi + 0x354]
mov byte [rbp + rsi + 0x353], al
xor rcx, r8
movzx eax, cl
movzx ecx, dil
shr edi, 8
xor r11d, dword [r14 + rax*4]
movzx eax, r11b
add eax, r9d
imul r9d, eax, 0x8088405
inc r9d
mov eax, r9d
shr rax, 0x18
xor rcx, rax
mov eax, edx
xor eax, 1
imul eax, edx
mov edx, r11d
xor edi, dword [r14 + rcx*4]
mov ecx, edx
xor rcx, r10
shr edx, 8
shr eax, 8
xor al, r8b
mov r8d, edi
mov byte [rbp + rsi + 0x354], al
and r8d, 0xfffd
movzx eax, cl
or r8d, 2
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, r9d
mov dword [rbx + 0x44], edx
imul eax, eax, 0x8088405
mov edx, edi
shr edx, 8
inc eax
mov ecx, eax
mov dword [rbx + 0x48], eax
shr rcx, 0x18
movzx eax, dil
xor rcx, rax
mov eax, r8d
xor eax, 1
imul eax, r8d
xor edx, dword [r14 + rcx*4]
mov dword [rbx + 0x4c], edx
shr eax, 8
xor al, r10b
mov byte [rbp + rsi + 0x355], al
add rsi, 6
cmp rsi, 0xc
jl 0x140008f40
mov rax, qword [rbx]
test rax, rax
je 0x1400091cf
cmp r15d, 4
je 0x1400091cf
mov r8d, 0xc
lea rdx, [rbp + 0x350]
mov rcx, rbx
call fcn.14000efa0
add dword [rbx + 0x28], 0xc
mov rax, qword [rbx]
mov edi, r12d
test rax, rax
je 0x1400091e3
cmp r15d, 4
je 0x1400091e3
mov byte [rbx + 0x41], 1
jmp 0x1400091f1
mov byte [rbx + 0x41], 0
cmp r15d, 4
je 0x140009304
cmp r13d, 8
jne 0x14000920a
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.14000cd80
mov edi, eax
jmp 0x14000930b
test r13d, r13d
jne 0x14000930b
mov rcx, qword [rbx + 0xa8]
mov edx, 0x4000
test rcx, rcx
je 0x14000925d
mov eax, dword [rbx + 0xb4]
mov esi, dword [rbx + 0xb0]
cmp eax, esi
jae 0x1400092ee
sub esi, eax
cmp esi, edx
cmova esi, edx
lea rdx, [rcx + rax]
mov r8d, esi
lea rcx, [rbx + 0xbc]
call sub.VCRUNTIME140.dll_memcpy
add dword [rbx + 0xb4], esi
mov r8d, esi
jmp 0x140009292
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x1400092e7
mov r8d, edx
mov qword [rsp + 0x20], 0
lea rdx, [rbx + 0xbc]
lea r9, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400092ee
mov esi, dword [rsp + 0x58]
mov r8d, esi
mov ecx, dword [rbx + 0x90]
lea rdx, [rbx + 0xbc]
add dword [rbx + 0x8c], esi
call fcn.14000b6d0
mov dword [rbx + 0x90], eax
lea eax, [rsi - 1]
cmp eax, 0xfffffffd
ja 0x1400092ee
mov r8d, esi
lea rdx, [rbx + 0xbc]
mov rcx, rbx
call fcn.14000efa0
cmp eax, esi
jne 0x1400092d6
add r12d, esi
jmp 0x140009213
mov edi, 0x60000
lea r14, [0x140011e70]
xor r12d, r12d
jmp 0x14000930b
mov dword [rbx + 0x24], 0x1000000
mov dword [rbx + 0xb8], r12d
lea r14, [0x140011e70]
xor r12d, r12d
mov edi, r12d
jmp 0x14000930b
mov dword [rbx + 0xb8], r12d
cmp byte [rbx + 0xa0], 0
mov byte [rbx + 0x41], 0
je 0x14000932a
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x14000932a
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], r12
mov dword [rbx + 0x88], edx
test eax, eax
jne 0x14000a6b6
test edi, edi
jne 0x140008e2d
add ecx, dword [rsp + 0x48]
cmp dword [rbp - 0x50], ecx
mov eax, dword [rbx + 0x90]
sete r8b
mov dword [rbp - 0x54], eax
mov dword [rbp - 0x50], ecx
mov dword [rbp - 0x4c], edx
cmp byte [rbx + 0x2c], dil
je 0x1400093ec
cmp qword [rbx], 0
je 0x140009385
cmp r15d, 4
jne 0x1400093ec
movzx eax, word [rbp - 0x5c]
mov word [rbp - 0x5a], r13w
test al, 1
jne 0x14000939e
mov ecx, 0xfff7
and ax, cx
mov word [rbp - 0x5c], ax
mov edx, dword [rbp - 0x1c]
mov rcx, rbx
sub edx, dword [rbx + 0x20]
mov word [rbp - 0x24], ax
call fcn.14000dc20
test al, al
je 0x1400093e2
mov r8, rbx
lea rdx, [0x14000ef90]
lea rcx, [rbp - 0x60]
call fcn.14000e470
test eax, eax
jne 0x140008e2d
mov edx, dword [rbx + 0x28]
mov rcx, rbx
call fcn.14000dc20
test al, al
jne 0x14000a5bf
mov eax, 0x2000000
jmp 0x14000a6b6
cmp word [rbp - 0x5a], r13w
jne 0x14000a6aa
test r13d, r13d
jne 0x140009405
test r8b, r8b
je 0x14000a6aa
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x41]
mov dl, 0x50
mov byte [rsp + 0x41], dl
je 0x1400094ca
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140009437
cmp dword [rbx + 0x58], 1
jae 0x140009437
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x14000943c
test rax, rax
jne 0x140009456
mov ecx, 2
call fcn.14000f2ec
movzx edx, byte [rsp + 0x41]
mov qword [rbx + 0x50], rax
mov dword [rbx + 0x58], 1
mov byte [rax], dl
mov rax, qword [rbx + 0x50]
mov r8d, dword [rbx + 0x4c]
mov edx, dword [rbx + 0x44]
mov r9d, r8d
and r9d, 0xfffd
movsx r10, byte [rax]
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
movzx ecx, r8b
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
shr r8d, 8
inc eax
mov dword [rbx + 0x48], eax
shr rax, 0x18
xor rcx, rax
xor r8d, dword [r14 + rcx*4]
mov ecx, r9d
xor ecx, 1
mov dword [rbx + 0x4c], r8d
mov rax, qword [rbx + 0x50]
imul ecx, r9d
shr ecx, 8
xor cl, r10b
mov byte [rax], cl
mov r10, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x1400094f3
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x1400094e7
mov dword [rbx + 0x24], 0x30000
jmp 0x14000951e
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x14000951e
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009517
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], r12
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000951e
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x41]
mov dl, 0x4b
mov byte [rsp + 0x41], dl
je 0x1400095e3
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140009550
cmp dword [rbx + 0x58], 1
jae 0x140009550
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x140009555
test rax, rax
jne 0x14000956f
mov ecx, 2
call fcn.14000f2ec
movzx edx, byte [rsp + 0x41]
mov qword [rbx + 0x50], rax
mov dword [rbx + 0x58], 1
mov byte [rax], dl
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
mov ecx, r9d
mov dword [rbx + 0x44], edx
xor ecx, 1
movzx eax, dl
add eax, dword [rbx + 0x48]
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
imul ecx, r9d
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
shr ecx, 8
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov r10, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x14000960c
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009600
mov dword [rbx + 0x24], 0x30000
jmp 0x140009637
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140009637
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009630
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], r12
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009637
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x42]
mov dl, 7
mov byte [rsp + 0x42], dl
je 0x1400096fb
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140009669
cmp dword [rbx + 0x58], 1
jae 0x140009669
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x14000966e
test rax, rax
jne 0x140009688
mov ecx, 2
call fcn.14000f2ec
movzx edx, byte [rsp + 0x42]
mov qword [rbx + 0x50], rax
mov dword [rbx + 0x58], 1
mov byte [rax], dl
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov ecx, edx
mov r8d, dword [rbx + 0x4c]
shr edx, 8
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
xor rcx, r10
or r9d, 2
movzx eax, cl
mov ecx, r9d
xor ecx, 1
imul ecx, r9d
xor edx, dword [r14 + rax*4]
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov r10, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140009724
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009718
mov dword [rbx + 0x24], 0x30000
jmp 0x14000974f
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x14000974f
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009748
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], r12
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000974f
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x42]
mov dl, 8
mov byte [rsp + 0x42], dl
je 0x140009814
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140009781
cmp dword [rbx + 0x58], 1
jae 0x140009781
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x140009786
test rax, rax
jne 0x1400097a0
mov ecx, 2
call fcn.14000f2ec
movzx edx, byte [rsp + 0x42]
mov qword [rbx + 0x50], rax
mov dword [rbx + 0x58], 1
mov byte [rax], dl
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
mov ecx, r9d
mov dword [rbx + 0x44], edx
xor ecx, 1
movzx eax, dl
add eax, dword [rbx + 0x48]
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
imul ecx, r9d
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
shr ecx, 8
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov r10, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x14000983d
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009831
mov dword [rbx + 0x24], 0x30000
jmp 0x140009868
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140009868
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009861
lea r9, [rsp + 0x6c]
mov qword [rsp + 0x20], r12
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009868
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x43]
movzx edx, byte [rbp - 0x54]
mov byte [rsp + 0x43], dl
je 0x14000992f
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x14000989c
cmp dword [rbx + 0x58], 1
jae 0x14000989c
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x1400098a1
test rax, rax
jne 0x1400098bb
mov ecx, 2
call fcn.14000f2ec
movzx edx, byte [rsp + 0x43]
mov qword [rbx + 0x50], rax
mov dword [rbx + 0x58], 1
mov byte [rax], dl
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
mov ecx, r9d
mov dword [rbx + 0x44], edx
xor ecx, 1
movzx eax, dl
add eax, dword [rbx + 0x48]
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
imul ecx, r9d
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
shr ecx, 8
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov r10, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140009958
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14000994c
mov dword [rbx + 0x24], 0x30000
jmp 0x140009983
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140009983
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000997c
lea r9, [rsp + 0x70]
mov qword [rsp + 0x20], r12
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009983
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x54]
lea rdx, [rsp + 0x43]
shr eax, 8
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x43], al
je 0x140009a4e
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x1400099b9
cmp dword [rbx + 0x58], 1
jae 0x1400099b9
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x1400099be
test rdx, rdx
jne 0x1400099db
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x43]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov ecx, edx
mov r8d, dword [rbx + 0x4c]
shr edx, 8
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
xor rcx, r10
or r9d, 2
movzx eax, cl
mov ecx, r9d
xor ecx, 1
imul ecx, r9d
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
mov dword [rbx + 0x44], edx
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x140009a77
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009a6b
mov dword [rbx + 0x24], 0x30000
jmp 0x140009a9f
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140009a9f
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009a98
lea r9, [rsp + 0x74]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009a9f
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x54]
lea rdx, [rsp + 0x44]
shr eax, 0x10
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x44], al
je 0x140009b6b
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140009ad5
cmp dword [rbx + 0x58], 1
jae 0x140009ad5
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x140009ada
test rdx, rdx
jne 0x140009af7
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x44]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
movzx ecx, r8b
mov dword [rbx + 0x44], edx
shr r8d, 8
inc eax
mov dword [rbx + 0x48], eax
shr rax, 0x18
xor rcx, rax
xor r8d, dword [r14 + rcx*4]
mov ecx, r9d
xor ecx, 1
mov dword [rbx + 0x4c], r8d
mov rax, qword [rbx + 0x50]
imul ecx, r9d
shr ecx, 8
xor cl, r10b
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x140009b94
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009b88
mov dword [rbx + 0x24], 0x30000
jmp 0x140009bbc
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140009bbc
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009bb5
lea r9, [rsp + 0x78]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009bbc
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x54]
lea rdx, [rsp + 0x44]
shr eax, 0x18
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x44], al
je 0x140009c88
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140009bf2
cmp dword [rbx + 0x58], 1
jae 0x140009bf2
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x140009bf7
test rdx, rdx
jne 0x140009c14
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x44]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
movzx ecx, r8b
mov dword [rbx + 0x44], edx
shr r8d, 8
inc eax
mov dword [rbx + 0x48], eax
shr rax, 0x18
xor rcx, rax
xor r8d, dword [r14 + rcx*4]
mov ecx, r9d
xor ecx, 1
mov dword [rbx + 0x4c], r8d
mov rax, qword [rbx + 0x50]
imul ecx, r9d
shr ecx, 8
xor cl, r10b
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x140009cb1
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009ca5
mov dword [rbx + 0x24], 0x30000
jmp 0x140009cd9
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140009cd9
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009cd2
lea r9, [rsp + 0x7c]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009cd9
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x45]
movzx edx, byte [rbp - 0x50]
mov byte [rsp + 0x45], dl
je 0x140009da0
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140009d0d
cmp dword [rbx + 0x58], 1
jae 0x140009d0d
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x140009d12
test rax, rax
jne 0x140009d2c
mov ecx, 2
call fcn.14000f2ec
movzx edx, byte [rsp + 0x45]
mov qword [rbx + 0x50], rax
mov dword [rbx + 0x58], 1
mov byte [rax], dl
mov rax, qword [rbx + 0x50]
mov r8d, dword [rbx + 0x4c]
mov edx, dword [rbx + 0x44]
mov r9d, r8d
and r9d, 0xfffd
movsx r10, byte [rax]
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
movzx ecx, r8b
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
shr r8d, 8
inc eax
mov dword [rbx + 0x48], eax
shr rax, 0x18
xor rcx, rax
xor r8d, dword [r14 + rcx*4]
mov ecx, r9d
xor ecx, 1
mov dword [rbx + 0x4c], r8d
mov rax, qword [rbx + 0x50]
imul ecx, r9d
shr ecx, 8
xor cl, r10b
mov byte [rax], cl
mov r10, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x140009dc9
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009dbd
mov dword [rbx + 0x24], 0x30000
jmp 0x140009df3
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140009df3
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009dec
lea r9, [rbp - 0x80]
mov qword [rsp + 0x20], r12
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009df3
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x50]
lea rdx, [rsp + 0x45]
shr eax, 8
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x45], al
je 0x140009ebe
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140009e29
cmp dword [rbx + 0x58], 1
jae 0x140009e29
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x140009e2e
test rdx, rdx
jne 0x140009e4b
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x45]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov ecx, edx
mov r8d, dword [rbx + 0x4c]
shr edx, 8
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
xor rcx, r10
or r9d, 2
movzx eax, cl
mov ecx, r9d
xor ecx, 1
imul ecx, r9d
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
mov dword [rbx + 0x44], edx
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x140009ee7
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009edb
mov dword [rbx + 0x24], 0x30000
jmp 0x140009f0e
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140009f0e
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140009f07
lea r9, [rbp - 0x7c]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140009f0e
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x50]
lea rdx, [rsp + 0x46]
shr eax, 0x10
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x46], al
je 0x140009fd9
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140009f44
cmp dword [rbx + 0x58], 1
jae 0x140009f44
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x140009f49
test rdx, rdx
jne 0x140009f66
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x46]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov ecx, edx
mov r8d, dword [rbx + 0x4c]
shr edx, 8
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
xor rcx, r10
or r9d, 2
movzx eax, cl
mov ecx, r9d
xor ecx, 1
imul ecx, r9d
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
mov dword [rbx + 0x44], edx
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x14000a002
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140009ff6
mov dword [rbx + 0x24], 0x30000
jmp 0x14000a029
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x14000a029
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000a022
lea r9, [rbp - 0x78]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000a029
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x50]
lea rdx, [rsp + 0x46]
shr eax, 0x18
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x46], al
je 0x14000a0f4
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x14000a05f
cmp dword [rbx + 0x58], 1
jae 0x14000a05f
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x14000a064
test rdx, rdx
jne 0x14000a081
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x46]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov ecx, edx
mov r8d, dword [rbx + 0x4c]
shr edx, 8
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
xor rcx, r10
or r9d, 2
movzx eax, cl
mov ecx, r9d
xor ecx, 1
imul ecx, r9d
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
mov dword [rbx + 0x44], edx
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x14000a11d
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14000a111
mov dword [rbx + 0x24], 0x30000
jmp 0x14000a144
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x14000a144
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000a13d
lea r9, [rbp - 0x74]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000a144
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x47]
movzx edx, byte [rbp - 0x4c]
mov byte [rsp + 0x47], dl
je 0x14000a20a
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x14000a178
cmp dword [rbx + 0x58], 1
jae 0x14000a178
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x14000a17d
test rax, rax
jne 0x14000a197
mov ecx, 2
call fcn.14000f2ec
movzx edx, byte [rsp + 0x47]
mov qword [rbx + 0x50], rax
mov dword [rbx + 0x58], 1
mov byte [rax], dl
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov ecx, edx
mov r8d, dword [rbx + 0x4c]
shr edx, 8
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
xor rcx, r10
or r9d, 2
movzx eax, cl
mov ecx, r9d
xor ecx, 1
imul ecx, r9d
xor edx, dword [r14 + rax*4]
mov dword [rbx + 0x44], edx
movzx eax, dl
add eax, dword [rbx + 0x48]
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
shr ecx, 8
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov r10, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x14000a233
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14000a227
mov dword [rbx + 0x24], 0x30000
jmp 0x14000a25d
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x14000a25d
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000a256
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], r12
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000a25d
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x4c]
lea rdx, [rsp + 0x47]
shr eax, 8
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x47], al
je 0x14000a329
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x14000a293
cmp dword [rbx + 0x58], 1
jae 0x14000a293
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x14000a298
test rdx, rdx
jne 0x14000a2b5
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x47]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
mov ecx, r9d
movzx eax, dl
xor ecx, 1
add eax, dword [rbx + 0x48]
mov dword [rbx + 0x44], edx
imul edx, eax, 0x8088405
movzx eax, r8b
shr r8d, 8
imul ecx, r9d
inc edx
mov dword [rbx + 0x48], edx
shr rdx, 0x18
xor rdx, rax
shr ecx, 8
xor r8d, dword [r14 + rdx*4]
mov dword [rbx + 0x4c], r8d
xor cl, r10b
mov rax, qword [rbx + 0x50]
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x14000a352
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14000a346
mov dword [rbx + 0x24], 0x30000
jmp 0x14000a379
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x14000a379
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000a372
lea r9, [rbp - 0x6c]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000a379
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x4c]
lea rdx, [rsp + 0x40]
shr eax, 0x10
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x40], al
je 0x14000a445
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x14000a3af
cmp dword [rbx + 0x58], 1
jae 0x14000a3af
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x14000a3b4
test rdx, rdx
jne 0x14000a3d1
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x40]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
movzx ecx, r8b
mov dword [rbx + 0x44], edx
shr r8d, 8
inc eax
mov dword [rbx + 0x48], eax
shr rax, 0x18
xor rcx, rax
xor r8d, dword [r14 + rcx*4]
mov ecx, r9d
xor ecx, 1
mov dword [rbx + 0x4c], r8d
mov rax, qword [rbx + 0x50]
imul ecx, r9d
shr ecx, 8
xor cl, r10b
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x14000a46e
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14000a462
mov dword [rbx + 0x24], 0x30000
jmp 0x14000a496
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x14000a496
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000a48f
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000a496
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x4c]
lea rdx, [rsp + 0x40]
shr eax, 0x18
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x40], al
je 0x14000a562
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x14000a4cc
cmp dword [rbx + 0x58], 1
jae 0x14000a4cc
call fcn.14000f188
mov qword [rbx + 0x50], r12
jmp 0x14000a4d1
test rdx, rdx
jne 0x14000a4ee
mov ecx, 2
call fcn.14000f2ec
mov qword [rbx + 0x50], rax
mov rdx, rax
movzx eax, byte [rsp + 0x40]
mov dword [rbx + 0x58], 1
mov byte [rdx], al
mov rax, qword [rbx + 0x50]
mov edx, dword [rbx + 0x44]
mov r8d, dword [rbx + 0x4c]
mov r9d, r8d
movsx r10, byte [rax]
and r9d, 0xfffd
or r9d, 2
mov rax, r10
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
movzx ecx, r8b
mov dword [rbx + 0x44], edx
shr r8d, 8
inc eax
mov dword [rbx + 0x48], eax
shr rax, 0x18
xor rcx, rax
xor r8d, dword [r14 + rcx*4]
mov ecx, r9d
xor ecx, 1
mov dword [rbx + 0x4c], r8d
mov rax, qword [rbx + 0x50]
imul ecx, r9d
shr ecx, 8
xor cl, r10b
mov byte [rax], cl
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x30]
test r8, r8
je 0x14000a58b
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14000a57f
mov dword [rbx + 0x24], 0x30000
jmp 0x14000a5b3
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x14000a5b3
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000a5ac
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], r12
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000a5b3
mov dword [rbx + 0x24], 0x1000000
movzx eax, word [rbp - 0x24]
add dword [rbx + 0x28], 0x10
mov word [rbp - 0x5c], ax
mov eax, dword [rbx + 0x24]
test eax, eax
jne 0x14000a6b6
mov rcx, qword [rbp - 0x38]
call fcn.14000f2ec
mov r8, qword [rbp - 0x38]
mov rcx, rax
mov rdx, qword [rbp + 0xf8]
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, 0x388
mov qword [rbp + 0xf8], rdi
call fcn.14000f14c
mov r8, rax
mov rcx, rax
lea rax, [rbp - 0x60]
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 0x14000a610
mov rax, qword [rax]
mov qword [rcx], rax
mov rcx, qword [rbx + 0x60]
test rcx, rcx
jne 0x14000a67a
mov qword [rbx + 0x60], r8
xor eax, eax
jmp 0x14000a6b6
mov rax, qword [rcx + 0x380]
test rax, rax
je 0x14000a69f
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x380]
test rax, rax
jne 0x14000a690
mov qword [rcx + 0x380], r8
xor eax, eax
jmp 0x14000a6b6
mov eax, 0x4000000
jmp 0x14000a6b6
mov eax, 0x10000
mov r14, qword [rsp + 0x6b8]
mov r13, qword [rsp + 0x6c0]
mov rdi, qword [rsp + 0x708]
mov r15, qword [rsp + 0x6b0]
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.14000f2a0
add rsp, 0x6c8
pop r12
pop rsi
pop rbx
pop rbp
ret