Function at 0x140046dd5
Capabilities:
Link many functions at runtime

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
cmp qword [0x1401181c8], 0
mov esi, ecx
jne 0x140046e0b
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMCreateFile
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x1401181c8], rax
cmp qword [0x1401181c0], 0
jne 0x140046e38
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMSetTemporaryPath
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x1401181c0], rax
cmp qword [0x1401181b8], 0
jne 0x140046e65
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMLoadImage
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x1401181b8], rax
cmp qword [0x1401181a0], 0
jne 0x140046e92
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMApplyImage
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x1401181a0], rax
cmp qword [0x140118198], 0
jne 0x140046ebf
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMExtractImagePath
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140118198], rax
cmp qword [0x140118190], 0
jne 0x140046eec
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMGetImageInformation
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140118190], rax
cmp qword [0x140118180], 0
jne 0x140046f19
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMRegisterMessageCallback
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140118180], rax
cmp qword [0x140118178], 0
jne 0x140046f46
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMUnregisterMessageCallback
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140118178], rax
cmp qword [0x140118188], 0
jne 0x140046f73
lea rcx, str.Wimgapi
call fcn.140045a56
lea rdx, str.WIMCloseHandle
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x140118188], rax
cmp qword [0x1401181c8], 0
je 0x140046fac
cmp qword [0x1401181c0], 0
je 0x140046fac
cmp qword [0x1401181b8], 0
je 0x140046fac
cmp qword [0x140118198], 0
je 0x140046fac
cmp qword [0x140118188], 0
je 0x140046fac
or byte [0x140118174], 1
mov dword [rsp + 0x20], 0x104
lea rbx, str.Software7_ZipPath
lea r9, [0x140117c20]
mov r8d, 1
mov rdx, rbx
mov rcx, 0xffffffff80000001
call fcn.140045b54
test eax, eax
je 0x140047035
lea rbx, [0x140117c20]
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.140045e79
xor edx, edx
mov rbx, rax
mov rcx, rax
call qword [sym.imp.msvcrt.dll__waccess]
mov edi, eax
test rbx, rbx
je 0x140047062
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x140047062
lea r9, [0x140117c20]
mov dword [rsp + 0x20], 0x104
mov r8d, 1
mov rdx, rbx
mov rcx, 0xffffffff80000002
call fcn.140045b54
test eax, eax
je 0x140047075
jmp 0x140046fdb
inc edi
mov al, byte [0x140118174]
je 0x140047075
or eax, 2
mov byte [0x140118174], al
mov al, byte [0x140118174]
test al, 1
je 0x1400470a6
cmp qword [0x1401181a0], 0
je 0x1400470a6
cmp qword [0x140118180], 0
je 0x1400470a6
cmp qword [0x140118178], 0
je 0x1400470a6
or eax, 4
mov byte [0x140118174], al
test esi, esi
jne 0x14004712e
mov al, byte [0x140118174]
lea r9, [0x1400a5634]
mov r8, r9
mov ecx, eax
and cl, 1
je 0x1400470de
mov edx, eax
lea r9, str.wimgapi.dll
not edx
and dl, 3
lea rdx, [0x1400a5d07]
cmove r8, rdx
lea rdx, [0x1400a5d0f]
test al, 2
jne 0x1400470fd
test cl, cl
lea rdx, str.NONE
lea rax, [0x1400a5634]
cmovne rdx, rax
lea rcx, str.WIM_extraction_method_s__supported:__s_s_s
call fcn.1400380b9
test byte [0x140118174], 4
lea rdx, str.NONE
lea rax, str.wimgapi.dll
cmovne rdx, rax
lea rcx, str.WIM_apply_method_supported:__s
call fcn.1400380b9
mov al, byte [0x140118174]
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret