Function at 0x471b0f
Capabilities:
Create directory
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x139c
call fcn.004990f0
push ebx
push esi
xor ebx, ebx
push edi
mov edi, ebx
mov dword [ebp - 4], edi
cmp word [0x504ce0], bx
je 0x4722e7
push 0x4d2f7c
mov esi, 0x504ce0
push esi
call fcn.00476738
pop ecx
push eax
call fcn.0049e71a
pop ecx
pop ecx
test eax, eax
je 0x471bc1
push 0x4ccb5c
push esi
call fcn.00476738
pop ecx
push eax
call fcn.0049e71a
pop ecx
pop ecx
test eax, eax
je 0x471bc1
push 0x4ccb64
push esi
call fcn.00476738
pop ecx
push eax
call fcn.0049e71a
pop ecx
pop ecx
test eax, eax
je 0x471bc1
push esi
call dword [sym.imp.SHLWAPI.dll_PathIsFileSpecW]
test eax, eax
jne 0x471bab
push esi
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
jne 0x471bab
push esi
push 0x104
push 0x504ee8
call fcn.0040c4d6
jmp 0x4722ef
push esi
push 0x502f50
push 0x504ee8
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x4722ef
push 0x208
lea eax, [ebp - 0x39c]
push ebx
push eax
call fcn.0049a3b0
push 0x4e
lea eax, [ebp - 0x90]
push ebx
push eax
call fcn.0049a3b0
add esp, 0x18
push 0x503360
push 0x104
push 0x504ee8
call fcn.0040c4d6
push ebx
push 0x503360
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x531ea8
push 0x4d53c8
lea eax, [ebp - 0x90]
push 0x4e
push eax
call fcn.00405a8d
lea eax, [ebp - 0x90]
push 0x503360
push eax
call fcn.004120f3
add esp, 0x18
push esi
call dword [sym.imp.SHLWAPI.dll_PathIsFileSpecW]
test eax, eax
jne 0x471c5b
push esi
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
jne 0x471c5b
push esi
push 0x104
lea eax, [ebp - 0x39c]
push eax
call fcn.0040c4d6
jmp 0x471c6e
push esi
push 0x502f50
lea eax, [ebp - 0x39c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push ebx
lea eax, [ebp - 0x39c]
push ebx
push eax
call fcn.00404fb9
mov esi, eax
push esi
call fcn.00494c50
mov ebx, eax
push esi
mov dword [ebp - 0x10], ebx
call fcn.004a1b5f
add esp, 0x14
test ebx, ebx
je 0x4722ef
and dword [ebp - 0x20], edi
push ebx
call fcn.00494b40
pop ecx
test eax, eax
jne 0x471db1
push 0x208
push eax
lea eax, [ebp - 0x5a4]
push eax
call fcn.0049a3b0
add esp, 0xc
lea eax, [ebp - 0x5a4]
mov esi, 0x104
push 0x504ce0
push esi
push eax
call fcn.0040c4d6
lea eax, [ebp - 0x5a4]
push 0x2e
push eax
call fcn.0049c387
pop ecx
pop ecx
test eax, eax
je 0x471cf1
xor ecx, ecx
mov word [eax], cx
push str._skin.xml
push esi
lea eax, [ebp - 0x5a4]
push eax
call fcn.0040ad38
mov esi, dword [ebp - 0x28]
push 0x104
lea eax, [ebp - 0x194]
push 0
push eax
call fcn.0049a3b0
xor ecx, ecx
lea eax, [ebp - 0x194]
push ecx
push ecx
push ecx
push ecx
push 0x104
push eax
push ecx
push ebx
call fcn.00494a80
lea eax, [ebp - 0x194]
push str.skin.xml
push eax
call fcn.004a194c
add esp, 0x34
test eax, eax
je 0x471d7a
push 0
lea eax, [ebp - 0x5a4]
push 0
push eax
call fcn.00404fb9
mov esi, eax
or edi, 1
lea eax, [ebp - 0x194]
mov dword [ebp - 4], edi
push esi
push eax
call fcn.004a194c
add esp, 0x14
test eax, eax
je 0x471d7a
xor bl, bl
jmp 0x471d7c
mov bl, 1
mov eax, dword [ebp - 4]
test al, 1
je 0x471d92
and eax, 0xfffffffe
push esi
mov dword [ebp - 4], eax
call fcn.004a1b5f
pop ecx
xor esi, esi
movzx eax, bl
test bl, bl
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jne 0x471db1
push ebx
call fcn.00494ba0
mov edi, dword [ebp - 4]
pop ecx
test eax, eax
je 0x471d06
push ebx
call fcn.00494b40
pop ecx
test eax, eax
jne 0x4722de
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ecx, SysReAllocStringLen
cmp eax, ecx
sbb esi, esi
neg esi
mov dword [ebp - 0xc], esi
cmp eax, ecx
jae 0x471df4
xor eax, eax
push eax
push 1
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
and dword [ebp - 0x34], 0
mov dword [ebp - 0x30], eax
mov edi, dword [ebp - 0x1c]
test esi, esi
je 0x471e04
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor ecx, ecx
lea eax, [ebp - 0x194]
push ecx
push ecx
push ecx
push ecx
push 0x104
push eax
push ecx
push ebx
call fcn.00494a80
add esp, 0x20
cmp dword [ebp - 0x20], 0
je 0x472105
push ebx
call fcn.00494c70
pop ecx
test eax, eax
jne 0x4722bc
lea ebx, [ebp - 0x194]
mov esi, 0x4d353c
mov eax, ebx
push esi
push eax
call fcn.0049ae70
pop ecx
pop ecx
test eax, eax
je 0x471e68
mov eax, ebx
push esi
push eax
call fcn.0049ae70
mov ebx, eax
pop ecx
add ebx, 1
pop ecx
mov dword [ebp - 8], ebx
je 0x471e75
cmp byte [ebx], 0x5c
jne 0x471e72
add ebx, 1
jne 0x471e68
mov dword [ebp - 8], ebx
push ebx
call fcn.00476703
cmp byte [ebx], 0
mov esi, eax
pop ecx
je 0x4720a2
test esi, esi
je 0x4720a2
push 0x4d2fbc
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d2fac
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d53f0
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d2fb0
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d2fa8
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d2fb4
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d53f4
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d53f8
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push str.maki
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5404
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5408
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d540c
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5410
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5414
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5418
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d541c
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5420
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5424
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0
push esi
call fcn.00405018
or dword [ebp - 4], 2
mov edi, eax
push edi
mov dword [ebp - 0x1c], edi
call fcn.00490bf8
add esp, 0xc
test eax, eax
jne 0x47209e
push 0x4d5428
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d542c
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push str.midi
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push str.mpeg
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5440
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d2fb8
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x47209e
push 0x4d5444
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
jne 0x4720a2
mov bl, 1
jmp 0x4720a4
xor bl, bl
mov eax, dword [ebp - 4]
test al, 2
je 0x4720bd
and eax, 0xfffffffd
push edi
mov dword [ebp - 4], eax
call fcn.004a1b5f
xor edi, edi
pop ecx
mov dword [ebp - 0x1c], edi
test bl, bl
je 0x4722b6
push 0
push dword [ebp - 8]
call fcn.00405018
pop ecx
pop ecx
mov esi, eax
mov ebx, 0x503360
push esi
push ebx
lea eax, [ebp - 0x39c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push esi
call fcn.004a1b5f
lea eax, [ebp - 0x39c]
push ebx
push eax
call fcn.00472383
mov ebx, dword [ebp - 0x10]
add esp, 0xc
jmp 0x4721a9
lea eax, [ebp - 0x194]
dec eax
push eax
lea eax, [ebp - 0x194]
push 0x4d2f9c
push eax
call fcn.004768db
inc eax
push eax
mov dword [ebp - 0x14], eax
call fcn.00476703
mov esi, eax
push 0x4d2fa8
push esi
call fcn.004a194c
add esp, 0x18
test eax, eax
je 0x472173
push 0x4d53f0
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x472173
push 0x4d2fb0
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
je 0x472173
push 0x4d2fa4
push esi
call fcn.004a194c
pop ecx
pop ecx
test eax, eax
jne 0x4722b9
push ebx
call fcn.00494c70
pop ecx
test eax, eax
jne 0x4722b9
push eax
push dword [ebp - 0x14]
call fcn.00405018
pop ecx
pop ecx
mov esi, eax
lea eax, [ebp - 0x39c]
push esi
push 0x503360
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push esi
call fcn.004a1b5f
pop ecx
mov esi, dword [ebp - 0xc]
xor ecx, ecx
push ecx
mov eax, esi
shl eax, 0x1e
or eax, 0x80
push eax
push 2
push ecx
push ecx
push 0x40000000
lea eax, [ebp - 0x39c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x14], eax
cmp eax, 0xffffffff
je 0x4722bc
and dword [ebp - 8], 0
lea eax, [ebp - 0x139c]
push 0x1000
xor esi, esi
push esi
push eax
call fcn.0049a3b0
mov edi, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x18], 1
and dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x139c]
xor esi, 1
mov eax, esi
mov dword [ebp - 0x28], esi
shl eax, 0xb
add eax, ecx
push 0x800
push eax
push ebx
mov dword [ebp - 0x24], eax
call fcn.00495590
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x472237
push ebx
call fcn.004949d0
pop ecx
cmp dword [ebp - 0xc], 0
je 0x472282
push 0xffffffffffffffff
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test esi, esi
jle 0x4722a8
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x40]
push eax
push 0
push esi
push dword [ebp - 0x24]
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x47227d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp eax, 0x3e5
cmovne ecx, edx
mov dword [ebp - 0x18], ecx
add dword [ebp - 8], esi
jmp 0x47229b
test esi, esi
jle 0x4722a8
push 0
lea eax, [ebp - 0x2c]
push eax
push esi
push dword [ebp - 0x24]
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4722a8
cmp dword [ebp - 0x18], 0
mov esi, dword [ebp - 0x28]
jne 0x472201
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0x1c]
jmp 0x4722b9
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
push ebx
call fcn.00494ba0
pop ecx
test eax, eax
je 0x471df7
test esi, esi
je 0x4722de
cmp dword [ebp - 0x30], 0
je 0x4722de
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.00494990
pop ecx
jmp 0x4722ef
xor eax, eax
mov word [0x504ee8], ax
pop edi
pop esi
pop ebx
leave
ret