Function at 0x140045a00
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 r15
lea rbp, [rsp - 0x5c0]
sub rsp, 0x6c0
mov rax, qword [0x14015a038]
xor rax, rsp
mov qword [rbp + 0x590], rax
cmp dword [rcx + 0x24], 0
mov rbx, rcx
mov r15d, dword [rbp + 0x600]
mov dword [rsp + 0x50], r9d
mov qword [rsp + 0x48], r8
je 0x140045a49
mov eax, 0x40000
jmp 0x140047a0e
cmp byte [rcx + 0x40], 0
je 0x140045a59
mov eax, 0x50000
jmp 0x140047a0e
xor eax, eax
mov dword [rsp + 0x54], eax
lea ecx, [rax + 0xc]
cmp qword [rbx], rax
je 0x140045a72
cmp r15d, 4
cmovne eax, ecx
mov dword [rsp + 0x54], eax
lea rcx, [rbp + 0x380]
sub rcx, rdx
nop dword [rax]
movzx eax, word [rdx]
mov word [rcx + rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x140045a80
movzx ecx, word [rbp + 0x380]
mov qword [rsp + 0x6e8], rsi
mov qword [rsp + 0x6b8], rdi
mov qword [rsp + 0x6b0], r12
mov qword [rsp + 0x6a8], r13
mov qword [rsp + 0x6a0], r14
test cx, cx
je 0x1400479e1
lea rax, [rbp + 0x380]
mov edx, 0x2f
cmp cx, 0x5c
jne 0x140045add
mov word [rax], dx
movzx ecx, word [rax + 2]
add rax, 2
test cx, cx
jne 0x140045ad4
mov rsi, 0xffffffffffffffff
lea r12d, [rsi + 9]
cmp r15d, 4
jne 0x140045b30
lea rcx, [rbp + 0x380]
mov rax, rsi
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140045b10
cmp word [rbp + rax*2 + 0x37e], dx
je 0x140045b30
xor edx, edx
mov r14b, 1
mov r13d, edx
jmp 0x140045bac
xor r14b, r14b
cmp r15d, 4
je 0x140045cd3
lea rcx, [rbp + 0x380]
mov rax, rsi
nop word [rax + rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140045b50
lea rdi, [rbp + 0x380]
lea rdi, [rdi + rax*2]
lea rax, [rbp + 0x380]
cmp rdi, rax
jbe 0x140045b8d
cmp word [rdi], 0x2e
je 0x140045c30
sub rdi, 2
lea rax, [rbp + 0x380]
cmp rdi, rax
ja 0x140045b73
lea rax, [rbp + 0x380]
cmp rdi, rax
jne 0x140045c30
cmp word [rdi], 0x2e
je 0x140045c30
mov r13d, r12d
xor edx, edx
cmp r15d, 2
jne 0x140045d0f
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0xa8], rdx
mov qword [rbx + 0xb8], rdx
mov byte [rbx + 0xb0], 0
mov qword [rbx + 0x9c], 0
mov dword [rbx + 0x98], edx
mov dword [rbx + 0xc8], edx
test rax, rax
je 0x140045d95
mov qword [rsp + 0x30], rdx
lea r8d, [r15 - 1]
mov dword [rsp + 0x28], edx
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 0x140045cdd
mov edi, 0x200
mov eax, edi
jmp 0x1400479e6
lea rdx, [0x140137484]
mov rcx, rdi
call fcn.1400ae274
test eax, eax
je 0x140045cd3
lea rdx, str..zip
mov rcx, rdi
call fcn.1400ae274
test eax, eax
je 0x140045cd3
lea rdx, str..zoo
mov rcx, rdi
call fcn.1400ae274
test eax, eax
je 0x140045cd3
lea rdx, str..arc
mov rcx, rdi
call fcn.1400ae274
test eax, eax
je 0x140045cd3
lea rdx, str..lzh
mov rcx, rdi
call fcn.1400ae274
test eax, eax
je 0x140045cd3
lea rdx, str..arj
mov rcx, rdi
call fcn.1400ae274
test eax, eax
je 0x140045cd3
lea rdx, [0x1401374e0]
mov rcx, rdi
call fcn.1400ae274
test eax, eax
je 0x140045cd3
lea rdx, str..tgz
mov rcx, rdi
mov r13d, r12d
call fcn.1400ae274
test eax, eax
jne 0x140045baa
xor edx, edx
mov r13d, edx
jmp 0x140045bac
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.1400449a0
mov edi, eax
test eax, eax
je 0x140045d03
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x1400479e6
mov byte [rbx + 0xb0], 1
jmp 0x140045eda
cmp r15d, 1
jne 0x140045d36
mov r8d, dword [rsp + 0x50]
mov rcx, rbx
mov rdx, qword [rsp + 0x48]
call fcn.1400449a0
mov edi, eax
test eax, eax
je 0x140045eda
jmp 0x1400479e6
cmp r15d, 3
jne 0x140045da1
mov rax, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x50]
mov qword [rbx + 0xa8], rdx
mov qword [rbx + 0xb8], rax
mov byte [rbx + 0xb0], 0
mov qword [rbx + 0x9c], 0
mov qword [rbx + 0xc4], 0
mov dword [rbx + 0xc0], ecx
test rax, rax
je 0x140045d95
test ecx, ecx
je 0x140045d95
mov dword [rbx + 0x70], 0x80000000
mov dword [rbx + 0x98], ecx
mov byte [rbx + 0x94], 1
jmp 0x140045de5
mov edi, 0x10000
mov eax, edi
jmp 0x1400479e6
cmp r15d, 4
jne 0x1400479e1
mov qword [rbx + 0xa8], rdx
mov qword [rbx + 0xb8], rdx
mov byte [rbx + 0xb0], 0
mov qword [rbx + 0x9c], 0
mov dword [rbx + 0xc8], edx
mov dword [rbx + 0x70], 0x41c00010
mov dword [rbx + 0x98], edx
mov byte [rbx + 0x94], 0
lea rcx, [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x320]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], rax
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [rbp + 0x322]
movabs rcx, 0xfe624e212ac18000
add rcx, qword [rsp + 0x48]
and ax, 0xf
movzx r9d, word [rbp + 0x320]
movzx r8d, word [rbp + 0x32a]
sub r9w, 0x3c
shl r9w, 4
and r8w, 0x3f
or r9w, ax
movzx eax, word [rbp + 0x326]
and ax, 0x1f
shl r9w, 5
or r9w, ax
movzx eax, word [rbp + 0x328]
shl ax, 6
or r8w, ax
movzx eax, word [rbp + 0x32c]
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 + 0x88], rdx
mov dword [rbx + 0x90], ecx
mov qword [rbx + 0x80], rdx
mov qword [rbx + 0x78], rdx
xor eax, eax
lea r8, [rbp + 0x380]
mov qword [rsp + 0x38], rax
mov r9d, esi
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rbp + 0x310], rax
mov ecx, 0xfde9
mov byte [rbp - 0x28], al
lea rax, [rbp + 0xf8]
mov dword [rsp + 0x28], 0x104
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rax, [rbp + 0xf8]
inc rsi
cmp byte [rax + rsi], 0
jne 0x140045f22
mov qword [rbp - 0x58], rsi
test r14b, r14b
je 0x140045f58
lea rcx, [rbp + 0xf8]
dec rcx
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140045f40
movzx eax, word [0x1401374f4]
mov word [rcx], ax
inc qword [rbp - 0x58]
mov eax, dword [rbx + 0x90]
xor esi, esi
mov byte [rbp + 0x1fc], 0
mov qword [rbp + 0xf0], rsi
mov qword [rbp - 0x40], rsi
lea edx, [rsi + 9]
mov dword [rbp + 0x300], 1
mov dword [rbp + 0x308], esi
mov word [rbp - 0x36], si
mov dword [rbp - 0x70], 0x140b17
mov dword [rbp - 0x68], eax
mov dword [rbp - 0x64], esi
mov word [rbp - 0x6c], r12w
cmp qword [rbx], rsi
je 0x140045fae
cmp r15d, 4
je 0x140045fae
movzx r12d, dx
mov word [rbp - 0x6c], dx
mov word [rbp - 0x34], r12w
mov word [rbp - 0x6a], r13w
test r13d, r13d
jne 0x140045fd2
mov ecx, dword [rbx + 0x98]
test ecx, ecx
js 0x140045fd2
mov eax, dword [rsp + 0x54]
add eax, ecx
mov dword [rbp - 0x60], eax
jmp 0x140045fdb
mov ecx, dword [rbx + 0x98]
mov dword [rbp - 0x60], esi
mov eax, dword [rbx + 0x70]
mov r8, rbx
mov dword [rbp - 0x30], eax
mov eax, dword [rbx + 0x28]
add eax, dword [rbx + 0x20]
mov dword [rbp - 0x2c], eax
lea rax, [rbp + 0x350]
mov qword [rbp + 0xe0], rax
lea rax, [rbp + 0x368]
mov qword [rbp + 0xe8], rax
movzx eax, byte [rbx + 0x80]
mov byte [rbp + 0x355], al
mov dword [rbp - 0x5c], ecx
mov rcx, qword [rbx + 0x78]
mov qword [rbp - 0x48], rdx
mov rdx, qword [rbx + 0x80]
mov rax, rdx
mov dword [rbp + 0x350], 0xd5455
sar rax, 8
mov byte [rbp + 0x356], al
mov rax, rdx
sar rax, 0x10
mov byte [rbp + 0x357], al
movzx eax, byte [rbx + 0x78]
mov byte [rbp + 0x359], al
mov rax, rcx
sar rax, 8
mov byte [rbp + 0x35a], al
mov rax, rcx
sar rax, 0x10
mov byte [rbp + 0x35b], al
movzx eax, byte [rbx + 0x88]
sar rcx, 0x18
mov byte [rbp + 0x35d], al
mov byte [rbp + 0x35c], cl
mov rcx, qword [rbx + 0x88]
mov rax, rcx
sar rdx, 0x18
sar rax, 8
mov byte [rbp + 0x35e], al
mov rax, rcx
sar rcx, 0x18
mov byte [rbp + 0x354], 7
movsd xmm0, qword [rbp + 0x350]
mov byte [rbp + 0x360], cl
lea rcx, [rbp - 0x70]
sar rax, 0x10
movsd qword [rbp + 0x368], xmm0
mov word [rbp - 0x38], si
mov qword [rbp - 0x50], SafeArrayGetElement
mov byte [rbp + 0x358], dl
mov byte [rbp + 0x35f], al
mov byte [rbp + 0x370], dl
mov byte [rbp + 0x36a], 5
call fcn.140042ed0
test eax, eax
je 0x140046131
cmp byte [rbx + 0xb0], sil
je 0x140046114
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x140046114
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 0x9c]
mov dword [rbx + 0x98], eax
mov qword [rbx + 0xa8], rsi
mov eax, 0x400
jmp 0x1400479e6
mov eax, dword [rbp - 0x50]
mov ecx, dword [rbp - 0x58]
add eax, 0x1e
add ecx, eax
mov eax, dword [rbx + 0x24]
add dword [rbx + 0x28], ecx
test eax, eax
je 0x14004617c
cmp byte [rbx + 0xb0], sil
je 0x140046164
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x140046164
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], rsi
jmp 0x1400479e6
mov dword [rbx + 0x44], 0x12345678
lea r14, [0x14012f8a0]
mov dword [rbx + 0x48], 0x23456789
mov dword [rbx + 0x4c], 0x34567890
mov r8, qword [rbx]
test r8, r8
je 0x1400461ed
movzx eax, byte [r8]
test al, al
je 0x1400461ed
mov edx, dword [rbx + 0x44]
mov ecx, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
xor edx, dword [r14 + rax*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 [r14 + rcx*4]
mov dword [rbx + 0x4c], edx
add r8, 1
jne 0x1400461a0
cmp byte [0x14015e5f3], sil
jne 0x140046204
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov rcx, rax
call fcn.1400deddc
mov rdi, rsi
call fcn.1400dedb0
sar eax, 7
mov byte [rbp + rdi + 0x340], al
inc rdi
cmp rdi, 0xc
jl 0x140046207
mov eax, dword [rbp - 0x68]
mov rdi, rsi
shr eax, 8
mov byte [rbp + 0x34b], al
nop
mov r8d, dword [rbx + 0x4c]
mov edx, dword [rbx + 0x44]
mov r11d, r8d
movsx r9, byte [rbp + rdi + 0x340]
and r8d, 0xfffd
or r8d, 2
mov rax, r9
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + rcx*4]
mov r10d, edx
movzx eax, dl
add eax, dword [rbx + 0x48]
movsx rdx, byte [rbp + rdi + 0x341]
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 [r14 + rcx*4]
movsx r8, byte [rbp + rdi + 0x342]
mov dword [rbx + 0x4c], r11d
and r11d, 0xfffd
or r11d, 2
shr eax, 8
xor al, r9b
mov byte [rbp + rdi + 0x340], al
mov rax, rdx
xor rax, r10
shr r10d, 8
movzx ecx, al
xor r10d, dword [r14 + 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 [r14 + 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 + 0x341], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + 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 [r14 + 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 + 0x343]
mov byte [rbp + rdi + 0x342], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + 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 [r14 + 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 + 0x344]
mov byte [rbp + rdi + 0x343], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + 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 [r14 + 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 + 0x345]
mov byte [rbp + rdi + 0x344], al
mov rax, r8
xor rax, rdx
shr edx, 8
movzx ecx, al
xor edx, dword [r14 + 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 [r14 + rcx*4]
mov dword [rbx + 0x4c], edx
shr eax, 8
xor al, r8b
mov byte [rbp + rdi + 0x345], al
add rdi, 6
cmp rdi, 0xc
jl 0x140046230
mov rax, qword [rbx]
test rax, rax
je 0x140046500
cmp r15d, 4
je 0x140046500
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, [rbp + 0x340]
mov rcx, rbx
call fcn.1400445b0
add dword [rbx + 0x28], 0xc
mov rax, qword [rbx]
mov edi, esi
test rax, rax
je 0x140046513
cmp r15d, 4
je 0x140046513
mov byte [rbx + 0x41], 1
jmp 0x140046521
mov byte [rbx + 0x41], sil
cmp r15d, 4
je 0x140046634
cmp r13d, 8
jne 0x14004653a
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.140044fa0
mov edi, eax
jmp 0x14004663a
test r13d, r13d
jne 0x14004663a
mov r12d, esi
mov rcx, qword [rbx + 0xb8]
mov edx, 0x4000
test rcx, rcx
je 0x140046590
mov eax, dword [rbx + 0xc4]
mov esi, dword [rbx + 0xc0]
cmp eax, esi
jae 0x140046620
sub esi, eax
cmp esi, edx
cmova esi, edx
lea rdx, [rcx + rax]
mov r8d, esi
lea rcx, [rbx + 0xcc]
call fcn.14009de10
add dword [rbx + 0xc4], esi
mov r8d, esi
jmp 0x1400465c1
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x140046617
mov r8d, edx
mov qword [rsp + 0x20], rsi
lea rdx, [rbx + 0xcc]
lea r9, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140046622
mov esi, dword [rsp + 0x50]
mov r8d, esi
mov ecx, dword [rbx + 0xa0]
lea rdx, [rbx + 0xcc]
add dword [rbx + 0x9c], esi
call fcn.140043bc0
mov dword [rbx + 0xa0], eax
lea eax, [rsi - 1]
cmp eax, 0xfffffffd
ja 0x140046620
mov r8d, esi
lea rdx, [rbx + 0xcc]
mov rcx, rbx
call fcn.1400445b0
cmp eax, esi
jne 0x140046607
add r12d, esi
xor esi, esi
jmp 0x140046546
mov edi, 0x60000
lea r14, [0x14012f8a0]
xor esi, esi
jmp 0x14004663a
mov dword [rbx + 0x24], 0x1000000
jmp 0x140046622
xor esi, esi
mov dword [rbx + 0xc8], r12d
lea r14, [0x14012f8a0]
mov edi, esi
jmp 0x14004663a
mov dword [rbx + 0xc8], esi
cmp byte [rbx + 0xb0], 0
mov byte [rbx + 0x41], 0
je 0x140046659
mov rcx, qword [rbx + 0xa8]
test rcx, rcx
je 0x140046659
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], rsi
mov dword [rbx + 0x98], edx
test eax, eax
jne 0x1400479e6
test edi, edi
jne 0x140046127
add ecx, dword [rsp + 0x54]
cmp dword [rbp - 0x60], ecx
mov eax, dword [rbx + 0xa0]
sete r8b
mov dword [rbp - 0x64], eax
mov dword [rbp - 0x60], ecx
mov dword [rbp - 0x5c], edx
cmp byte [rbx + 0x2c], dil
je 0x140046714
cmp qword [rbx], 0
je 0x1400466b4
cmp r15d, 4
jne 0x140046714
movzx eax, word [rbp - 0x6c]
mov word [rbp - 0x6a], r13w
test al, 1
jne 0x1400466cd
mov ecx, 0xfff7
and ax, cx
mov word [rbp - 0x6c], ax
mov edx, dword [rbp - 0x2c]
mov rcx, rbx
sub edx, dword [rbx + 0x20]
mov word [rbp - 0x34], ax
call fcn.140044760
test al, al
je 0x14004670a
mov r8, rbx
lea rcx, [rbp - 0x70]
call fcn.140042ed0
test eax, eax
jne 0x140046127
mov edx, dword [rbx + 0x28]
mov rcx, rbx
call fcn.140044760
test al, al
jne 0x1400478f7
mov eax, 0x2000000
jmp 0x1400479e6
cmp word [rbp - 0x6a], r13w
jne 0x1400479da
test r13d, r13d
jne 0x14004672d
test r8b, r8b
je 0x1400479da
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x40]
mov dl, 0x50
mov byte [rsp + 0x40], dl
je 0x1400467f4
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x14004675f
cmp dword [rbx + 0x58], 1
jae 0x14004675f
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140046764
test rax, rax
jne 0x14004677e
mov ecx, 2
call fcn.14009bed8
movzx edx, byte [rsp + 0x40]
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]
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 ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x14004681d
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140046811
mov dword [rbx + 0x24], 0x30000
jmp 0x140046848
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140046848
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140046841
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140046848
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x40]
mov dl, 0x4b
mov byte [rsp + 0x40], dl
je 0x14004690f
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x14004687a
cmp dword [rbx + 0x58], 1
jae 0x14004687a
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x14004687f
test rax, rax
jne 0x140046899
mov ecx, 2
call fcn.14009bed8
movzx edx, byte [rsp + 0x40]
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]
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 ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140046938
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14004692c
mov dword [rbx + 0x24], 0x30000
jmp 0x140046963
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140046963
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004695c
lea r9, [rsp + 0x54]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140046963
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x41]
mov dl, 7
mov byte [rsp + 0x41], dl
je 0x140046a29
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140046995
cmp dword [rbx + 0x58], 1
jae 0x140046995
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x14004699a
test rax, rax
jne 0x1400469b4
mov ecx, 2
call fcn.14009bed8
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
mov ecx, edx
and r9d, 0xfffd
movsx r10, byte [rax]
or r9d, 2
xor rcx, r10
shr edx, 8
movzx eax, cl
xor edx, dword [r14 + rax*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 ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140046a52
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140046a46
mov dword [rbx + 0x24], 0x30000
jmp 0x140046a7d
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140046a7d
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140046a76
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140046a7d
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x41]
mov dl, 8
mov byte [rsp + 0x41], dl
je 0x140046b44
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140046aaf
cmp dword [rbx + 0x58], 1
jae 0x140046aaf
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140046ab4
test rax, rax
jne 0x140046ace
mov ecx, 2
call fcn.14009bed8
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]
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 ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140046b6d
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140046b61
mov dword [rbx + 0x24], 0x30000
jmp 0x140046b98
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140046b98
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140046b91
lea r9, [rsp + 0x64]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140046b98
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x42]
movzx edx, byte [rbp - 0x64]
mov byte [rsp + 0x42], dl
je 0x140046c60
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140046bcc
cmp dword [rbx + 0x58], 1
jae 0x140046bcc
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140046bd1
test rax, rax
jne 0x140046beb
mov ecx, 2
call fcn.14009bed8
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 r8d, dword [rbx + 0x4c]
mov edx, dword [rbx + 0x44]
mov r9d, r8d
mov ecx, edx
and r9d, 0xfffd
movsx r10, byte [rax]
or r9d, 2
xor rcx, r10
shr edx, 8
movzx eax, cl
xor edx, dword [r14 + rax*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 ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140046c89
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140046c7d
mov dword [rbx + 0x24], 0x30000
jmp 0x140046cb4
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140046cb4
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140046cad
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140046cb4
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x64]
lea rdx, [rsp + 0x42]
shr eax, 8
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x42], al
je 0x140046d81
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140046cea
cmp dword [rbx + 0x58], 1
jae 0x140046cea
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140046cef
test rdx, rdx
jne 0x140046d0c
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], rax
movzx eax, byte [rsp + 0x42]
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
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
mov dword [rbx + 0x44], edx
inc eax
mov dword [rbx + 0x48], eax
mov ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140046daa
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140046d9e
mov dword [rbx + 0x24], 0x30000
jmp 0x140046dd2
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140046dd2
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140046dcb
lea r9, [rsp + 0x6c]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140046dd2
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x64]
lea rdx, [rsp + 0x43]
shr eax, 0x10
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x43], al
je 0x140046e9e
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140046e08
cmp dword [rbx + 0x58], 1
jae 0x140046e08
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140046e0d
test rdx, rdx
jne 0x140046e2a
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], 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 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 0x140046ec7
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140046ebb
mov dword [rbx + 0x24], 0x30000
jmp 0x140046eef
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140046eef
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140046ee8
lea r9, [rsp + 0x70]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140046eef
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x64]
lea rdx, [rsp + 0x43]
shr eax, 0x18
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x43], al
je 0x140046fbd
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140046f25
cmp dword [rbx + 0x58], 1
jae 0x140046f25
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140046f2a
test rdx, rdx
jne 0x140046f47
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], 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 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
mov dword [rbx + 0x44], edx
inc eax
mov dword [rbx + 0x48], eax
mov ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140046fe6
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140046fda
mov dword [rbx + 0x24], 0x30000
jmp 0x14004700e
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x14004700e
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047007
lea r9, [rsp + 0x74]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14004700e
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x44]
movzx edx, byte [rbp - 0x60]
mov byte [rsp + 0x44], dl
je 0x1400470d7
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140047042
cmp dword [rbx + 0x58], 1
jae 0x140047042
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140047047
test rax, rax
jne 0x140047061
mov ecx, 2
call fcn.14009bed8
movzx edx, byte [rsp + 0x44]
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]
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 ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140047100
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x1400470f4
mov dword [rbx + 0x24], 0x30000
jmp 0x14004712b
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x14004712b
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047124
lea r9, [rsp + 0x78]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14004712b
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x60]
lea rdx, [rsp + 0x44]
shr eax, 8
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x44], al
je 0x1400471f8
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x140047161
cmp dword [rbx + 0x58], 1
jae 0x140047161
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140047166
test rdx, rdx
jne 0x140047183
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], 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 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
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
mov dword [rbx + 0x44], edx
inc eax
mov dword [rbx + 0x48], eax
mov ecx, eax
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
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 0x140047221
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140047215
mov dword [rbx + 0x24], 0x30000
jmp 0x140047249
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140047249
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047242
lea r9, [rsp + 0x7c]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140047249
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x60]
lea rdx, [rsp + 0x45]
shr eax, 0x10
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x45], al
je 0x140047314
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x14004727f
cmp dword [rbx + 0x58], 1
jae 0x14004727f
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x140047284
test rdx, rdx
jne 0x1400472a1
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], 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
movzx ecx, r8b
shr r8d, 8
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
mov dword [rbx + 0x44], edx
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 0x14004733d
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140047331
mov dword [rbx + 0x24], 0x30000
jmp 0x140047364
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x140047364
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14004735d
lea r9, [rbp - 0x80]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140047364
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x60]
lea rdx, [rsp + 0x45]
shr eax, 0x18
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x45], al
je 0x14004742f
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x14004739a
cmp dword [rbx + 0x58], 1
jae 0x14004739a
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x14004739f
test rdx, rdx
jne 0x1400473bc
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], 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
movzx ecx, r8b
shr r8d, 8
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
mov dword [rbx + 0x44], edx
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 0x140047458
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14004744c
mov dword [rbx + 0x24], 0x30000
jmp 0x14004747f
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x14004747f
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047478
lea r9, [rbp - 0x7c]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14004747f
mov dword [rbx + 0x24], 0x1000000
cmp byte [rbx + 0x41], 0
lea r10, [rsp + 0x46]
movzx edx, byte [rbp - 0x5c]
mov byte [rsp + 0x46], dl
je 0x140047545
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x1400474b3
cmp dword [rbx + 0x58], 1
jae 0x1400474b3
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x1400474b8
test rax, rax
jne 0x1400474d2
mov ecx, 2
call fcn.14009bed8
movzx edx, byte [rsp + 0x46]
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
mov ecx, edx
and r9d, 0xfffd
movsx r10, byte [rax]
or r9d, 2
xor rcx, r10
shr edx, 8
movzx eax, cl
movzx ecx, r8b
shr r8d, 8
xor edx, dword [r14 + rax*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
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 0x14004756e
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140047562
mov dword [rbx + 0x24], 0x30000
jmp 0x140047598
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x140047598
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140047591
lea r9, [rbp - 0x78]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140047598
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x5c]
lea rdx, [rsp + 0x46]
shr eax, 8
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x46], al
je 0x140047663
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x1400475ce
cmp dword [rbx + 0x58], 1
jae 0x1400475ce
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x1400475d3
test rdx, rdx
jne 0x1400475f0
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], 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
movzx ecx, r8b
shr r8d, 8
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
mov dword [rbx + 0x44], edx
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 0x14004768c
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x140047680
mov dword [rbx + 0x24], 0x30000
jmp 0x1400476b3
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x1400476b3
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400476ac
lea r9, [rbp - 0x74]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1400476b3
mov dword [rbx + 0x24], 0x1000000
mov eax, dword [rbp - 0x5c]
lea rdx, [rsp + 0x47]
shr eax, 0x10
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x47], al
je 0x14004777e
mov rcx, qword [rbx + 0x50]
mov rdx, rcx
test rcx, rcx
je 0x1400476e9
cmp dword [rbx + 0x58], 1
jae 0x1400476e9
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x1400476ee
test rdx, rdx
jne 0x14004770b
mov ecx, 2
call fcn.14009bed8
mov rdx, rax
mov qword [rbx + 0x50], 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 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
movzx ecx, r8b
shr r8d, 8
xor edx, dword [r14 + rax*4]
movzx eax, dl
add eax, dword [rbx + 0x48]
imul eax, eax, 0x8088405
mov dword [rbx + 0x44], edx
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 0x1400477a7
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x14004779b
mov dword [rbx + 0x24], 0x30000
jmp 0x1400477cf
movzx eax, byte [rdx]
mov byte [rcx + r8], al
inc dword [rbx + 0x38]
jmp 0x1400477cf
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400477c8
lea r9, [rsp + 0x58]
mov qword [rsp + 0x20], rsi
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1400477cf
mov dword [rbx + 0x24], 0x1000000
mov edx, dword [rbp - 0x5c]
lea r10, [rsp + 0x47]
shr edx, 0x18
cmp byte [rbx + 0x41], 0
mov byte [rsp + 0x47], dl
je 0x140047897
mov rcx, qword [rbx + 0x50]
mov rax, rcx
test rcx, rcx
je 0x140047805
cmp dword [rbx + 0x58], 1
jae 0x140047805
call fcn.14009b518
mov qword [rbx + 0x50], rsi
jmp 0x14004780a
test rax, rax
jne 0x140047824
mov ecx, 2
call fcn.14009bed8
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 r8d, dword [rbx + 0x4c]
mov edx, dword [rbx + 0x44]
mov r9d, r8d
mov ecx, edx
and r9d, 0xfffd
movsx r10, byte [rax]
or r9d, 2
xor rcx, r10
shr edx, 8
movzx eax, cl
movzx ecx, r8b
shr r8d, 8
xor edx, dword [r14 + rax*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
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 0x1400478c0
mov ecx, dword [rbx + 0x38]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x3c]
jb 0x1400478b4
mov dword [rbx + 0x24], 0x30000
jmp 0x1400478eb
movzx eax, byte [r10]
mov byte [rcx + rdx], al
inc dword [rbx + 0x38]
jmp 0x1400478eb
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400478e4
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], rsi
mov r8d, 1
mov rdx, r10
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x1400478eb
mov dword [rbx + 0x24], 0x1000000
movzx eax, word [rbp - 0x34]
add dword [rbx + 0x28], 0x10
mov word [rbp - 0x6c], ax
mov eax, dword [rbx + 0x24]
test eax, eax
jne 0x1400479e6
mov rcx, qword [rbp - 0x48]
call fcn.14009bed8
mov r8, qword [rbp - 0x48]
mov rcx, rax
mov rdx, qword [rbp + 0xe8]
mov rdi, rax
call fcn.14009de10
mov ecx, 0x388
mov qword [rbp + 0xe8], rdi
call fcn.14009b4d4
mov r8, rax
mov rcx, rax
lea rax, [rbp - 0x70]
mov edx, 7
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 0x140047941
mov rax, qword [rax]
mov qword [rcx], rax
mov rcx, qword [rbx + 0x60]
test rcx, rcx
jne 0x1400479ab
mov qword [rbx + 0x60], r8
xor eax, eax
jmp 0x1400479e6
mov rax, qword [rcx + 0x380]
test rax, rax
je 0x1400479cf
nop word [rax + rax]
mov rcx, rax
mov rax, qword [rax + 0x380]
test rax, rax
jne 0x1400479c0
mov qword [rcx + 0x380], r8
xor eax, eax
jmp 0x1400479e6
mov eax, 0x4000000
jmp 0x1400479e6
mov eax, 0x10000
mov r13, qword [rsp + 0x6a8]
mov r12, qword [rsp + 0x6b0]
mov rdi, qword [rsp + 0x6b8]
mov rsi, qword [rsp + 0x6e8]
mov r14, qword [rsp + 0x6a0]
mov rcx, qword [rbp + 0x590]
xor rcx, rsp
call fcn.14009b5b0
add rsp, 0x6c0
pop r15
pop rbx
pop rbp
ret