Function at 0x140045ba8
Capabilities:
Link many functions at runtime

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp qword [0x140112e50], 0
mov esi, ecx
jne 0x140045bde
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMCreateFile
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e50], rax
cmp qword [0x140112e48], 0
jne 0x140045c0b
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMSetTemporaryPath
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e48], rax
cmp qword [0x140112e40], 0
jne 0x140045c38
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMLoadImage
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e40], rax
cmp qword [0x140112e28], 0
jne 0x140045c65
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMApplyImage
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e28], rax
cmp qword [0x140112e20], 0
jne 0x140045c92
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMExtractImagePath
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e20], rax
cmp qword [0x140112e18], 0
jne 0x140045cbf
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMGetImageInformation
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e18], rax
cmp qword [0x140112e08], 0
jne 0x140045cec
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMRegisterMessageCallback
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e08], rax
cmp qword [0x140112e00], 0
jne 0x140045d19
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMUnregisterMessageCallback
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e00], rax
cmp qword [0x140112e10], 0
jne 0x140045d46
lea rcx, str.Wimgapi
call fcn.140044550
lea rdx, str.WIMCloseHandle
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140112e10], rax
cmp qword [0x140112e50], 0
je 0x140045d7f
cmp qword [0x140112e48], 0
je 0x140045d7f
cmp qword [0x140112e40], 0
je 0x140045d7f
cmp qword [0x140112e20], 0
je 0x140045d7f
cmp qword [0x140112e10], 0
je 0x140045d7f
or byte [0x140112df4], 1
mov dword [rsp + 0x20], 0x104
lea rbx, str.Software7_ZipPath
lea r9, [0x1401128a0]
mov r8d, 1
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.1400447d4
test eax, eax
je 0x140045e08
lea rbx, [0x1401128a0]
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov r8d, 0x103
lea rdx, str.7z.exe
mov rcx, rbx
sub r8, rax
mov eax, 8
cmp r8, rax
cmova r8, rax
call sub.msvcrt.dll_strncat
mov rcx, rbx
call fcn.1400449d3
xor edx, edx
mov rbx, rax
mov rcx, rax
call qword [sym.imp.msvcrt.dll__waccess]
mov edi, eax
test rbx, rbx
je 0x140045e35
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x140045e35
lea r9, [0x1401128a0]
mov dword [rsp + 0x20], 0x104
mov r8d, 1
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.1400447d4
test eax, eax
je 0x140045e48
jmp 0x140045dae
inc edi
mov al, byte [0x140112df4]
je 0x140045e48
or eax, 2
mov byte [0x140112df4], al
mov al, byte [0x140112df4]
test al, 1
je 0x140045e79
cmp qword [0x140112e28], 0
je 0x140045e79
cmp qword [0x140112e08], 0
je 0x140045e79
cmp qword [0x140112e00], 0
je 0x140045e79
or eax, 4
mov byte [0x140112df4], al
test esi, esi
jne 0x140045f01
mov al, byte [0x140112df4]
lea r9, [0x1400a315a]
mov r8, r9
mov ecx, eax
and cl, 1
je 0x140045eb1
mov edx, eax
lea r9, str.wimgapi.dll
not edx
and dl, 3
lea rdx, [0x1400a3157]
cmove r8, rdx
lea rdx, [0x1400a3160]
test al, 2
jne 0x140045ed0
test cl, cl
lea rdx, str.NONE
lea rax, [0x1400a315a]
cmovne rdx, rax
lea rcx, str.WIM_extraction_method_s__supported:__s_s_s
call fcn.140036717
test byte [0x140112df4], 4
lea rdx, str.NONE
lea rax, str.wimgapi.dll
cmovne rdx, rax
lea rcx, str.WIM_apply_method_supported:__s
call fcn.140036717
mov al, byte [0x140112df4]
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret