Function at 0x4527e0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0x5403ec], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov dword [ebp - 4], ecx
jne 0x452814
push str.WIMCreateFile
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5403ec], eax
cmp dword [0x5404c8], 0
jne 0x452838
push str.WIMSetTemporaryPath
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5404c8], eax
cmp dword [0x53ffcc], 0
jne 0x45285c
push str.WIMLoadImage
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x53ffcc], eax
cmp dword [0x5404c4], 0
jne 0x452880
push str.WIMApplyImage
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5404c4], eax
cmp dword [0x5401d8], 0
jne 0x4528a4
push str.WIMExtractImagePath
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5401d8], eax
cmp dword [0x5404b8], 0
jne 0x4528c8
push str.WIMGetImageInformation
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5404b8], eax
cmp dword [0x5404bc], 0
jne 0x4528ec
push str.WIMRegisterMessageCallback
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5404bc], eax
cmp dword [0x5404b0], 0
jne 0x452910
push str.WIMUnregisterMessageCallback
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5404b0], eax
mov eax, dword [0x5404d0]
test eax, eax
jne 0x452934
push str.WIMCloseHandle
push ecx
mov ecx, str.Wimgapi
call fcn.00409990
add esp, 4
push eax
call esi
mov dword [0x5404d0], eax
cmp dword [0x5403ec], 0
je 0x452963
cmp dword [0x5404c8], 0
je 0x452963
cmp dword [0x53ffcc], 0
je 0x452963
cmp dword [0x5401d8], 0
je 0x452963
test eax, eax
je 0x452963
or byte [0x52ba8e], 1
push 0x104
push 0x5402e8
push 1
mov edx, str.Software7_ZipPath
mov ecx, 0x80000001
call fcn.00427520
add esp, 0xc
test eax, eax
jne 0x4529ab
push 0x104
push 0x5402e8
push 1
mov edx, str.Software7_ZipPath
mov ecx, 0x80000002
call fcn.00427520
add esp, 0xc
test eax, eax
je 0x452ab9
mov ecx, 0x5402e8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4529b3
sub ecx, edx
mov eax, 0x103
sub eax, ecx
mov ecx, 8
cmp eax, ecx
cmova eax, ecx
push eax
push str.7z.exe
push 0x5402e8
call fcn.00499bf0
add esp, 0xc
cmp byte [0x5402e8], 0
jne 0x452a0e
push 2
push 1
call fcn.0049570f
mov esi, eax
push 0
push esi
call fcn.004a3d89
add esp, 0x10
mov edi, eax
test esi, esi
je 0x452aa3
jmp 0x452a9a
mov ebx, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0xffffffffffffffff
push 0x5402e8
push 0
push 0xfde9
call ebx
mov edi, eax
cmp edi, 1
jg 0x452a3f
push 0
push 0
call fcn.004a3d89
add esp, 8
mov edi, eax
jmp 0x452aa3
push 2
push edi
call fcn.0049570f
mov esi, eax
add esp, 8
test esi, esi
jne 0x452a5e
push eax
push eax
call fcn.004a3d89
add esp, 8
mov edi, eax
jmp 0x452aa3
push edi
push esi
push 0xffffffffffffffff
push 0x5402e8
push 0
push 0xfde9
call ebx
cmp eax, edi
je 0x452a8d
push esi
call fcn.004998ec
add esp, 4
push 0
push 0
call fcn.004a3d89
add esp, 8
mov edi, eax
jmp 0x452aa3
push 0
push esi
call fcn.004a3d89
add esp, 8
mov edi, eax
push esi
call fcn.004998ec
add esp, 4
cmp edi, 0xffffffff
je 0x452ab9
mov cl, byte [0x52ba8e]
or cl, 2
mov byte [0x52ba8e], cl
jmp 0x452abf
mov cl, byte [0x52ba8e]
test cl, 1
je 0x452ae8
cmp dword [0x5404c4], 0
je 0x452ae8
cmp dword [0x5404bc], 0
je 0x452ae8
cmp dword [0x5404b0], 0
je 0x452ae8
or cl, 4
mov byte [0x52ba8e], cl
cmp dword [ebp - 4], 0
jne 0x452b58
mov edi, 0x4ce59a
mov ebx, str.NONE
test cl, 2
je 0x452b04
mov edx, 0x4e8164
jmp 0x452b0c
test cl, 1
mov edx, edi
cmove edx, ebx
test cl, 1
mov esi, str.wimgapi.dll
mov eax, esi
cmove eax, edi
and cl, 3
push eax
cmp cl, 3
mov eax, 0x4e8160
cmovne eax, edi
push eax
push edx
push str.WIM_extraction_method_s__supported:__s_s_s
call fcn.004407e0
test byte [0x52ba8e], 4
cmove esi, ebx
push esi
push str.WIM_apply_method_supported:__s
call fcn.004407e0
mov al, byte [0x52ba8e]
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret