Function at 0x43f170
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x490828
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x50]
push str.7ZipSfx._03x
push eax
call fcn.0043abe0
add esp, 8
xor ebx, ebx
mov dword [esp + 0x64], ebx
mov ecx, dword [esp + 0x6c]
push eax
call fcn.00456330
or edi, 0xffffffff
mov dword [esp + 0x64], edi
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0046f7da
add esp, 4
call fcn.0043aa30
mov ebp, 6
cmp dword [eax + 0x1c], ebp
lea esi, [ebx + 7]
jl 0x43f294
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
mov dword [esp + 0x30], eax
push 0x12
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.._sourcesmain.cpp
mov word [ecx + 4], dx
call fcn.0040faf0
mov dword [esp + 0x80], 1
push 0xc5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x17
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.SetExtractionPathToTemp
mov word [ecx + 4], ax
call fcn.0040faf0
mov byte [esp + 0xa0], 2
lea eax, [esp + 0x50]
mov dword [esp + 0x64], eax
lea ecx, [esp + 0x4f]
lea edx, [esp + 0x7c]
lea eax, [esp + 0x6c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x60], edx
push eax
lea ecx, [esp + 0x60]
lea edx, [esp + 0x68]
push ebp
mov byte [esp + 0x57], bl
mov dword [esp + 0x64], str.Extraction_temp_path_is
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_wchar_t_const__const_const___class_Nvidia::Logging::Chain_char_const_____24___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType____.0
mov dword [esp + 0x78], edx
call fcn.0043aa30
mov dword [esp + 0xa8], edi
mov ecx, eax
call fcn.0043a8d0
mov dword [esp + 0x14], ebx
jmp 0x43f2a0
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x18]
push ecx
push edx
mov dword [esp + 0x20], ebx
call fcn.00405190
add esp, 8
test al, al
je 0x43f528
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyW]
test eax, eax
jne 0x43f528
call fcn.0043aa30
cmp dword [eax + 0x1c], ebp
jl 0x43f386
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x12
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.._sourcesmain.cpp
mov word [ecx + 4], dx
call fcn.0040faf0
mov dword [esp + 0x80], 3
push 0xce
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x17
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.SetExtractionPathToTemp
mov word [ecx + 4], ax
call fcn.0040faf0
mov byte [esp + 0xa0], 4
lea ecx, [esp + 0x4f]
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x88]
lea eax, [esp + 0x70]
push ebp
mov byte [esp + 0x57], bl
mov dword [esp + 0x74], str.Extraction_temp_path_not_empty._Nuking_it_out..
mov dword [esp + 0x78], edx
mov dword [esp + 0x6c], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____48___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x70], eax
call fcn.0043aa30
mov dword [esp + 0xa8], edi
mov ecx, eax
call fcn.0043a8d0
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
push eax
call fcn.00404b00
add esp, 4
test eax, eax
jne 0x43f528
call fcn.0043aa30
cmp dword [eax + 0x1c], ebp
jl 0x43f459
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x12
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.._sourcesmain.cpp
mov word [ecx + 4], ax
call fcn.0040faf0
mov dword [esp + 0x80], 5
push 0xd2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x17
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.SetExtractionPathToTemp
mov word [ecx + 4], dx
call fcn.0040faf0
mov byte [esp + 0xa0], 6
lea eax, [esp + 0x4f]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0x78]
push ebp
mov byte [esp + 0x57], bl
mov dword [esp + 0x7c], str.Extraction_temp_path_was_not_cleaned_up._Trying_again..
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0x497660
mov dword [esp + 0x88], edx
call fcn.0043aa30
mov dword [esp + 0xa8], edi
mov ecx, eax
call fcn.0043a8d0
mov eax, dword [esp + 0x14]
add eax, 2
cmp eax, 5
mov dword [esp + 0x14], eax
jl 0x43f2a0
call fcn.0043aa30
cmp dword [eax + 0x1c], ebp
jl 0x43f528
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 0x12
xor edx, edx
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.._sourcesmain.cpp
mov word [ecx + 4], dx
call fcn.0040faf0
mov dword [esp + 0x80], esi
push 0xd5
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x58], esp
push 0x17
xor eax, eax
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.SetExtractionPathToTemp
mov word [ecx + 4], ax
call fcn.0040faf0
mov byte [esp + 0xa0], 8
lea ecx, [esp + 0x4f]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x90]
lea eax, [esp + 0x80]
push ebp
mov byte [esp + 0x57], bl
mov dword [esp + 0x84], str.Unable_to_create_a_good_temp_folder_for_extraction.
mov dword [esp + 0x88], edx
mov dword [esp + 0x7c], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____52___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x80], eax
call fcn.0043aa30
mov dword [esp + 0xa8], edi
mov ecx, eax
call fcn.0043a8d0
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret