Function at 0x44fbec
Capabilities:
Delete file
Write file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x6e8]
sub rsp, 0x7b0
xor edi, edi
mov r15, r8
mov r13, rdx
mov r12, rcx
test rdx, rdx
je 0x451372
test r8, r8
je 0x451372
lea rax, [rbp + 0x4a8]
mov dword [rbp + 0x4a0], edi
lea r14, [0x004837b8]
mov qword [rbp + 0x498], rax
mov esi, 0x104
mov qword [rbp + 0x490], r14
mov rdx, r8
mov dword [rbp + 0x4a4], esi
lea rcx, [rbp + 0x490]
mov word [rbp + 0x4a8], di
call fcn.00403ec4
lea rax, [rbp + 0x288]
mov qword [rbp + 0x270], r14
lea rbx, [0x0048d7e0]
mov qword [rbp + 0x278], rax
mov rdx, r15
mov qword [rbp + 0x490], rbx
lea rcx, [rbp + 0x270]
mov dword [rbp + 0x280], edi
mov dword [rbp + 0x284], esi
mov word [rbp + 0x288], di
call fcn.00403ec4
mov r8, qword [rbp + 0x278]
mov edx, dword [rbp + 0x280]
mov qword [rbp + 0x270], rbx
test r8, r8
je 0x44fcfe
test edx, edx
je 0x44fcfe
lea edx, [rdi + 0x5c]
mov rcx, r8
call fcn.00423d84
mov r8, qword [rbp + 0x278]
mov r9, rax
mov edx, dword [rbp + 0x280]
test rax, rax
je 0x44fcfe
sub r9, r8
sar r9, 1
jmp 0x44fd02
or r9d, 0xffffffff
mov rbx, qword [rbp + 0x498]
test rbx, rbx
je 0x44fd5a
mov ecx, dword [rbp + 0x4a0]
lea eax, [rcx + 4]
cmp eax, dword [rbp + 0x4a4]
jae 0x44fd5a
mov rax, qword [str..zip]
mov qword [rbx + rcx*2], rax
mov eax, dword [rbp + 0x4a0]
add eax, 4
mov dword [rbp + 0x4a0], eax
mov ecx, eax
mov rax, qword [rbp + 0x498]
mov word [rax + rcx*2], di
mov rbx, qword [rbp + 0x498]
mov edx, dword [rbp + 0x280]
mov r8, qword [rbp + 0x278]
test r9d, r9d
js 0x44fdc1
inc r9d
test edx, edx
je 0x44fdc1
test r9d, r9d
je 0x44fdc1
test r8, r8
je 0x44fdc1
cmp r9d, edx
cmova r9d, edx
cmp r9d, edx
jae 0x44fdac
mov r10d, edi
je 0x44fdac
mov edx, r10d
lea eax, [r10 + r9]
movzx eax, word [r8 + rax*2]
inc r10d
mov word [r8 + rdx*2], ax
mov edx, dword [rbp + 0x280]
mov eax, edx
mov r8, qword [rbp + 0x278]
sub eax, r9d
cmp r10d, eax
jb 0x44fd81
sub edx, r9d
mov dword [rbp + 0x280], edx
mov word [r8 + rdx*2], di
mov rbx, qword [rbp + 0x498]
or dword [rsp + 0x70], 0xffffffff
lea rax, [rbp - 0x70]
or qword [rbp + 0x198], 0xffffffffffffffff
lea rcx, [rbp + 0x1a0]
mov qword [rbp - 0x80], rax
xor edx, edx
lea rax, [0x004837b0]
mov dword [rbp - 0x78], edi
mov qword [rsp + 0x78], rax
mov r8d, 0xc8
lea rax, [0x00486230]
mov dword [rbp - 0x74], 0x100
mov qword [rbp + 0x190], rax
mov word [rbp - 0x70], di
call fcn.00424830
mov qword [rbp + 0x268], rdi
test rbx, rbx
je 0x451363
mov rcx, qword [rbp + 0x198]
mov r14d, 0xffffffff
cmp rcx, 0xffffffffffffffff
je 0x45013b
cmp byte [rbp + 0x1b0], dil
je 0x44fe53
lea rcx, [rsp + 0x70]
call fcn.0045971c
mov rcx, qword [rbp + 0x198]
mov qword [rbp + 0x708], rdi
cmp rcx, 0xffffffffffffffff
je 0x45013b
mov r9d, 1
lea r8, [rbp + 0x70c]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r14d
jne 0x44fe92
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x45013b
mov rsi, qword [rbp + 0x708]
cmp rsi, 0xffffffffffffffff
je 0x45013b
lea rcx, [rsp + 0x70]
call fcn.0045968c
mov r12d, eax
cmp rsi, r14
jb 0x450044
jbe 0x450134
mov rcx, qword [rbp + 0x198]
mov qword [rbp + 0x6f8], rdi
cmp rcx, 0xffffffffffffffff
je 0x450134
mov r9d, 1
lea r8, [rbp + 0x6fc]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x6f8], eax
cmp eax, r14d
jne 0x44ff05
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x450134
mov r14, qword [rbp + 0x6f8]
cmp r14, 0xffffffffffffffff
je 0x45012e
mov edx, 0x6064b50
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a358
test al, al
je 0x45012e
mov edx, 0x2c
lea rcx, [rsp + 0x70]
lea r8d, [rdx - 0x24]
call fcn.0045a358
test al, al
je 0x45012e
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 2]
call fcn.0045a358
test al, al
je 0x45012e
mov edx, 0x2d
lea rcx, [rsp + 0x70]
lea r8d, [rdx - 0x2b]
call fcn.0045a358
test al, al
je 0x45012e
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 4]
call fcn.0045a358
test al, al
je 0x45012e
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 4]
call fcn.0045a358
test al, al
je 0x45012e
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, 8
call fcn.0045a358
test al, al
je 0x45012e
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, 8
call fcn.0045a358
test al, al
je 0x45012e
mov edx, dword [rbp + 0x230]
lea rcx, [rsp + 0x70]
add edx, 0x14
mov r8d, 8
call fcn.0045a358
test al, al
je 0x45012e
mov r8d, 8
lea rcx, [rsp + 0x70]
mov rdx, rsi
call fcn.0045a358
test al, al
je 0x45012e
mov rdx, r14
lea rcx, [rsp + 0x70]
call fcn.0045a494
mov r14d, 0xffffffff
test al, al
je 0x450134
mov edx, 0x6054b50
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a3c8
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 2]
call fcn.0045a3c8
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 2]
call fcn.0045a3c8
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, 2
call fcn.0045a3c8
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, 2
call fcn.0045a3c8
mov r8d, 4
lea rcx, [rsp + 0x70]
mov edx, r12d
call fcn.0045a3c8
cmp rsi, r14
lea rcx, [rsp + 0x70]
mov r8d, 4
cmovae esi, r14d
mov edx, esi
call fcn.0045a3c8
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 2]
call fcn.0045a3c8
mov rcx, qword [rbp + 0x198]
cmp rcx, 0xffffffffffffffff
je 0x4500fc
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or qword [rbp + 0x198], 0xffffffffffffffff
mov rcx, qword [rbp + 0x240]
test rcx, rcx
je 0x450114
call fcn.00422660
mov qword [rbp + 0x240], rdi
lea rcx, [rsp + 0x70]
call fcn.00459588
mov byte [rbp + 0x1b0], dil
mov qword [rbp + 0x260], rdi
jmp 0x450134
mov r14d, 0xffffffff
mov r12, qword [rbp + 0x6f0]
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.00403ec4
cmp dword [rbp - 0x78], edi
jbe 0x451363
mov rcx, qword [rbp + 0x198]
mov rbx, qword [rbp - 0x80]
cmp rcx, 0xffffffffffffffff
je 0x450173
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or rcx, 0xffffffffffffffff
mov qword [rbp + 0x198], rcx
test rbx, rbx
je 0x4501ab
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, rax
mov qword [rbp + 0x198], rax
cmp rcx, 0xffffffffffffffff
setne al
test al, al
je 0x451363
mov qword [rsp + 0x60], rdi
cmp rcx, 0xffffffffffffffff
je 0x4501f4
mov r9d, 2
lea r8, [rsp + 0x64]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x60], eax
cmp eax, r14d
jne 0x4501e7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbp + 0x198]
cmp rcx, 0xffffffffffffffff
jne 0x4501fe
or rax, 0xffffffffffffffff
lea r14d, [rax + 2]
jmp 0x45023b
mov r14d, 1
mov qword [rsp + 0x40], rdi
mov r9d, r14d
lea r8, [rsp + 0x44]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, 0xffffffff
mov dword [rsp + 0x40], eax
cmp eax, ecx
jne 0x450236
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x450236
or rax, 0xffffffffffffffff
jmp 0x45023b
mov rax, qword [rsp + 0x40]
mov r8, qword [rbp + 0x278]
lea rcx, [rsp + 0x70]
mov rdx, r15
mov dword [rbp + 0x260], eax
call fcn.0045a7e4
mov r10, qword [rbp + 0x198]
test al, al
jne 0x450a82
cmp r10, 0xffffffffffffffff
je 0x451356
cmp byte [rbp + 0x1b0], dil
je 0x4507a7
mov ecx, dword [rbp + 0x21c]
mov r12d, 4
mov dword [rbp + 0x1c0], edi
cmp dword [rbp + 0x1d8], edi
jne 0x45030b
mov rax, qword [rbp + 0x240]
mov edx, edi
mov dword [rbp + 0x708], edx
cmp r10, 0xffffffffffffffff
je 0x4502ec
test rax, rax
je 0x4502ec
test ecx, ecx
je 0x4502ec
mov r8d, ecx
mov qword [rsp + 0x20], rdi
mov rcx, r10
lea r9, [rbp + 0x708]
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [rbp + 0x21c]
neg eax
mov rax, qword [rbp + 0x240]
mov r10, qword [rbp + 0x198]
sbb edx, edx
and edx, dword [rbp + 0x708]
cmp edx, ecx
jne 0x4507a7
mov dword [rbp + 0x21c], edi
mov dword [rbp + 0x1d8], 0x100000
mov qword [rbp + 0x1d0], rax
mov rbx, qword [rbp + 0x1e0]
lea rcx, [rbp + 0x1b8]
mov edx, r12d
call fcn.004671c4
mov ecx, dword [rbp + 0x21c]
mov r8d, eax
mov edx, dword [rbp + 0x1e0]
sub edx, ebx
add ecx, edx
mov dword [rbp + 0x21c], ecx
test eax, eax
jne 0x45034a
mov r10, qword [rbp + 0x198]
jmp 0x45028d
cmp r8d, r14d
mov eax, edi
mov ebx, 0xfffffffd
cmovne eax, r8d
test ebx, eax
jne 0x4507a0
test ecx, ecx
je 0x4503bc
mov r10, qword [rbp + 0x198]
mov eax, edi
mov dword [rbp + 0x708], eax
cmp r10, 0xffffffffffffffff
je 0x4503b4
mov rdx, qword [rbp + 0x240]
test rdx, rdx
je 0x4503b4
mov r8d, ecx
mov qword [rsp + 0x20], rdi
mov rcx, r10
lea r9, [rbp + 0x708]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [rbp + 0x21c]
neg eax
mov r10, qword [rbp + 0x198]
sbb eax, eax
and eax, dword [rbp + 0x708]
cmp eax, ecx
jne 0x4507a7
lea rcx, [rbp + 0x1b8]
call fcn.00467b10
mov dword [rbp + 0x218], edi
test ebx, eax
jne 0x4507a0
mov ecx, dword [rbp + 0x24c]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov byte [rdx + rax + 0x10], cl
add rax, r14
shr ecx, 8
cmp rax, r12
jl 0x4503e6
mov r15d, 0xffffffff
mov esi, select
cmp qword [rbp + 0x1c8], r15
jae 0x450473
cmp qword [rbp + 0x1e0], r15
jae 0x450473
mov ecx, dword [rbp + 0x1e0]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov byte [rax + rdx + 0x14], cl
add rax, r14
shr ecx, 8
cmp rax, r12
jl 0x450422
mov ecx, dword [rbp + 0x1c8]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov byte [rax + rdx + 0x18], cl
add rax, r14
shr ecx, 8
cmp rax, r12
jl 0x450441
mov r8d, dword [rbp + 0x230]
lea rcx, [rsp + 0x70]
mov rdx, qword [rbp + 0x228]
call fcn.004595d4
mov r13d, 8
jmp 0x450569
mov rdx, qword [rbp + 0x228]
mov ecx, r15d
mov rax, rdi
mov byte [rax + rdx + 0x14], cl
add rax, r14
shr ecx, 8
cmp rax, r12
jl 0x450480
mov rdx, qword [rbp + 0x228]
mov ecx, r15d
mov rax, rdi
mov byte [rax + rdx + 0x18], cl
add rax, r14
shr ecx, 8
cmp rax, r12
jl 0x45049c
mov r8d, 2
lea rcx, [rsp + 0x48]
mov edx, r8d
mov rax, r14
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x4504bc
mov rax, rsi
lea rcx, [rsp + 0x4a]
mov rdx, r8
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x4504d5
mov rax, qword [rbp + 0x1c8]
lea r13d, [rdx + 8]
mov edx, r13d
lea rcx, [rsp + 0x4c]
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x4504f6
mov rax, qword [rbp + 0x1e0]
lea rcx, [rsp + 0x54]
mov rdx, r13
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x450513
lea ebx, [rdx + 0x14]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov ecx, ebx
mov byte [rax + rdx + 0x1e], cl
add rax, r14
shr ecx, 8
cmp rax, r8
jl 0x450530
mov r8d, dword [rbp + 0x230]
lea rcx, [rsp + 0x70]
mov rdx, qword [rbp + 0x228]
call fcn.004595d4
mov r8d, ebx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.004595d4
mov rcx, qword [rbp + 0x228]
test rcx, rcx
je 0x450581
call fcn.00422660
mov qword [rbp + 0x228], rdi
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451356
mov r9d, r14d
mov qword [rbp + 0x708], rdi
lea r8, [rbp + 0x70c]
xor edx, edx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x4505c7
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4507a0
mov rbx, qword [rbp + 0x708]
cmp rbx, 0xffffffffffffffff
je 0x4507a0
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451356
mov ecx, dword [rbp + 0x220]
lea r8, [rbp + 0x70c]
add ecx, 0xe
xor r9d, r9d
mov qword [rbp + 0x708], rcx
mov edx, ecx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x450627
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4507a0
cmp qword [rbp + 0x708], 0xffffffffffffffff
je 0x4507a0
mov edx, dword [rbp + 0x24c]
lea rcx, [rsp + 0x70]
mov r8d, r12d
call fcn.0045a3c8
lea rcx, [rsp + 0x70]
mov r8d, r12d
cmp byte [rbp + 0x25c], dil
jne 0x45067c
mov edx, dword [rbp + 0x1e0]
call fcn.0045a3c8
mov edx, dword [rbp + 0x1c8]
lea rcx, [rsp + 0x70]
mov r8d, r12d
call fcn.0045a3c8
jmp 0x450746
mov edx, r15d
call fcn.0045a3c8
mov r8d, r12d
lea rcx, [rsp + 0x70]
mov edx, r15d
call fcn.0045a3c8
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451356
mov ecx, dword [rbp + 0x220]
lea r8, [rbp + 0x70c]
mov eax, dword [rbp + 0x258]
add ecx, 0x1e
add eax, ecx
xor r9d, r9d
mov edx, eax
mov qword [rbp + 0x708], rax
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x4506eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4507a0
cmp qword [rbp + 0x708], 0xffffffffffffffff
je 0x4507a0
mov r8d, 2
lea rcx, [rsp + 0x70]
mov edx, r14d
call fcn.0045a3c8
mov r8d, 2
lea rcx, [rsp + 0x70]
mov edx, esi
call fcn.0045a3c8
mov rdx, qword [rbp + 0x1c8]
lea rcx, [rsp + 0x70]
mov r8d, r13d
call fcn.0045a358
mov rdx, qword [rbp + 0x1e0]
lea rcx, [rsp + 0x70]
mov r8d, r13d
call fcn.0045a358
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451356
xor r9d, r9d
mov qword [rbp + 0x708], rbx
lea r8, [rbp + 0x70c]
mov edx, ebx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x450788
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4507a0
cmp qword [rbp + 0x708], 0xffffffffffffffff
je 0x4507a0
add dword [rbp + 0x264], r14d
mov byte [rbp + 0x1b0], dil
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451356
mov r9d, r14d
mov qword [rbp + 0x708], rdi
lea r8, [rbp + 0x70c]
xor edx, edx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov r15d, 0xffffffff
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x4507ec
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x451356
mov rbx, qword [rbp + 0x708]
cmp rbx, 0xffffffffffffffff
je 0x451356
lea rcx, [rsp + 0x70]
call fcn.0045968c
mov r14d, eax
cmp rbx, r15
jb 0x450998
jbe 0x451356
mov rcx, qword [rbp + 0x198]
cmp rcx, 0xffffffffffffffff
je 0x451356
mov r9d, 1
mov qword [rbp + 0x708], rdi
lea r8, [rbp + 0x70c]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x45085f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x451356
mov rsi, qword [rbp + 0x708]
cmp rsi, 0xffffffffffffffff
je 0x451356
mov edx, 0x6064b50
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a358
test al, al
je 0x451356
mov r12d, 8
lea rcx, [rsp + 0x70]
mov r8d, r12d
lea edx, [r12 + 0x24]
call fcn.0045a358
test al, al
je 0x451356
lea r13d, [r12 - 6]
xor edx, edx
mov r8d, r13d
lea rcx, [rsp + 0x70]
call fcn.0045a358
test al, al
je 0x451356
mov r8d, r13d
lea edx, [r12 + 0x25]
lea rcx, [rsp + 0x70]
call fcn.0045a358
test al, al
je 0x451356
xor edx, edx
lea r8d, [r12 - 4]
lea rcx, [rsp + 0x70]
call fcn.0045a358
test al, al
je 0x451356
xor edx, edx
lea r8d, [r12 - 4]
lea rcx, [rsp + 0x70]
call fcn.0045a358
test al, al
je 0x451356
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, r12d
call fcn.0045a358
test al, al
je 0x451356
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, r12d
call fcn.0045a358
test al, al
je 0x451356
mov edx, dword [rbp + 0x230]
lea rcx, [rsp + 0x70]
add edx, 0x14
mov r8d, r12d
call fcn.0045a358
test al, al
je 0x451356
mov r8d, r12d
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.0045a358
test al, al
je 0x451356
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.0045a494
test al, al
je 0x451356
jmp 0x45099e
mov r13d, 2
mov edx, 0x6054b50
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a3c8
mov r8d, r13d
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.0045a3c8
mov r8d, r13d
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.0045a3c8
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, r13d
call fcn.0045a3c8
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, r13d
call fcn.0045a3c8
mov r8d, 4
lea rcx, [rsp + 0x70]
mov edx, r14d
call fcn.0045a3c8
cmp rbx, r15
lea rcx, [rsp + 0x70]
mov r8d, 4
cmovae ebx, r15d
mov edx, ebx
call fcn.0045a3c8
mov r8d, r13d
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.0045a3c8
mov rcx, qword [rbp + 0x198]
cmp rcx, 0xffffffffffffffff
je 0x450a4d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or qword [rbp + 0x198], 0xffffffffffffffff
mov rcx, qword [rbp + 0x240]
test rcx, rcx
je 0x450a65
call fcn.00422660
mov qword [rbp + 0x240], rdi
lea rcx, [rsp + 0x70]
call fcn.00459588
mov byte [rbp + 0x1b0], dil
mov qword [rbp + 0x260], rdi
jmp 0x451356
cmp r10, 0xffffffffffffffff
je 0x451299
cmp byte [rbp + 0x1b0], dil
je 0x450fc8
mov ecx, dword [rbp + 0x21c]
mov dword [rbp + 0x1c0], edi
cmp dword [rbp + 0x1d8], edi
jne 0x450b23
mov rax, qword [rbp + 0x240]
mov edx, edi
mov dword [rbp + 0x708], edx
cmp r10, 0xffffffffffffffff
je 0x450b04
test rax, rax
je 0x450b04
test ecx, ecx
je 0x450b04
mov r8d, ecx
mov qword [rsp + 0x20], rdi
mov rcx, r10
lea r9, [rbp + 0x708]
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [rbp + 0x21c]
neg eax
mov rax, qword [rbp + 0x240]
mov r10, qword [rbp + 0x198]
sbb edx, edx
and edx, dword [rbp + 0x708]
cmp edx, ecx
jne 0x450fc8
mov dword [rbp + 0x21c], edi
mov dword [rbp + 0x1d8], 0x100000
mov qword [rbp + 0x1d0], rax
mov rbx, qword [rbp + 0x1e0]
lea rcx, [rbp + 0x1b8]
mov edx, 4
call fcn.004671c4
mov ecx, dword [rbp + 0x21c]
mov r8d, eax
mov edx, dword [rbp + 0x1e0]
sub edx, ebx
add ecx, edx
mov dword [rbp + 0x21c], ecx
test eax, eax
jne 0x450b64
mov r10, qword [rbp + 0x198]
jmp 0x450aa5
cmp r8d, r14d
mov eax, edi
mov ebx, 0xfffffffd
cmovne eax, r8d
test ebx, eax
jne 0x450fc1
test ecx, ecx
je 0x450bd6
mov r10, qword [rbp + 0x198]
mov eax, edi
mov dword [rbp + 0x708], eax
cmp r10, 0xffffffffffffffff
je 0x450bce
mov rdx, qword [rbp + 0x240]
test rdx, rdx
je 0x450bce
mov r8d, ecx
mov qword [rsp + 0x20], rdi
mov rcx, r10
lea r9, [rbp + 0x708]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [rbp + 0x21c]
neg eax
mov r10, qword [rbp + 0x198]
sbb eax, eax
and eax, dword [rbp + 0x708]
cmp eax, ecx
jne 0x450fc8
lea rcx, [rbp + 0x1b8]
call fcn.00467b10
mov dword [rbp + 0x218], edi
test ebx, eax
jne 0x450fc1
mov ecx, dword [rbp + 0x24c]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov byte [rdx + rax + 0x10], cl
add rax, r14
shr ecx, 8
cmp rax, 4
jl 0x450c00
mov r15d, 0xffffffff
mov esi, select
cmp qword [rbp + 0x1c8], r15
jae 0x450c80
cmp qword [rbp + 0x1e0], r15
jae 0x450c80
mov ecx, dword [rbp + 0x1e0]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov byte [rdx + rax + 0x14], cl
add rax, r14
shr ecx, 8
cmp rax, 4
jl 0x450c3d
mov ecx, dword [rbp + 0x1c8]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov byte [rdx + rax + 0x18], cl
add rax, r14
shr ecx, 8
cmp rax, 4
jl 0x450c5d
mov r8d, dword [rbp + 0x230]
mov rdx, qword [rbp + 0x228]
jmp 0x450d6e
mov rdx, qword [rbp + 0x228]
mov ecx, r15d
mov rax, rdi
mov byte [rdx + rax + 0x14], cl
add rax, r14
shr ecx, 8
cmp rax, 4
jl 0x450c8d
mov rdx, qword [rbp + 0x228]
mov ecx, r15d
mov rax, rdi
mov byte [rdx + rax + 0x18], cl
add rax, r14
shr ecx, 8
cmp rax, 4
jl 0x450caa
mov r9d, 2
lea rcx, [rsp + 0x48]
mov edx, r9d
mov rax, r14
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x450ccb
mov rax, rsi
lea rcx, [rsp + 0x4a]
mov rdx, r9
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x450ce4
mov rax, qword [rbp + 0x1c8]
lea r8d, [rdx + 8]
mov edx, r8d
lea rcx, [rsp + 0x4c]
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x450d05
mov rax, qword [rbp + 0x1e0]
lea rcx, [rsp + 0x54]
mov rdx, r8
mov byte [rcx], al
add rcx, r14
shr rax, 8
sub rdx, r14
jne 0x450d22
lea ebx, [rdx + 0x14]
mov rax, rdi
mov rdx, qword [rbp + 0x228]
mov ecx, ebx
mov byte [rdx + rax + 0x1e], cl
add rax, r14
shr ecx, 8
cmp rax, r9
jl 0x450d3f
mov r8d, dword [rbp + 0x230]
lea rcx, [rsp + 0x70]
mov rdx, qword [rbp + 0x228]
call fcn.004595d4
mov r8d, ebx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x70]
call fcn.004595d4
mov rcx, qword [rbp + 0x228]
test rcx, rcx
je 0x450d90
call fcn.00422660
mov qword [rbp + 0x228], rdi
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451299
mov r9d, r14d
mov qword [rbp + 0x708], rdi
lea r8, [rbp + 0x70c]
xor edx, edx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x450dd6
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x450fc1
mov rbx, qword [rbp + 0x708]
cmp rbx, 0xffffffffffffffff
je 0x450fc1
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451299
mov ecx, dword [rbp + 0x220]
lea r8, [rbp + 0x70c]
add ecx, 0xe
xor r9d, r9d
mov qword [rbp + 0x708], rcx
mov edx, ecx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x450e36
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x450fc1
cmp qword [rbp + 0x708], 0xffffffffffffffff
je 0x450fc1
mov edx, dword [rbp + 0x24c]
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a3c8
lea rcx, [rsp + 0x70]
mov r8d, 4
cmp byte [rbp + 0x25c], dil
jne 0x450e94
mov edx, dword [rbp + 0x1e0]
call fcn.0045a3c8
mov edx, dword [rbp + 0x1c8]
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a3c8
jmp 0x450f67
mov edx, r15d
call fcn.0045a3c8
mov r8d, 4
lea rcx, [rsp + 0x70]
mov edx, r15d
call fcn.0045a3c8
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451299
mov ecx, dword [rbp + 0x220]
lea r8, [rbp + 0x70c]
mov eax, dword [rbp + 0x258]
add ecx, 0x1e
add eax, ecx
xor r9d, r9d
mov edx, eax
mov qword [rbp + 0x708], rax
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x450f06
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x450fc1
cmp qword [rbp + 0x708], 0xffffffffffffffff
je 0x450fc1
mov r8d, 2
lea rcx, [rsp + 0x70]
mov edx, r14d
call fcn.0045a3c8
mov r8d, 2
lea rcx, [rsp + 0x70]
mov edx, esi
call fcn.0045a3c8
mov rdx, qword [rbp + 0x1c8]
lea rcx, [rsp + 0x70]
mov r8d, 8
call fcn.0045a358
mov rdx, qword [rbp + 0x1e0]
lea rcx, [rsp + 0x70]
mov r8d, 8
call fcn.0045a358
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451299
xor r9d, r9d
mov qword [rbp + 0x708], rbx
lea r8, [rbp + 0x70c]
mov edx, ebx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x450fa9
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x450fc1
cmp qword [rbp + 0x708], 0xffffffffffffffff
je 0x450fc1
add dword [rbp + 0x264], r14d
mov byte [rbp + 0x1b0], dil
mov r10, qword [rbp + 0x198]
cmp r10, 0xffffffffffffffff
je 0x451299
mov r9d, r14d
mov qword [rbp + 0x708], rdi
lea r8, [rbp + 0x70c]
xor edx, edx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov r15d, 0xffffffff
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x45100d
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x451299
mov rbx, qword [rbp + 0x708]
cmp rbx, 0xffffffffffffffff
je 0x451299
lea rcx, [rsp + 0x70]
call fcn.0045968c
mov r14d, eax
cmp rbx, r15
jb 0x4511b9
jbe 0x451299
mov rcx, qword [rbp + 0x198]
cmp rcx, 0xffffffffffffffff
je 0x451299
mov r9d, 1
mov qword [rbp + 0x708], rdi
lea r8, [rbp + 0x70c]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x708], eax
cmp eax, r15d
jne 0x451080
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x451299
mov rsi, qword [rbp + 0x708]
cmp rsi, 0xffffffffffffffff
je 0x451299
mov edx, 0x6064b50
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a358
test al, al
je 0x451299
mov edx, 0x2c
lea rcx, [rsp + 0x70]
lea r8d, [rdx - 0x24]
call fcn.0045a358
test al, al
je 0x451299
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 2]
call fcn.0045a358
test al, al
je 0x451299
mov edx, 0x2d
lea rcx, [rsp + 0x70]
lea r8d, [rdx - 0x2b]
call fcn.0045a358
test al, al
je 0x451299
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 4]
call fcn.0045a358
test al, al
je 0x451299
xor edx, edx
lea rcx, [rsp + 0x70]
lea r8d, [rdx + 4]
call fcn.0045a358
test al, al
je 0x451299
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, 8
call fcn.0045a358
test al, al
je 0x451299
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, 8
call fcn.0045a358
test al, al
je 0x451299
mov edx, dword [rbp + 0x230]
lea rcx, [rsp + 0x70]
add edx, 0x14
mov r8d, 8
call fcn.0045a358
test al, al
je 0x451299
mov r8d, 8
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.0045a358
test al, al
je 0x451299
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.0045a494
test al, al
je 0x451299
mov edx, 0x6054b50
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0045a3c8
mov esi, 2
lea rcx, [rsp + 0x70]
mov r8d, esi
xor edx, edx
call fcn.0045a3c8
mov r8d, esi
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.0045a3c8
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, esi
call fcn.0045a3c8
mov edx, dword [rbp + 0x264]
lea rcx, [rsp + 0x70]
mov r8d, esi
call fcn.0045a3c8
lea r8d, [rsi + 2]
mov edx, r14d
lea rcx, [rsp + 0x70]
call fcn.0045a3c8
cmp rbx, r15
lea r8d, [rsi + 2]
lea rcx, [rsp + 0x70]
cmovae ebx, r15d
mov edx, ebx
call fcn.0045a3c8
mov r8d, esi
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.0045a3c8
mov rcx, qword [rbp + 0x198]
cmp rcx, 0xffffffffffffffff
je 0x451269
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or qword [rbp + 0x198], 0xffffffffffffffff
mov rcx, qword [rbp + 0x240]
test rcx, rcx
je 0x451281
call fcn.00422660
mov qword [rbp + 0x240], rdi
lea rcx, [rsp + 0x70]
call fcn.00459588
mov byte [rbp + 0x1b0], dil
mov qword [rbp + 0x260], rdi
mov rdx, qword [rbp + 0x278]
test rdx, rdx
je 0x45133b
mov edx, dword [rbp + 0x284]
mov rcx, r13
call fcn.004293f8
mov rsi, rax
mov eax, dword [rbp + 0x284]
cmp esi, eax
jb 0x4512c7
lea esi, [rax - 1]
mov rcx, qword [rbp + 0x278]
mov rdx, r13
mov eax, esi
lea rbx, [rax + rax]
mov r8, rbx
call fcn.00424180
mov rax, qword [rbp + 0x278]
mov dword [rbp + 0x280], esi
mov word [rbx + rax], di
mov rdx, qword [rbp + 0x278]
test rdx, rdx
je 0x45133b
mov ecx, dword [rbp + 0x280]
lea eax, [rcx + 4]
cmp eax, dword [rbp + 0x284]
jae 0x45133b
mov rax, qword [str..zip]
mov qword [rdx + rcx*2], rax
mov eax, dword [rbp + 0x280]
add eax, 4
mov dword [rbp + 0x280], eax
mov ecx, eax
mov rax, qword [rbp + 0x278]
mov word [rax + rcx*2], di
mov rdx, qword [rbp + 0x278]
mov rax, qword [r12]
lea r9, str.file
mov r8, qword [rbp + 0x498]
mov rcx, r12
call qword [rax + 0x50]
mov rdi, rax
mov rcx, qword [rbp + 0x498]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x70]
call fcn.0045a684
mov rax, rdi
jmp 0x451374
xor eax, eax
mov rbx, qword [rsp + 0x800]
add rsp, 0x7b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret