Function at 0x140022190
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x480
mov rax, qword [0x1401f3660]
xor rax, rsp
mov qword [rsp + 0x470], rax
xor edi, edi
lea rax, [0x1401d07f0]
mov rbx, rcx
mov qword [rcx], rax
mov qword [rcx + 8], rdi
mov dword [rcx + 0x144], edi
mov qword [rcx + 0x148], rdi
mov qword [rcx + 0x158], rdi
mov qword [rcx + 0x160], rdi
lea rcx, [rsp + 0x60]
xor edx, edx
mov r8d, 0x9c
mov dword [rsp + 0x50], edi
call fcn.140041940
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x9c
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x1400222aa
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.GetProductInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400222aa
movzx r9d, word [rsp + 0xf6]
movzx r8d, word [rsp + 0xf4]
mov edx, dword [rsp + 0x68]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rsp + 0x64]
call rax
test eax, eax
je 0x1400222aa
mov eax, dword [rsp + 0x50]
cmp eax, 0xc
jb 0x1400222aa
cmp eax, 0xe
jbe 0x140022277
cmp eax, 0x1d
je 0x140022277
cmp eax, 0x26
jbe 0x1400222aa
cmp eax, 0x29
ja 0x1400222aa
lea rdx, [0x14023df20]
mov ecx, 0x148
call fcn.140044150
test rax, rax
je 0x140022297
mov rcx, rax
call fcn.140022da0
jmp 0x14002229a
mov rax, rdi
test rax, rax
mov qword [rbx + 0x160], rax
jne 0x140022463
lea rcx, [rsp + 0x161]
xor edx, edx
mov r8d, 0x103
mov byte [rsp + 0x160], dil
call fcn.140041940
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rsp + 0x160]
mov r8d, 0x103
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x140022366
mov qword [rsp + 0x40], 0x100
lea rax, [rsp + 0x270]
lea r9, [rsp + 0x60]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x370]
mov qword [rsp + 0x30], 0x100
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x160]
mov r8d, 3
mov qword [rsp + 0x20], 0x100
call fcn.140044670
lea r11, [rsp + 0x60]
lea r9, [rsp + 0x50]
lea r8, [0x1401cd7d0]
lea rcx, [rsp + 0x160]
mov edx, 0x104
mov qword [rsp + 0x20], r11
call fcn.1400418a0
jmp 0x14002236c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.zlibwapi.dll
lea rcx, [rsp + 0x160]
mov edx, 0x104
call fcn.1400434a0
lea rcx, [rsp + 0x160]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
mov qword [rbx + 0x158], rax
je 0x140022463
lea rdx, str.zipOpen
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x158]
lea rdx, str.zipClose
mov qword [rbx + 0x168], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x158]
lea rdx, str.zipOpenNewFileInZip
mov qword [rbx + 0x170], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x158]
lea rdx, str.zipWriteInFileInZip
mov qword [rbx + 0x178], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [rbx + 0x158]
lea rdx, str.zipCloseFileInZip
mov qword [rbx + 0x180], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [rbx + 0x168], rdi
mov qword [rbx + 0x188], rax
je 0x14002244f
cmp qword [rbx + 0x170], rdi
je 0x14002244f
cmp qword [rbx + 0x178], rdi
je 0x14002244f
cmp qword [rbx + 0x180], rdi
je 0x14002244f
test rax, rax
jne 0x140022463
mov rcx, qword [rbx + 0x158]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rbx + 0x158], rdi
mov rax, rbx
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.140041910
mov rbx, qword [rsp + 0x498]
add rsp, 0x480
pop rdi
ret