Function at 0x100130f0
Capabilities:
Check if file exists
Get file attributes
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006998b
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x10089430]
xor eax, esp
mov dword [esp + 0x100], eax
push ebx
push esi
push edi
mov eax, dword [0x10089430]
xor eax, esp
push eax
lea eax, [esp + 0x118]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x18], eax
mov dword [eax], 0xffffffff
lea eax, [esp + 0x44]
push eax
mov dword [ebx], 0xffffffff
call fcn.1002f810
mov ecx, eax
call fcn.1002f820
push 0x10
push str._binKwMusic.exe
lea ecx, [esp + 0x4c]
mov dword [esp + 0x128], 0
call fcn.10001990
cmp dword [esp + 0x58], 0x10
lea eax, [esp + 0x44]
cmovae eax, dword [esp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
mov dword [esp + 0x120], 0xffffffff
setne al
cmp dword [esp + 0x58], 0x10
mov byte [esp + 0x17], al
jb 0x100131bd
push dword [esp + 0x44]
call fcn.100498af
mov al, byte [esp + 0x1b]
add esp, 4
test al, al
je 0x100131cb
mov eax, 1
jmp 0x100132a5
mov ecx, esi
call fcn.10013830
test al, al
je 0x100131e0
mov eax, 2
jmp 0x100132a5
call fcn.10018130
cmp byte [eax + 0xd0], 0
je 0x10013205
push ecx
call fcn.10012cb0
add esp, 4
test al, al
jne 0x10013205
mov eax, 3
jmp 0x100132a5
call fcn.10018130
cmp byte [eax + 0x99], 0
jne 0x1001321d
mov eax, 4
jmp 0x100132a5
call fcn.100147d0
test al, al
jne 0x1001322d
mov eax, 5
jmp 0x100132a5
push 0xffffffffffffffff
push 0xffffffffffffffff
push str.uninstalltime
push str.1007
mov ecx, esi
call fcn.10015120
mov esi, eax
mov edi, edx
mov ecx, esi
or ecx, edi
jne 0x10013251
lea eax, [ecx + 6]
jmp 0x100132a5
lea eax, [esp + 0x34]
push eax
call fcn.1003bef0
add esp, 4
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, esi
mov dword [esp + 0x3c], ecx
sbb eax, edi
and esi, edi
mov dword [esp + 0x40], eax
cmp esi, 0xffffffff
jne 0x1001327e
mov dword [ebx], 0
jmp 0x100132a3
call fcn.10018130
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.1003c080
cmp eax, dword [esi + 0x94]
jge 0x1001329d
mov eax, 7
jmp 0x100132a5
mov dword [ebx], 1
xor eax, eax
mov esi, dword [esp + 0x18]
push 0xb0
push 0
mov dword [esi], eax
lea eax, [esp + 0x64]
push eax
call fcn.1004cee0
add esp, 0xc
mov dword [esp + 0x5c], 0x1007d9b0
mov dword [esp + 0x6c], 0x1007d9b8
mov dword [esp + 0xc4], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
push 0
lea eax, [esp + 0x78]
mov dword [esp + 0x124], 1
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0x44], 1
call fcn.100106d0
mov dword [esp + 0x120], 2
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x5c], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [esp + ecx + 0x58], eax
lea ecx, [esp + 0x74]
call fcn.10011360
mov dword [esp + 0x74], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x120], 4
push dword [ebx]
push ecx
push str.__allowType:
push ecx
push dword [esi]
push ecx
push str.CanInstallGMusic_ret:
push ecx
push str.CKwGreenMusicLogic::CanInstallGMusic
push ecx
push str.INFO
push ecx
push 0x1007d960
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push ecx
push 0x1007d964
push ecx
push 0xcd
push ecx
push 0x1007d94c
push ecx
push str.KwGreenMusicLogic.cpp
push ecx
push str._Kw_
push ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push ecx
lea eax, [esp + 0xdc]
push 0x1007d97c
push eax
call fcn.10012230
add esp, 0xc
mov ecx, eax
call fcn.1000f920
add esp, 4
push eax
call fcn.10012230
add esp, 0xc
push eax
call fcn.10012230
add esp, 0xc
push eax
call fcn.10012230
add esp, 0xc
mov ecx, eax
call fcn.1000f780
add esp, 4
push eax
call fcn.10012230
add esp, 0xc
mov ecx, eax
call fcn.1000f920
add esp, 4
push eax
call fcn.10012230
add esp, 0xc
push eax
call fcn.10012230
add esp, 0xc
push eax
call fcn.10012230
add esp, 0xc
push eax
call fcn.10012230
add esp, 0xc
mov ecx, eax
call fcn.1000f780
add esp, 4
push eax
call fcn.10012230
add esp, 0xc
mov ecx, eax
call fcn.1000f780
push eax
call fcn.100124f0
add esp, 4
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x5c]
push eax
call fcn.100101a0
cmp dword [eax + 0x14], 0x10
jb 0x1001345d
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [esp + 0x30], 0x10
jb 0x10013477
push dword [esp + 0x1c]
call fcn.100498af
add esp, 4
lea ecx, [esp + 0xc4]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x120], 0xffffffff
call fcn.10010120
lea eax, [esp + 0xc4]
mov dword [esp + 0xc4], vtable.std::ios_base.0
push eax
call fcn.10049221
xor eax, eax
add esp, 4
cmp dword [esi], eax
sete al
mov ecx, dword [esp + 0x118]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.100498b4
mov esp, ebp
pop ebp
ret 8