Function at 0x43b372
Capabilities:
Check if file exists
Create directory

Disassembly:
push 0x98
mov eax, 0x455155
call fcn.0044fcfd
mov ebx, ecx
mov eax, dword [ebx + 0x14]
cmp eax, 8
jb 0x43b38d
mov ecx, dword [ebx]
test ecx, ecx
je 0x43b39e
cmp eax, 8
jb 0x43b39a
mov eax, dword [ebx]
jmp 0x43b3a3
mov eax, ebx
jmp 0x43b3a3
mov eax, dword [0x47a8d0]
push eax
lea eax, [ebp - 0x80]
call fcn.00405659
and dword [ebp - 4], 0
lea eax, [ebp - 0x80]
push eax
mov ecx, 0xfde9
lea edx, [ebp - 0x9c]
call fcn.0044abe1
pop ecx
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
jb 0x43b3d1
mov eax, dword [eax]
push eax
push dword [0x47a244]
push dword [0x47a13c]
push 0
call fcn.0043d066
add esp, 0x10
push 1
xor edi, edi
lea esi, [ebp - 0x9c]
call fcn.004051ee
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x80]
call fcn.00405532
push ebx
lea esi, [ebp - 0x2c]
call fcn.00409abe
push 2
pop edx
push 8
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x2c]
pop edi
cmp dword [ebp - 0x18], edi
jae 0x43b421
mov eax, esi
mov ecx, dword [ebp - 0x1c]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43b442
lea eax, [ebp - 0x2c]
jmp 0x43b442
cmp word [eax], 0x2f
jne 0x43b440
push 0x5c
pop esi
mov word [eax], si
add eax, edx
cmp eax, ecx
jne 0x43b434
cmp byte [ebp + 8], 0
je 0x43b581
lea esi, [ebp - 0x2c]
call fcn.00408e3e
lea ecx, [eax + 1]
neg ecx
sbb ecx, ecx
and ecx, eax
or eax, 0xffffffff
call fcn.004052a3
mov dword [ebp - 0xa0], 0x43
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
imul eax, ecx
mov ecx, dword [ebp - 0xa0]
sub eax, ecx
add eax, dword [ebp - 0xa0]
push 0xfffffffffffffffd
add eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
lea eax, [eax + ecx + 0x46]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0xa0]
push 0x24
add ecx, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], ecx
mov eax, dword [ebp - 0xa0]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffe9
pop esi
push 0x53
mov ecx, eax
mov eax, dword [ebp - 0xa0]
cdq
idiv esi
sub eax, ecx
mov ecx, dword [ebp - 0xa0]
imul ecx, ecx, 0x29
sub eax, ecx
mov ecx, dword [ebp - 0xa0]
sub eax, ecx
mov ecx, dword [ebp - 0xa0]
sub eax, ecx
mov ecx, dword [ebp - 0xa0]
sub eax, ecx
add eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
lea eax, [eax + ecx + 0x61]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
sub eax, ecx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
imul eax, ecx
imul eax, eax, 0x16da
cdq
pop ecx
idiv ecx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
lea eax, [eax + ecx + 0x2a]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x43b59e
mov bl, 1
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.00405532
mov al, bl
call fcn.0044fd80
ret
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43b5a9
lea eax, [ebp - 0x2c]
lea eax, [eax + ecx*2 - 2]
cmp word [eax], 0x5c
je 0x43b5bd
push 0x5c
lea eax, [ebp - 0x2c]
call fcn.00408e04
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43b5c8
lea eax, [ebp - 0x2c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43b5d9
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx*2]
cmp dword [ebp - 0xa0], eax
je 0x43b66b
mov eax, dword [ebp - 0xa0]
cmp word [eax], 0x5c
jne 0x43b65c
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x43b602
lea eax, [ebp - 0x2c]
push dword [ebp - 0xa4]
and dword [ebp - 0x38], 0
push dword [ebp - 0xa0]
xor ecx, ecx
push eax
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x34], 7
mov word [ebp - 0x48], cx
call fcn.004096c6
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x34], edi
jae 0x43b634
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, eax
neg ebx
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00405532
inc bl
je 0x43b65c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x43b66b
add dword [ebp - 0xa0], 2
push 8
pop edi
jmp 0x43b5ce
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x43b677
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xa0]
cmp ecx, eax
je 0x43b6f9
cmp word [ecx], 0x5c
jne 0x43b6e6
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x43b699
lea eax, [ebp - 0x2c]
push dword [ebp - 0xa4]
and dword [ebp - 0x54], 0
push ecx
push eax
lea eax, [ebp - 0x64]
xor edx, edx
push eax
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], dx
call fcn.004096c6
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x43b6c7
lea eax, [ebp - 0x64]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ebx, eax
neg ebx
sbb bl, bl
push 1
xor edi, edi
lea esi, [ebp - 0x64]
call fcn.00405532
inc bl
jne 0x43b6f2
add dword [ebp - 0xa0], 2
jmp 0x43b66b
xor bl, bl
jmp 0x43b58a
mov dword [ebp - 0xa4], 0x4f
mov dword [ebp - 0xa4], 0x47
mov dword [ebp - 0xa0], 0x15
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
cmp ecx, eax
jle 0x43b588
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa0]
cmp eax, ecx
je 0x43b588
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
imul eax, eax, 0x29
lea eax, [eax + ecx - 0x12]
add eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa0], eax
jmp 0x43b588