Function at 0x1002b430
Capabilities:
Access peb ldr_data
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005042d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
push esi
xor eax, eax
mov dword [esp + 0x30], 7
push edi
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
lea ecx, [esp + 0x20]
mov dword [esp + 0x44], eax
call fcn.1002a560
push 8
push str.kuwodata
lea ecx, [esp + 0x28]
call fcn.10006660
push 0x5c
push 1
lea ecx, [esp + 0x28]
call fcn.10002220
push str.kwmusic2013ModuleDataVirUsr
lea edx, [esp + 0x24]
lea ecx, [esp + 0xc]
call fcn.10006020
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov edi, eax
lea eax, [esp + 0x24]
add esp, 4
cmp eax, edi
je 0x1002b4e7
cmp dword [esp + 0x34], 8
jb 0x1002b4c6
push dword [esp + 0x20]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
push edi
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
call fcn.100023f0
cmp dword [esp + 0x1c], 8
jb 0x1002b4f7
push dword [esp + 8]
call esi
add esp, 4
cmp dword [esp + 0x34], 8
lea edi, [esp + 0x20]
cmovae edi, dword [esp + 0x20]
cmp dword [0x1006e3e8], 0xffffffff
jne 0x1002b541
lea eax, [esp + 8]
push eax
push 0xd698
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1002b537
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x1006e3e8], 0x3a8
cmp eax, 0x57
je 0x1002b541
mov dword [0x1006e3e8], 0xd698
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1002b551
test al, 0x10
jne 0x1002b564
cmp dword [esp + 0x34], 8
lea ecx, [esp + 0x20]
cmovae ecx, dword [esp + 0x20]
call fcn.1000a570
push str._virtUsr.dat
lea edx, [esp + 0x24]
lea ecx, [esp + 0xc]
call fcn.10006020
mov edi, eax
add esp, 4
lea eax, [esp + 0x20]
cmp eax, edi
je 0x1002b5b4
cmp dword [esp + 0x34], 8
jb 0x1002b593
push dword [esp + 0x20]
call esi
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
push edi
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], 0
mov word [esp + 0x24], ax
call fcn.100023f0
cmp dword [esp + 0x1c], 8
jb 0x1002b5c4
push dword [esp + 8]
call esi
add esp, 4
cmp dword [esp + 0x34], 8
lea ecx, [esp + 0x20]
mov eax, dword [ebp + 0xc]
cmovae ecx, dword [esp + 0x20]
dec eax
push eax
push ecx
push dword [ebp + 8]
call dword [sym.imp.MSVCR120.dll_wcsncpy]
add esp, 0xc
lea edi, [esp + 0x20]
cmp dword [esp + 0x34], 8
cmovae edi, dword [esp + 0x20]
cmp dword [0x1006e3e8], 0xffffffff
jne 0x1002b62e
lea eax, [esp + 8]
push eax
push 0xd698
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1002b624
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x1006e3e8], 0x3a8
cmp eax, 0x57
je 0x1002b62e
mov dword [0x1006e3e8], 0xd698
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1002b63e
test al, 0x10
je 0x1002b660
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x34], 8
jb 0x1002b670
push dword [esp + 0x20]
call esi
add esp, 4
mov ecx, dword [esp + 0x3c]
mov al, 1
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret