Function at 0x43b1f0
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5c680b
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x62f570]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
lea eax, [esp + 0x44]
push eax
call fcn.00413eb0
lea ecx, [esp + 0x2c]
xor edi, edi
push ecx
mov dword [esp + 0x6c], edi
call fcn.00402b00
mov eax, dword [ebp + 8]
push edi
lea edx, [esp + 0x30]
push edx
push eax
push esi
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 1
call fcn.004342a0
test eax, eax
je 0x43b39c
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x43b277
mov eax, dword [esi]
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp edi, eax
jbe 0x43b28c
call fcn.005807d8
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x2c]
mov esi, eax
cmp dword [esp + 0x38], eax
jbe 0x43b29d
call fcn.005807d8
test ebx, ebx
je 0x43b2a7
cmp ebx, dword [esp + 0x2c]
je 0x43b2ac
call fcn.005807d8
cmp edi, esi
je 0x43b310
test ebx, ebx
jne 0x43b308
call fcn.005807d8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x43b2c5
call fcn.005807d8
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
call fcn.0043b810
call fcn.00485fe0
test eax, eax
je 0x43b2ea
mov esi, eax
call fcn.00486390
test eax, eax
jne 0x43b310
test ebx, ebx
jne 0x43b30c
call fcn.005807d8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x43b2ff
call fcn.005807d8
mov eax, dword [esp + 0x3c]
add edi, 4
jmp 0x43b290
mov eax, dword [ebx]
jmp 0x43b2bb
mov eax, dword [ebx]
jmp 0x43b2f5
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
cmp esi, eax
jbe 0x43b325
call fcn.005807d8
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x28], esi
mov ebx, eax
cmp dword [esp + 0x50], eax
jbe 0x43b33a
call fcn.005807d8
test edi, edi
je 0x43b344
cmp edi, dword [esp + 0x44]
je 0x43b349
call fcn.005807d8
cmp esi, ebx
je 0x43b39a
test edi, edi
jne 0x43b3b0
call fcn.005807d8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x43b362
call fcn.005807d8
cmp dword [ebp + 8], 0xffff0000
mov eax, dword [esi]
jne 0x43b3b8
test edi, edi
jne 0x43b3b4
call fcn.005807d8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x43b382
call fcn.005807d8
mov ecx, dword [ebp + 0xc]
mov edx, dword [esi]
push ecx
mov ecx, dword [esp + 0x18]
push edx
call fcn.0043b1f0
test eax, eax
jne 0x43b45f
xor edi, edi
call fcn.00485fe0
cmp eax, edi
jne 0x43b488
xor eax, eax
jmp 0x43b48f
mov eax, dword [edi]
jmp 0x43b358
mov eax, dword [edi]
jmp 0x43b378
mov ecx, dword [eax + 0x30]
push 1
lea eax, [esp + 0x24]
push eax
call fcn.0043b920
mov ecx, dword [ebp + 0xc]
push eax
push ecx
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x74], 2
call fcn.00452550
push eax
lea eax, [esp + 0x1c]
push eax
mov ebx, 0x5e1594
mov byte [esp + 0x70], 3
call fcn.00452620
mov esi, eax
mov byte [esp + 0x68], 4
test edi, edi
jne 0x43b480
call fcn.005807d8
xor eax, eax
mov ebx, dword [esp + 0x28]
cmp ebx, dword [eax + 0x10]
jb 0x43b414
call fcn.005807d8
mov ecx, dword [ebx]
push esi
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0043b1f0
test eax, eax
lea ecx, [esp + 0x18]
sete bl
mov byte [esp + 0x68], 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 + 0x68], 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 + 0x68], 1
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
test bl, bl
jne 0x43b39a
mov esi, dword [esp + 0x28]
test edi, edi
jne 0x43b484
call fcn.005807d8
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x43b474
call fcn.005807d8
mov eax, dword [esp + 0x54]
add esi, 4
jmp 0x43b329
mov eax, dword [edi]
jmp 0x43b406
mov eax, dword [edi]
jmp 0x43b46a
mov esi, eax
call fcn.00486390
xor edx, edx
cmp eax, edi
mov eax, dword [esp + 0x38]
sete dl
mov esi, edx
cmp eax, edi
je 0x43b4a9
push eax
call fcn.0053a859
add esp, 4
mov eax, dword [esp + 0x2c]
push eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
call fcn.0053a859
mov eax, dword [esp + 0x54]
add esp, 4
cmp eax, edi
je 0x43b4d3
push eax
call fcn.0053a859
add esp, 4
mov ecx, dword [esp + 0x44]
push ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
call fcn.0053a859
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8