Function at 0x43b530
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5c6ddb
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x62f570]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
lea eax, [esp + 0x3c]
push eax
call fcn.00413eb0
lea ecx, [esp + 0x24]
xor edi, edi
push ecx
mov dword [esp + 0x64], edi
call fcn.00402b00
mov ecx, dword [ebp + 8]
push edi
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x44]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x70], 1
call fcn.004344f0
test eax, eax
je 0x43b77a
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x43b5b9
mov eax, dword [esi]
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
cmp edi, eax
jbe 0x43b5ce
call fcn.005807d8
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x24]
mov esi, eax
cmp dword [esp + 0x30], eax
jbe 0x43b5df
call fcn.005807d8
test ebx, ebx
je 0x43b5e9
cmp ebx, dword [esp + 0x24]
je 0x43b5ee
call fcn.005807d8
cmp edi, esi
je 0x43b652
test ebx, ebx
jne 0x43b64a
call fcn.005807d8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x43b607
call fcn.005807d8
mov edx, dword [ebp + 0xc]
mov eax, dword [edi]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
call fcn.0043b810
call fcn.00485fe0
test eax, eax
je 0x43b62c
mov esi, eax
call fcn.00486390
test eax, eax
jne 0x43b652
test ebx, ebx
jne 0x43b64e
call fcn.005807d8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x43b641
call fcn.005807d8
mov eax, dword [esp + 0x34]
add edi, 4
jmp 0x43b5d2
mov eax, dword [ebx]
jmp 0x43b5fd
mov eax, dword [ebx]
jmp 0x43b637
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
cmp esi, eax
jbe 0x43b667
call fcn.005807d8
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
jmp 0x43b670
mov ebx, eax
cmp dword [esp + 0x48], eax
jbe 0x43b67d
call fcn.005807d8
test edi, edi
je 0x43b687
cmp edi, dword [esp + 0x3c]
je 0x43b68c
call fcn.005807d8
cmp esi, ebx
je 0x43b778
test edi, edi
jne 0x43b769
call fcn.005807d8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x43b6ad
call fcn.005807d8
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
push 1
lea edx, [esp + 0x24]
push edx
mov ecx, eax
call fcn.0043b920
push eax
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x6c], 2
call fcn.00452550
push eax
lea edx, [esp + 0x1c]
push edx
mov ebx, 0x5e1594
mov byte [esp + 0x68], 3
call fcn.00452620
mov ebx, eax
mov byte [esp + 0x60], 4
test edi, edi
jne 0x43b770
call fcn.005807d8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x43b705
call fcn.005807d8
mov eax, dword [esi]
mov ecx, dword [esp + 0x14]
push ebx
push eax
call fcn.0043b530
test eax, eax
lea ecx, [esp + 0x18]
sete bl
mov byte [esp + 0x60], 3
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x60], 2
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 1
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
test bl, bl
jne 0x43b778
test edi, edi
jne 0x43b774
call fcn.005807d8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x43b75d
call fcn.005807d8
mov eax, dword [esp + 0x4c]
add esi, 4
jmp 0x43b670
mov eax, dword [edi]
jmp 0x43b6a3
mov eax, dword [edi]
jmp 0x43b6fb
mov eax, dword [edi]
jmp 0x43b753
xor edi, edi
call fcn.00485fe0
cmp eax, edi
jne 0x43b787
xor eax, eax
jmp 0x43b78e
mov esi, eax
call fcn.00486390
xor ecx, ecx
cmp eax, edi
mov eax, dword [esp + 0x30]
sete cl
mov esi, ecx
cmp eax, edi
je 0x43b7a8
push eax
call fcn.0053a859
add esp, 4
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
call fcn.0053a859
mov eax, dword [esp + 0x4c]
add esp, 4
cmp eax, edi
je 0x43b7d2
push eax
call fcn.0053a859
add esp, 4
mov eax, dword [esp + 0x3c]
push eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
call fcn.0053a859
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8