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

Disassembly:
push 0x3ec
mov eax, 0x4558e4
call fcn.0044fd33
mov eax, dword [ebp + 8]
push dword [0x47a214]
mov dword [ebp - 0x3b0], eax
mov ebx, ecx
call fcn.0041349a
pop ecx
mov dword [ebp - 0x3ac], eax
and dword [ebp - 4], 0
mov eax, dword [ebx + 0x14]
cmp eax, 8
jb 0x43c22e
mov ecx, dword [ebx]
jmp 0x43c230
mov ecx, ebx
test ecx, ecx
je 0x43c241
cmp eax, 8
jb 0x43c23d
mov eax, dword [ebx]
jmp 0x43c246
mov eax, ebx
jmp 0x43c246
mov eax, dword [0x47a8d0]
push eax
lea eax, [ebp - 0x270]
call fcn.00405659
lea eax, [ebp - 0x270]
push eax
mov ecx, 0xfde9
lea edx, [ebp - 0x2fc]
mov byte [ebp - 4], 1
call fcn.0044abe1
pop ecx
mov esi, eax
mov byte [ebp - 4], 2
push dword [0x47a20c]
lea eax, [ebp - 0x2e0]
call fcn.00404c9d
mov byte [ebp - 4], 3
push dword [0x47a218]
push eax
lea eax, [ebp - 0x2c4]
call fcn.00409385
mov byte [ebp - 4], 4
push dword [0x47a210]
push eax
lea eax, [ebp - 0x2a8]
call fcn.00409385
add esp, 0x10
mov byte [ebp - 4], 5
cmp dword [esi + 0x14], 0x10
jb 0x43c2c0
mov esi, dword [esi]
cmp dword [eax + 0x14], 0x10
jb 0x43c2c8
mov eax, dword [eax]
push esi
push dword [0x47a214]
push eax
push 0
call fcn.0043d066
add esp, 0x10
push 1
xor edi, edi
lea esi, [ebp - 0x2a8]
call fcn.004051ee
push 1
lea esi, [ebp - 0x2c4]
call fcn.004051ee
push 1
lea esi, [ebp - 0x2e0]
call fcn.004051ee
push 1
lea esi, [ebp - 0x2fc]
call fcn.004051ee
push 1
lea esi, [ebp - 0x270]
call fcn.00405532
fld qword [0x473a38]
fstp qword [ebp - 0x3a0]
xor eax, eax
fld qword [0x473a30]
push 0x206
fstp qword [ebp - 0x398]
push eax
fld qword [0x473a28]
fstp qword [ebp - 0x390]
fld qword [0x473988]
fstp qword [ebp - 0x390]
fld qword [0x473930]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x390]
fsub qword [ebp - 0x3a0]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x398]
fmul qword [0x473a20]
fstp qword [ebp - 0x398]
fld qword [ebp - 0x3a8]
fadd qword [0x473a18]
fadd qword [ebp - 0x3a0]
fld qword [ebp - 0x3a0]
fdiv qword [0x473a60]
fsubp st(1)
fstp qword [ebp - 0x390]
fld qword [ebp - 0x390]
fadd qword [ebp - 0x390]
fsub qword [0x473a58]
fld qword [ebp - 0x390]
fmul qword [ebp - 0x390]
fsubp st(1)
fadd qword [0x473a10]
fld qword [ebp - 0x390]
fdiv qword [0x473a08]
fsubp st(1)
fstp qword [ebp - 0x3a8]
mov byte [ebp - 4], 6
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
call fcn.00413420
fld qword [0x473a38]
fstp qword [ebp - 0x3a0]
add esp, 0xc
fld qword [0x473a30]
fstp qword [ebp - 0x398]
fld qword [0x473a28]
fstp qword [ebp - 0x390]
fld qword [0x473988]
fstp qword [ebp - 0x390]
fld qword [0x473930]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x390]
fsub qword [ebp - 0x3a0]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x398]
fmul qword [0x473a20]
fstp qword [ebp - 0x398]
fld qword [ebp - 0x3a8]
lea eax, [ebp - 0x21c]
fadd qword [0x473a18]
push eax
fadd qword [ebp - 0x3a0]
fld qword [ebp - 0x3a0]
fdiv qword [0x473a60]
fsubp st(1)
fstp qword [ebp - 0x390]
fld qword [ebp - 0x390]
fadd qword [ebp - 0x390]
fsub qword [0x473a58]
fld qword [ebp - 0x390]
fmul qword [ebp - 0x390]
fsubp st(1)
fadd qword [0x473a10]
fld qword [ebp - 0x390]
fdiv qword [0x473a08]
fsubp st(1)
fstp qword [ebp - 0x3a8]
call fcn.0043ee52
lea eax, [ebp - 0x21c]
push eax
call fcn.0043df3a
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x238]
call fcn.00405659
mov byte [ebp - 4], 7
fld qword [0x4739a0]
fstp qword [ebp - 0x398]
fld qword [0x473998]
fstp qword [ebp - 0x3a8]
fld qword [0x473990]
fstp qword [ebp - 0x390]
fld qword [0x473988]
fstp qword [ebp - 0x3a0]
fld qword [ebp - 0x390]
fcomp qword [ebp - 0x398]
fnstsw ax
test ah, 5
jp 0x43c5ed
fld qword [ebp - 0x3a8]
fadd qword [0x473980]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x390]
fld qword [ebp - 0x390]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43c5ed
fld qword [ebp - 0x3a0]
fld qword [ebp - 0x3a0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43c5c8
fld qword [ebp - 0x390]
fld qword [ebp - 0x3a0]
fmul qword [0x473978]
fsubp st(1)
fstp qword [ebp - 0x398]
fld qword [ebp - 0x3a8]
fadd qword [0x473970]
fadd qword [ebp - 0x390]
fadd qword [ebp - 0x398]
fld qword [ebp - 0x398]
fmul qword [0x473968]
fsubp st(1)
fld qword [ebp - 0x390]
fmul qword [0x473960]
fsubp st(1)
fstp qword [ebp - 0x390]
fld qword [ebp - 0x3a8]
fcomp qword [ebp - 0x398]
fnstsw ax
test ah, 0x41
jp 0x43c5ed
fld qword [ebp - 0x3a0]
fsub qword [ebp - 0x390]
fstp qword [ebp - 0x398]
push 0
push ebx
or eax, 0xffffffff
lea esi, [ebp - 0x238]
call fcn.00409103
mov eax, esi
push eax
lea esi, [ebp - 0x254]
call fcn.00409abe
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x254]
push 8
pop ebx
cmp dword [ebp - 0x240], ebx
jae 0x43c627
lea eax, [ebp - 0x254]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x43c6b9
lea eax, [ebp - 0x350]
push eax
call fcn.0043b763
pop ecx
mov esi, eax
mov byte [ebp - 4], 9
push dword [0x47a8d4]
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x238]
call fcn.004093b6
pop ecx
pop ecx
mov ecx, eax
mov eax, esi
lea edi, [ebp - 0x318]
mov byte [ebp - 4], 0xa
call fcn.00409422
mov ebx, eax
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 0xb
call fcn.00405b69
push 1
xor edi, edi
lea esi, [ebp - 0x318]
call fcn.00405532
push 1
lea esi, [ebp - 0x36c]
call fcn.00405532
push 1
lea esi, [ebp - 0x350]
mov byte [ebp - 4], 8
call fcn.00405532
jmp 0x43c610
mov dword [ebp - 0x38c], 0x43
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
imul eax, ecx
mov ecx, dword [ebp - 0x38c]
sub eax, ecx
add eax, dword [ebp - 0x38c]
push 0xfffffffffffffffd
add eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
lea eax, [eax + ecx + 0x46]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
pop ecx
sub ecx, eax
add ecx, dword [ebp - 0x38c]
push 0x24
add ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x38c], ecx
mov eax, dword [ebp - 0x38c]
cdq
pop ecx
idiv ecx
push 0xffffffffffffffe9
pop esi
push 0x53
mov ecx, eax
mov eax, dword [ebp - 0x38c]
cdq
idiv esi
sub eax, ecx
mov ecx, dword [ebp - 0x38c]
imul ecx, ecx, 0x29
sub eax, ecx
mov ecx, dword [ebp - 0x38c]
sub eax, ecx
mov ecx, dword [ebp - 0x38c]
sub eax, ecx
mov ecx, dword [ebp - 0x38c]
sub eax, ecx
add eax, dword [ebp - 0x38c]
add eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
lea eax, [eax + ecx + 0x61]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
sub eax, ecx
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
imul eax, ecx
imul eax, eax, 0x16da
cdq
pop ecx
idiv ecx
push 0xffffffffffffffff
push 0
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
add eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x38c]
lea eax, [eax + ecx + 0x2a]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
add eax, dword [ebp - 0x38c]
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x38c], eax
lea eax, [ebp - 0x254]
call fcn.00405314
fld qword [0x473a38]
fstp qword [ebp - 0x3a0]
fld qword [0x473a30]
fstp qword [ebp - 0x390]
fld qword [0x473a28]
fstp qword [ebp - 0x398]
fld qword [0x473988]
fstp qword [ebp - 0x398]
fld qword [0x473930]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x398]
fsub qword [ebp - 0x3a0]
push 1
xor edi, edi
lea esi, [ebp - 0x254]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x390]
fmul qword [0x473a20]
fstp qword [ebp - 0x390]
fld qword [ebp - 0x3a8]
fadd qword [0x473a18]
fadd qword [ebp - 0x3a0]
fld qword [ebp - 0x3a0]
fdiv qword [0x473a60]
fsubp st(1)
fstp qword [ebp - 0x398]
fld qword [ebp - 0x398]
fadd qword [ebp - 0x398]
fsub qword [0x473a58]
fld qword [ebp - 0x398]
fmul qword [ebp - 0x398]
fsubp st(1)
fadd qword [0x473a10]
fld qword [ebp - 0x398]
fdiv qword [0x473a08]
fsubp st(1)
fstp qword [ebp - 0x3a8]
mov byte [ebp - 4], 7
call fcn.00405532
mov eax, dword [ebp - 0x238]
cmp dword [ebp - 0x224], ebx
jae 0x43c8cd
lea eax, [ebp - 0x238]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x43c998
mov eax, dword [ebp - 0x238]
cmp dword [ebp - 0x224], ebx
jae 0x43c8f2
lea eax, [ebp - 0x238]
test eax, eax
je 0x43c90e
cmp dword [ebp - 0x224], ebx
jb 0x43c906
mov eax, dword [ebp - 0x238]
jmp 0x43c913
lea eax, [ebp - 0x238]
jmp 0x43c913
mov eax, dword [0x47a8d0]
push eax
lea eax, [ebp - 0x334]
call fcn.00405659
push 0x472e54
lea eax, [ebp - 0x3e4]
mov byte [ebp - 4], 0xc
call fcn.00404c9d
lea eax, [ebp - 0x334]
push eax
mov ecx, 0xfde9
lea edx, [ebp - 0x388]
mov byte [ebp - 4], 0xd
call fcn.0044abe1
pop ecx
mov edi, eax
push 2
lea eax, [ebp - 0x3e4]
lea esi, [ebp - 0x3f8]
mov byte [ebp - 4], 0xe
call fcn.00404cc9
mov esi, eax
mov byte [ebp - 4], 0xf
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [edi + 0x14], 0x10
jb 0x43c97c
mov edi, dword [edi]
push eax
push edi
push dword [0x47a214]
push dword [0x47a21c]
call fcn.004098c7
add esp, 0x10
push eax
call fcn.00404d47
fld qword [0x4739a0]
fstp qword [ebp - 0x398]
fld qword [0x473998]
fstp qword [ebp - 0x3a0]
fld qword [0x473990]
fstp qword [ebp - 0x390]
fld qword [0x473988]
fstp qword [ebp - 0x3a8]
fld qword [ebp - 0x390]
fcomp qword [ebp - 0x398]
fnstsw ax
test ah, 5
jp 0x43ca98
fld qword [ebp - 0x3a0]
fadd qword [0x473980]
fstp qword [ebp - 0x3a0]
fld qword [ebp - 0x390]
fld qword [ebp - 0x390]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43ca98
fld qword [ebp - 0x3a8]
fld qword [ebp - 0x3a8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x43ca73
fld qword [ebp - 0x390]
fld qword [ebp - 0x3a8]
fmul qword [0x473978]
fsubp st(1)
fstp qword [ebp - 0x398]
fld qword [ebp - 0x3a0]
fadd qword [0x473970]
fadd qword [ebp - 0x390]
fadd qword [ebp - 0x398]
fld qword [ebp - 0x398]
fmul qword [0x473968]
fsubp st(1)
fld qword [ebp - 0x390]
fmul qword [0x473960]
fsubp st(1)
fstp qword [ebp - 0x390]
fld qword [ebp - 0x3a0]
fcomp qword [ebp - 0x398]
fnstsw ax
test ah, 0x41
jp 0x43ca98
fld qword [ebp - 0x3a8]
fsub qword [ebp - 0x390]
fstp qword [ebp - 0x398]
mov ecx, dword [ebp - 0x3b0]
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x238]
call fcn.00405314
fld qword [0x473a68]
fstp qword [ebp - 0x3a8]
push 1
fld qword [0x473a48]
xor edi, edi
fstp qword [ebp - 0x3a0]
lea esi, [ebp - 0x238]
fld qword [0x473a40]
fstp qword [ebp - 0x398]
fld qword [ebp - 0x3a8]
fsub qword [ebp - 0x3a0]
fstp qword [ebp - 0x3a0]
call fcn.00405532
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0x3ac]
call fcn.00404d67
call fcn.0044fd8f
ret 4