Function at 0x481f80
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x707428
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x7c0ab4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x20], edi
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], esi
mov byte [ebp - 4], 1
test edi, edi
je 0x4823b6
cmp word [edi], si
je 0x4823b6
push edi
push str.KLSTD_CreatePath
push 0x7d02f0
mov edx, str.KLSTD
lea ecx, [esi + 3]
call fcn.0045c480
push esi
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x482312
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x482312
push eax
push esi
push edi
push str.KLSTD_CreatePath
push 0x7cfdc0
mov edx, str.KLSTD
call fcn.00483b60
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x482033
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x482035
xor eax, eax
push eax
push ebx
push edi
push str.KLSTD_CreatePath
push 0x7cff50
mov edx, str.KLSTD
call fcn.00483bf0
cmp ebx, 0xffffffff
je 0x48205d
test ebx, 0x410
jne 0x482312
push edi
call fcn.006e550d
add esp, 4
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
lea ebx, [eax + 1]
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 2
push eax
lea eax, [ebx + 1]
push eax
lea ecx, [ebp - 0x38]
call fcn.00455f60
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ecx
cmp ebx, 3
jl 0x4820bc
movzx eax, word [edi]
cmp eax, 0x2f
je 0x4820aa
cmp eax, 0x5c
jne 0x4820bc
movzx eax, word [edi + 2]
cmp eax, 0x2f
je 0x4820b8
cmp eax, 0x5c
jne 0x4820bc
mov dl, 1
jmp 0x4820be
xor dl, dl
mov byte [ebp - 0x12], dl
mov ebx, edi
mov byte [ebp - 0x11], 0
movzx eax, word [ebx]
cmp eax, 0x2f
je 0x4820df
cmp eax, 0x5c
je 0x4820df
test ax, ax
jne 0x482265
jmp 0x482106
cmp ebx, edi
je 0x482265
movzx eax, word [ebx - 2]
cmp eax, 0x3a
je 0x482265
cmp eax, 0x2f
je 0x482265
cmp eax, 0x5c
je 0x482265
test dl, dl
je 0x482118
xor dl, dl
mov byte [ebp - 0x11], 1
mov byte [ebp - 0x12], dl
add ebx, 2
jmp 0x4820c7
mov eax, ebx
sub eax, edi
sar eax, 1
lea edi, [eax + eax]
push edi
push dword [ebp - 0x20]
push ecx
call fcn.006d2cf0
mov ecx, dword [ebp - 0x1c]
xor eax, eax
add esp, 0xc
mov word [edi + ecx], ax
cmp byte [ebp - 0x11], al
je 0x482144
mov byte [ebp - 0x11], al
jmp 0x482213
push 0
mov edi, ecx
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4821fc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push edi
push str.KLSTD_CreatePath
push 0x7cfdc0
mov edx, str.KLSTD
mov dword [ebp - 0x24], eax
call fcn.00483b60
cmp dword [ebp - 0x24], 0xb7
je 0x482211
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x48219b
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x48219d
xor eax, eax
push eax
push edi
push dword [ebp - 0x1c]
mov edx, str.KLSTD
push str.KLSTD_CreatePath
push 0x7cff50
call fcn.00483bf0
cmp edi, 0xffffffff
je 0x4821c9
and edi, 0x410
je 0x482394
jmp 0x4821f7
mov edi, dword [ebp - 0x24]
mov edx, str.KLSTD
push edi
push dword [ebp - 0x1c]
push str.KLSTD_CreatePath
push ecx
call fcn.00483c80
push 1
push 0xa3c
push str.c:_a_b_a_6cb29bb7_scsadminkitdevelopment2_stdioklio.cpp
push ecx
mov edx, edi
call fcn.00465440
add esp, 0x10
mov ecx, dword [ebp - 0x1c]
jmp 0x482213
push 0
push 1
push edi
push str.KLSTD_CreatePath
push ecx
mov edx, str.KLSTD
call fcn.00483d10
mov ecx, edi
cmp word [ebx], 0
jne 0x48225f
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x482256
mov eax, dword [ebp - 0x30]
sub eax, ecx
sar eax, 1
lea edx, [eax + eax]
mov eax, ecx
cmp edx, 0x1000
jb 0x48224c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4823b1
push edx
push ecx
call fcn.006d0b31
add esp, 8
mov dword [ebp - 4], 0
jmp 0x4822c5
mov edi, dword [ebp - 0x20]
mov dl, byte [ebp - 0x12]
add ebx, 2
jmp 0x4820c7
test esi, esi
je 0x482312
push str.KLSTD_CreatePath
push 0xa4f
push str.c:_a_b_a_6cb29bb7_scsadminkitdevelopment2_stdioklio.cpp
push 0x780fa8
mov edx, esi
mov ecx, 5
call fcn.00477010
mov ecx, dword [ebp - 0x20]
add esp, 0xc
test ecx, ecx
mov eax, 0x780fa8
mov edx, 3
cmovne eax, ecx
mov ecx, esi
push 0
push eax
call fcn.0047ea50
add esp, 0xc
mov ecx, esi
call fcn.0044a6f0
lea ecx, [ebp - 0x18]
call fcn.00448f20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push 0xa38
push str.c:_a_b_a_6cb29bb7_scsadminkitdevelopment2_stdioklio.cpp
push 0x4ba
push 0x782c5c
call fcn.00477ab0
call fcn.006d79b8
push str.szwFullPath
push 0
push 0x9e5
push str.c:_a_b_a_6cb29bb7_scsadminkitdevelopment2_stdioklio.cpp
push 0x4a3
push 0x7824b0
call fcn.00477ab0
int3