Function at 0x42b6b2
Capabilities:
Check if file exists
Create directory
Delete file

Disassembly:
mov eax, 0x510899
call fcn.00508264
sub esp, 0x98
push ebx
push esi
push edi
or ebx, 0xffffffff
push ebx
mov dword [ebp - 4], 4
mov esi, dword [ebp + 8]
xor edi, edi
push edi
lea eax, [ebp + 0xc]
lea ecx, [esi + 8]
push eax
mov dword [ebp - 0x4c], ecx
call fcn.004019f3
push edi
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x6c], 7
call fcn.00401afa
mov byte [ebp - 4], 5
cmp dword [0x55a588], edi
jne 0x42b71a
push ebx
push edi
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x84]
call fcn.004019f3
jmp 0x42b809
push str.SoDA_
lea eax, [ebp - 0x48]
push 0x55a574
push eax
call fcn.00409dbb
add esp, 0xc
push ebx
push edi
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 6
call fcn.004019f3
push edi
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040184d
cmp dword [ebp - 0x6c], 8
mov eax, dword [ebp - 0x80]
jae 0x42b75d
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x42b7ba
push edi
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x48]
call fcn.004221c4
pop ecx
mov byte [ebp - 4], 7
cmp dword [eax + 0x18], 0x10
jb 0x42b787
mov eax, dword [eax + 4]
jmp 0x42b78a
add eax, 4
push eax
push 0x53c0e0
call fcn.00413df9
pop ecx
pop ecx
push edi
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.004017de
cmp dword [ebp - 0x6c], 8
mov eax, dword [ebp - 0x80]
jae 0x42b7b2
lea eax, [ebp - 0x80]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp + 0xc]
push eax
call fcn.0040715c
push ebx
cmp eax, ebx
jne 0x42b7da
push edi
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x84]
call fcn.004039ea
jmp 0x42b809
inc eax
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp + 0xc]
call fcn.004037a5
push ebx
push edi
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 8
call fcn.004039ea
push edi
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040184d
push str.._finfo_
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00409dbb
add esp, 0xc
push ebx
push edi
push eax
lea ecx, [esi + 0x40]
mov byte [ebp - 4], 9
call fcn.004019f3
push edi
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040184d
push str.._fmap_
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00409dbb
add esp, 0xc
push ebx
push edi
push eax
lea ecx, [esi + 0x24]
mov byte [ebp - 4], 0xa
call fcn.004019f3
push edi
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040184d
push esi
call fcn.0042e712
test al, al
je 0x42ba95
push 0x53c0f4
call fcn.00413df9
mov eax, dword [esi + 0xf0]
sub eax, dword [esi + 0xec]
pop ecx
test eax, 0xfffffffc
jne 0x42b8ab
push str.unsche
jmp 0x42ba84
lea ecx, [esi + 0x78]
lea eax, [ebp + 0x44]
call fcn.0040713e
test eax, eax
jne 0x42ba7f
lea ecx, [esi + 0xb0]
lea eax, [ebp + 0x7c]
call fcn.0040713e
test eax, eax
je 0x42b8dc
cmp dword [ebp + 0x90], edi
jne 0x42ba7f
mov eax, dword [esi + 0xd0]
cmp eax, dword [ebp + 0x98]
jne 0x42ba7f
mov eax, dword [esi + 0xd4]
cmp eax, dword [ebp + 0x9c]
jne 0x42ba7f
push 0x53c11c
call fcn.00413df9
lea eax, [ebp + 0xc]
mov dword [esp], str.._p4p_
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00409dbb
add esp, 0xc
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x42b931
lea eax, [ebp - 0x44]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileW]
push edi
push 0x80
push 3
push edi
push 1
push 0xc0000000
push eax
call ebx
mov dword [esi], eax
cmp eax, 0xffffffff
je 0x42ba27
push 0x53c144
call fcn.00413df9
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
pop ecx
jae 0x42b96c
lea eax, [ebp - 0x44]
push edi
push 0x80
push 4
push edi
push 3
push connect
push eax
call ebx
mov dword [esi + 0x178], eax
cmp eax, 0xffffffff
jne 0x42b9c0
xor eax, eax
push eax
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0xa0]
call fcn.004221c4
pop ecx
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x18], 0x10
jb 0x42b9ab
mov eax, dword [eax + 4]
jmp 0x42b9ae
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x53c164
jmp 0x42ba58
call fcn.0042c04a
push edi
push 1
lea ecx, [ebp - 0x48]
call fcn.0040184d
xor ebx, ebx
xor esi, esi
push edi
inc esi
push esi
lea ecx, [ebp - 0x84]
call fcn.0040184d
push edi
push esi
lea ecx, [ebp + 0xc]
call fcn.0040184d
push edi
push esi
lea ecx, [ebp + 0x28]
call fcn.004017de
push edi
push esi
lea ecx, [ebp + 0x44]
call fcn.004017de
push edi
push esi
lea ecx, [ebp + 0x60]
call fcn.004017de
push edi
push esi
lea ecx, [ebp + 0x7c]
call fcn.004017de
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, ebx
mov dword fs:[0], ecx
pop ebx
leave
ret 0x98
xor eax, eax
push eax
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0xa0]
call fcn.004221c4
pop ecx
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x18], 0x10
jb 0x42ba48
mov eax, dword [eax + 4]
jmp 0x42ba4b
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x53c18c
call fcn.00413df9
add esp, 0xc
push edi
push 1
lea ecx, [ebp - 0xa0]
call fcn.004017de
push edi
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040184d
jmp 0x42ba8a
push 0x53c1b4
call fcn.00413df9
pop ecx
push 0x53c1d0
call fcn.00413df9
pop ecx
lea edi, [esi + 0xe0]
mov ebx, dword [edi + 0xc]
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x14], edi
call fcn.0041e38b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x42bacf
lea esi, [ebp - 0x24]
call fcn.0041dfb3
push dword [eax]
call fcn.0049a490
pop ecx
call fcn.0041e3ab
mov edi, dword [ebp - 0x14]
mov ebx, dword [edi + 0x10]
lea esi, [ebp - 0x1c]
call fcn.0041e38b
mov edi, esi
lea esi, [ebp - 0x24]
call fcn.0041e010
test al, al
jne 0x42bab7
push dword [ebp - 0x14]
call fcn.0042ebbe
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x11c]
add edi, 0x110
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
call fcn.0041e38b
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
jmp 0x42bb30
lea esi, [ebp - 0x24]
call fcn.0041dfb3
push dword [eax]
call fcn.0049a490
pop ecx
call fcn.0041e3ab
mov edi, dword [ebp - 0x18]
mov ebx, dword [edi + 0x10]
lea esi, [ebp - 0x2c]
call fcn.0041e38b
mov edi, esi
lea esi, [ebp - 0x24]
call fcn.0041e010
test al, al
jne 0x42bb18
push dword [ebp - 0x18]
call fcn.0042ebbe
mov esi, dword [ebp + 8]
lea eax, [esi + 0x158]
call fcn.0042ed3c
or edi, 0xffffffff
push edi
xor ebx, ebx
push ebx
lea eax, [ebp + 0x28]
push eax
lea ecx, [esi + 0x5c]
call fcn.00401729
push edi
push ebx
lea eax, [ebp + 0x44]
push eax
lea ecx, [esi + 0x78]
call fcn.00401729
push edi
push ebx
lea eax, [ebp + 0x60]
push eax
lea ecx, [esi + 0x94]
call fcn.00401729
push edi
push ebx
lea eax, [ebp + 0x7c]
push eax
lea ecx, [esi + 0xb0]
call fcn.00401729
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x9c]
mov edx, dword [esi + 4]
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd4], eax
mov edx, dword [edx + 0x16f4]
push ebx
sub ecx, 1
push edx
sbb eax, ebx
push eax
push ecx
call fcn.004b1d70
inc eax
mov dword [esi + 0xd8], eax
push str.._p4p_
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00409dbb
add esp, 0xc
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x42bbfd
lea eax, [ebp - 0x64]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push ebx
push 0x80
push 4
push ebx
push 1
push 0xc0000000
push eax
call edi
mov dword [esi], eax
cmp eax, 0xffffffff
jne 0x42bc39
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push 1
lea ecx, [ebp - 0x68]
mov esi, eax
call fcn.0040184d
mov ebx, esi
xor edi, edi
jmp 0x42b9d2
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x42bc45
lea eax, [ebp - 0x64]
push ebx
push 0x80
push 4
push ebx
push 3
push connect
push eax
call edi
mov dword [esi + 0x178], eax
cmp eax, 0xffffffff
je 0x42bc1d
mov eax, dword [esi + 4]
test dword [eax + 0x1690], 0xfffffff8
je 0x42bc8a
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x18], 8
jb 0x42bc80
mov eax, dword [eax + 4]
jmp 0x42bc83
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
push eax
lea eax, [ebp - 0x68]
lea ecx, [ebp - 0xa0]
call fcn.004221c4
pop ecx
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x18], 0x10
jb 0x42bcab
mov eax, dword [eax + 4]
jmp 0x42bcae
add eax, 4
push eax
push 0x53c1e0
call fcn.00413df9
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xe
call fcn.004017de
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xf4]
cmp ecx, ebx
je 0x42bced
push ebx
push dword [eax + 0xf8]
push 0xe420
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd4]
push ebx
push eax
push ecx
push 4
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
cmp eax, ebx
je 0x42bde3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x42bd2a
lea eax, [ebp - 0x64]
push ebx
push 0x80
push 3
push ebx
push 1
push 0xc0000000
push eax
call edi
mov dword [esi], eax
cmp eax, 0xffffffff
je 0x42bc1d
push 0x53c20c
call fcn.00413df9
pop ecx
call fcn.0042c04a
mov eax, dword [esi + 0xd8]
xor edi, edi
dec eax
cdq
and edx, 7
add eax, edx
sar eax, 3
test eax, eax
jl 0x42bd95
mov byte [ebp + 0xb], bl
lea eax, [ebp + 0xb]
push eax
lea eax, [esi + 0x158]
call fcn.0042ece6
mov eax, dword [esi + 0xd8]
inc edi
dec eax
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp edi, eax
jle 0x42bd71
mov eax, dword [esi + 4]
cmp dword [eax + 0x1690], 9
jne 0x42be71
cmp dword [esi + 0xd8], ebx
push 0xa
pop edi
mov dword [ebp + 0x9c], ebx
mov dword [ebp + 8], ebx
jle 0x42bf9f
push 0x1c
call fcn.0049ad2e
pop ecx
cmp eax, ebx
je 0x42be29
mov ecx, dword [esi + 0xd8]
sub ecx, dword [ebp + 8]
cmp ecx, edi
jl 0x42bdd8
mov ecx, edi
push ecx
mov ecx, dword [ebp + 8]
call fcn.0042b16d
jmp 0x42be2b
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd4]
push 1
sub eax, 1
push 0x53c208
sbb ecx, ebx
push ecx
push eax
call fcn.0042b5f2
cmp eax, 1
je 0x42bd48
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [esi], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x68]
call fcn.0040184d
push 0xfffffffffffffffd
pop ebx
jmp 0x42bc32
xor eax, eax
mov dword [eax + 0x14], ebx
mov ecx, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [eax + 8], ecx
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
call fcn.0041df28
add dword [ebp + 8], edi
inc dword [ebp + 0x9c]
cmp dword [ebp + 0x9c], 3
jne 0x42be5d
shl edi, 2
mov dword [ebp + 0x9c], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0xd8]
jl 0x42bdbd
jmp 0x42bf9f
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x400
jg 0x42beb8
push 0x1c
call fcn.0049ad2e
pop ecx
cmp eax, ebx
je 0x42be9a
push dword [esi + 0xd8]
xor ecx, ecx
call fcn.0042b16d
jmp 0x42be9c
xor eax, eax
mov dword [eax + 0x14], ebx
mov ecx, dword [eax]
mov dword [ebp + 8], eax
mov dword [eax + 8], ecx
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x14]
call fcn.0041df28
jmp 0x42bf9f
mov eax, dword [eax + 0xe8]
mov dword [ebp + 8], eax
imul eax, eax, 0x2710
cmp ecx, eax
jle 0x42bf30
cmp ecx, ebx
mov dword [ebp + 8], ebx
jle 0x42bf9f
mov edi, 0x2710
push 0x1c
call fcn.0049ad2e
pop ecx
cmp eax, ebx
je 0x42bf01
mov ecx, dword [esi + 0xd8]
sub ecx, dword [ebp + 8]
cmp ecx, edi
jl 0x42bef6
mov ecx, edi
push ecx
mov ecx, dword [ebp + 8]
call fcn.0042b16d
jmp 0x42bf03
xor eax, eax
mov dword [eax + 0x14], ebx
mov ecx, dword [eax]
mov dword [ebp + 0x9c], eax
mov dword [eax + 8], ecx
lea eax, [ebp + 0x9c]
push eax
mov eax, dword [ebp - 0x14]
call fcn.0041df28
add dword [ebp + 8], edi
mov eax, dword [ebp + 8]
cmp eax, dword [esi + 0xd8]
jl 0x42bedb
jmp 0x42bf9f
xor edi, edi
cmp dword [ebp + 8], ebx
jle 0x42bf9f
push 0x1c
call fcn.0049ad2e
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x42bf7a
mov eax, dword [esi + 0xd8]
imul eax, edi
cdq
idiv dword [ebp + 8]
mov dword [ebp + 0x9c], eax
lea eax, [edi + 1]
imul eax, dword [esi + 0xd8]
cdq
idiv dword [ebp + 8]
mov ecx, dword [ebp + 0x9c]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x18]
call fcn.0042b16d
jmp 0x42bf7c
xor eax, eax
mov dword [eax + 0x14], ebx
mov ecx, dword [eax]
mov dword [ebp + 0x9c], eax
mov dword [eax + 8], ecx
lea eax, [ebp + 0x9c]
push eax
mov eax, dword [ebp - 0x14]
call fcn.0041df28
inc edi
cmp edi, dword [ebp + 8]
jl 0x42bf37
mov eax, dword [esi + 4]
lea edi, [eax + 0x1640]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 4]
add eax, 0x600
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x18], 8
jb 0x42bfcc
mov eax, dword [eax + 4]
jmp 0x42bfcf
add eax, 4
push 0xff
push eax
mov eax, dword [esi + 4]
add eax, 0x100
push eax
call fcn.004a0285
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xd0]
mov dword [eax + 0x620], ecx
mov ecx, dword [esi + 0xd4]
mov dword [eax + 0x624], ecx
mov eax, dword [esi + 4]
add esp, 0xc
push edi
mov dword [eax + 0x630], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xf4]
cmp ecx, ebx
je 0x42c03a
push dword [esi + 0xd8]
push dword [eax + 0xf8]
push 0xe414
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 1
lea ecx, [ebp - 0x68]
call fcn.0040184d
jmp 0x42bc32