Function at 0x4d037f
Capabilities:
Enumerate files on windows
Query environment variable
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d912a
mov eax, dword fs:[0]
push eax
mov eax, 0x1288
call fcn.00506f00
mov eax, dword [0x67e2d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1280], ecx
xor esi, esi
mov dword [ebp - 0x1278], esi
call fcn.0041279d
push eax
lea ecx, [ebp - 0x1270]
call fcn.00411d94
and dword [ebp - 4], esi
lea eax, [ebp - 0x1010]
push 0x1000
push esi
push eax
call fcn.0056b050
add esp, 0xc
lea eax, [ebp - 0x1010]
mov ebx, 0x800
push ebx
push eax
push str._appdata_KuGou7kugou.ini
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea eax, [ebp - 0x1010]
push eax
lea ecx, [ebp - 0x1270]
call fcn.0041421f
mov edi, dword [ebp - 0x1270]
lea eax, [ebp - 0x1010]
push edi
push ebx
push eax
push 0x5f1b30
push str.SongSavePath
push str.NormalConfig
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x1010], si
jne 0x4d044e
lea ecx, [edi - 0x10]
call fcn.00412ac4
xor eax, eax
jmp 0x4d07d5
and dword [ebp - 0x128c], 0
and dword [ebp - 0x1288], 0
and dword [ebp - 0x1284], 0
lea eax, [ebp - 0x1010]
mov byte [ebp - 4], 1
push eax
call fcn.0057600b
pop ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x1274], ecx
mov dword [ebp - 0x1268], eax
test ecx, ecx
je 0x4d05ee
push 2
pop ecx
lea edx, [ebp - 0x1010]
xor ebx, ebx
xor esi, esi
sub ecx, edx
mov dword [ebp - 0x127c], ecx
cmp dword [0x683574], 0
jne 0x4d07a6
lea ecx, [ebp - 0x1010]
cmp word [ecx + esi], 0x3b
jne 0x4d05d2
cmp esi, 0x1000
jae 0x4d07a1
xor eax, eax
mov word [ecx + esi], ax
mov eax, ecx
add eax, ebx
lea ecx, [ebp - 0x1264]
push eax
call fcn.00413f09
push 1
lea eax, [ebp - 0x126c]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x1264]
call fcn.00434d0c
push 0x5f1b04
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0042e677
mov ecx, dword [ebp - 0x126c]
test eax, eax
mov byte [ebp - 4], 2
setne bl
lea ecx, [ecx - 0x10]
call fcn.00412ac4
test bl, bl
je 0x4d0534
push 0x5f1b04
lea ecx, [ebp - 0x1264]
call fcn.0042e473
push str.Temp_
lea eax, [ebp - 0x1264]
push eax
lea eax, [ebp - 0x1290]
push eax
call fcn.0042dfbd
add esp, 0xc
push eax
lea ecx, [ebp - 0x128c]
mov byte [ebp - 4], 4
call fcn.004ff6eb
mov ecx, dword [ebp - 0x1290]
mov byte [ebp - 4], 2
lea ecx, [ecx - 0x10]
call fcn.00412ac4
push str.Listen_
lea eax, [ebp - 0x1264]
push eax
lea eax, [ebp - 0x1294]
push eax
call fcn.0042dfbd
add esp, 0xc
push eax
lea ecx, [ebp - 0x128c]
mov byte [ebp - 4], 5
call fcn.004ff6eb
mov ecx, dword [ebp - 0x1294]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x1264]
lea eax, [ebp - 0x1010]
mov ebx, dword [ebp - 0x127c]
add eax, esi
add ebx, eax
mov byte [ebp - 4], 1
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov eax, dword [ebp - 0x1268]
inc eax
add esi, 2
mov dword [ebp - 0x1268], eax
cmp eax, dword [ebp - 0x1274]
jb 0x4d04a1
mov esi, dword [ebp - 0x1278]
mov edi, dword [ebp - 0x128c]
xor ebx, ebx
mov eax, dword [ebp - 0x1288]
sub eax, edi
sar eax, 2
cmp ebx, eax
jae 0x4d07ba
push 0x250
lea eax, [ebp - 0x1260]
push 0
push eax
call fcn.0056b050
lea eax, [edi + ebx*4]
push 0x61cfd8
push eax
lea eax, [ebp - 0x1278]
push eax
call fcn.0042dfbd
add esp, 0x18
lea ecx, [ebp - 0x1260]
push ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ecx, dword [ebp - 0x1278]
mov esi, eax
mov dword [ebp - 0x126c], esi
lea ecx, [ecx - 0x10]
call fcn.00412ac4
cmp esi, 0xffffffff
je 0x4d0798
cmp dword [0x683574], 0
jne 0x4d078c
test byte [ebp - 0x1260], 0x10
jne 0x4d0776
lea eax, [ebp - 0x1234]
push eax
lea ecx, [ebp - 0x1264]
call fcn.00413f09
push 3
lea eax, [ebp - 0x1274]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x1264]
call fcn.00434d0c
push eax
lea ecx, [ebp - 0x1264]
mov byte [ebp - 4], 7
call fcn.00411f3a
mov ecx, dword [ebp - 0x1274]
mov byte [ebp - 4], 6
lea ecx, [ecx - 0x10]
call fcn.00412ac4
push 0x621ea4
lea ecx, [ebp - 0x1264]
call fcn.0042e69b
test eax, eax
je 0x4d0704
push 0x621eac
lea ecx, [ebp - 0x1264]
call fcn.0042e69b
test eax, eax
je 0x4d0704
push 0x621eb4
lea ecx, [ebp - 0x1264]
call fcn.0042e69b
test eax, eax
jne 0x4d0764
mov eax, dword [edi + ebx*4]
sub eax, 0x10
push eax
call fcn.00412393
add eax, 0x10
mov dword [ebp - 0x1268], eax
lea eax, [ebp - 0x1234]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x1268]
push 0x5f1ce0
push eax
call fcn.004607c0
add esp, 0xc
mov ecx, esp
push 0x61ffb0
call fcn.00413f09
mov esi, dword [ebp - 0x1268]
mov ecx, dword [ebp - 0x1280]
push esi
call fcn.0045ed1e
lea ecx, [esi - 0x10]
call fcn.00412ac4
mov esi, dword [ebp - 0x126c]
mov ecx, dword [ebp - 0x1264]
mov byte [ebp - 4], 1
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea eax, [ebp - 0x1260]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4d0662
cmp esi, 0xffffffff
je 0x4d0798
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
inc esi
inc ebx
jmp 0x4d05f6
call fcn.00507171
mov ebx, dword [ebp - 0x1280]
mov esi, dword [ebp - 0x126c]
mov edi, dword [ebp - 0x128c]
jmp 0x4d078c
lea ecx, [ebp - 0x128c]
call fcn.00436307
mov ecx, dword [ebp - 0x1270]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00506d7f
mov esp, ebp
pop ebp
ret