Function at 0x4a86a0
Capabilities:
Check for time delay via gettickcount
Read .ini file

Disassembly:
sub esp, 0xa44
mov eax, dword [0x5b5568]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], 1
mov dword [esp + 0x28], ebx
je 0x4a86d2
push eax
call dword [sym.imp.GDI32.dll_DeleteEnhMetaFile]
mov dword [0x5b5568], ebx
call fcn.0047c0e0
push ebx
call fcn.00437cd0
mov ebp, dword [esp + 0xa84]
mov eax, dword [esp + 0xa8c]
mov dword [0x5b5624], ebx
mov dword [0x5b55a4], ebx
mov dword [ebp], 0xffffffff
mov dword [eax], ebx
mov eax, dword [esp + 0xa90]
add esp, 4
cmp eax, ebx
je 0x4a8710
mov dword [eax], ebx
mov ecx, dword [0x5b5574]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x20
push 0x5b9f40
push 0x4cd
push ecx
mov word [0x5b9b00], bx
call esi
cmp dword [esp + 0xa5c], ebx
je 0x4a8794
mov eax, dword [0x5b5510]
cmp eax, ebx
je 0x4a875e
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [0x5b5510]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x5b5510], ebx
mov eax, dword [esp + 0xa94]
push eax
push 1
call fcn.00476700
add esp, 8
mov dword [0x5ba368], ebx
mov dword [0x5b9250], ebx
mov dword [0x5ba150], ebx
mov dword [0x5b6fa8], ebx
mov dword [0x5ba158], ebx
mov dword [0x5ba14c], ebx
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov edi, dword [esp + 0xa58]
lea ecx, [esp + 0x10]
push ecx
push edi
call fcn.004ccca0
add esp, 8
test eax, eax
je 0x4a8800
mov eax, dword [0x5b5574]
lea edx, [esp + 0x2c]
push 0x104
push edx
push 0x4ca
push eax
call esi
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x43c]
push ecx
push edi
push str._s_:__s
push edx
call fcn.004d5ee1
add esp, 0x10
mov dword [esp + 0x1c], 1
jmp 0x4a8a21
cmp dword [esp + 0x10], 0x53
jne 0x4a885a
push edi
call fcn.00499660
lea eax, [esp + 0x14]
push eax
push edi
call fcn.004ccca0
add esp, 0xc
test eax, eax
je 0x4a885a
mov edx, dword [0x5b5574]
lea ecx, [esp + 0x2c]
push 0x104
push ecx
push 0x4ca
push edx
call esi
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x43c]
push eax
push edi
push str._s_:__s
push ecx
call fcn.004d5ee1
add esp, 0x10
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0x10]
push eax
push edi
mov dword [ebp], eax
call fcn.004a9740
add esp, 8
cmp eax, 1
mov dword [esp + 0x28], eax
jle 0x4a8885
cmp dword [esp + 0xa64], eax
jl 0x4a8885
dec eax
mov dword [esp + 0xa64], eax
mov eax, dword [esp + 0xa68]
test eax, eax
je 0x4a88f7
mov eax, dword [0x5b55d0]
test eax, eax
je 0x4a88b6
push 0x5b96a0
push edi
lea edx, [esp + 0x444]
push str._s____s
push edx
call fcn.004d5ee1
add esp, 0x10
jmp 0x4a88e2
lea eax, [esp + 0x2c]
push 0xc
push eax
push edi
call fcn.004c93e0
lea ecx, [esp + 0x38]
push 0x5b96a0
push ecx
lea edx, [esp + 0x450]
push str._s____s
push edx
call fcn.004d5ee1
add esp, 0x1c
mov ecx, dword [0x5b5528]
lea eax, [esp + 0x43c]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [esp + 0xa70]
test eax, eax
je 0x4a891b
mov eax, dword [0x59f734]
test eax, eax
je 0x4a891b
mov edx, dword [esp + 0x10]
push 0
push edx
push edi
call fcn.004a59e0
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4a8a21
mov eax, dword [esp + 0x10]
push eax
call fcn.004ccaf0
add esp, 4
test eax, eax
je 0x4a8947
mov eax, dword [esp + 0xa98]
test eax, eax
je 0x4a8a21
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, dword [esp + 0xa68]
mov edx, dword [esp + 0xa90]
push 0x5b9f40
push 0x5b9b00
push ecx
mov ecx, dword [esp + 0xa90]
mov dword [0x5b9038], eax
mov eax, dword [esp + 0xa98]
push 1
push 0
push edx
push eax
push 0
push ecx
lea edx, [esp + 0x44]
push ebp
lea eax, [esp + 0x4c]
push edx
mov edx, dword [esp + 0xa90]
lea ecx, [esp + 0x44]
push eax
mov eax, dword [esp + 0xa90]
push ecx
push edx
push eax
push edi
call fcn.004a71a0
add esp, 0x40
mov ebx, eax
call esi
sub eax, dword [0x5b9038]
test ebx, ebx
mov dword [0x5b9038], eax
je 0x4a8a21
mov eax, dword [esp + 0xa74]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x4a89d1
mov dword [eax], edx
mov ecx, dword [esp + 0xa78]
mov eax, dword [esp + 0x24]
test ecx, ecx
je 0x4a89e2
mov dword [ecx], eax
mov ecx, dword [esp + 0xa7c]
test ecx, ecx
je 0x4a89f3
mov esi, dword [esp + 0x20]
mov dword [ecx], esi
push ebx
mov dword [0x5ba14c], edx
mov dword [0x5ba150], edx
mov dword [0x5ba158], eax
mov dword [0x5b9250], eax
call fcn.004c52f0
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [0x5ba368], eax
mov dword [0x5b6fa8], ecx
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [esp + 0x1c]
mov ebp, dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4a8e33
mov edx, dword [esp + 0x10]
push edx
call fcn.004ccaf0
add esp, 4
test eax, eax
jne 0x4a8aa8
mov eax, dword [esp + 0x10]
push eax
call fcn.004ccb20
add esp, 4
test eax, eax
jne 0x4a8aa8
test ebx, ebx
je 0x4a8a8d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4a8a7d
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4a8aa8
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor ebx, ebx
push 0x5b9b00
lea ecx, [esp + 0x440]
push edi
push ecx
call fcn.004a5990
add esp, 0xc
jmp 0x4a8e33
mov eax, dword [esp + 0x10]
cmp eax, 1
je 0x4a8ac9
cmp eax, 0x11
je 0x4a8ac9
cmp eax, 3
je 0x4a8ac9
cmp eax, 0x6e
je 0x4a8ac9
cmp eax, 0x7a
jne 0x4a8ca7
lea esi, [eax - 1]
cmp esi, 0x79
ja case.0x4a8add.5
xor edx, edx
mov dl, byte [esi + 0x4a8f38]
jmp dword [edx*4 + 0x4a8f24]
push 0
push 0
push 0
push 0
push 0
push 0
push edi
call fcn.00406500
add esp, 0x1c
mov dword [esp + 0x14], eax
jmp 0x4a8b91
push 0x1000
push edi
call fcn.004366b0
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x4a8b91
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x40]
push 0
lea ecx, [esp + 0x2c]
push eax
push ecx
push 0
push 0
push 0
push edi
call fcn.0040cca0
add esp, 0x30
jmp 0x4a8b91
cmp eax, 0x7a
mov dword [esp + 0x18], 4
jne 0x4a8b52
mov dword [esp + 0x18], 7
lea edx, [esp + 0x14]
lea eax, [esp + 0x2c]
push edx
push eax
push 0x598d00
push 0x5b9f40
call fcn.004d6c09
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp word [eax*2 + 0x5b9f42], 0x28
je 0x4a8b89
mov word [eax*2 + 0x5b9f40], 0
jmp 0x4a8b91
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xa88]
mov ecx, dword [esp + 0x14]
cmp ecx, 1
mov dword [edx], ecx
jle 0x4a8ca7
mov ecx, dword [0x5b5574]
lea eax, [esp + 0x2c]
push 0x104
push eax
push 0x528
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x2c]
push edx
push eax
push 0x5b9f40
lea ecx, [esp + 0x240]
push str._s____d__s
push ecx
call fcn.004d5ee1
lea edx, [esp + 0x248]
push edx
push 0x5b9f40
call fcn.004d631b
mov eax, dword [esp + 0x30]
add esp, 0x1c
cmp eax, 1
jle 0x4a8ca3
mov eax, dword [esp + 0xa68]
test eax, eax
jne 0x4a8c2e
mov eax, dword [0x5b5534]
push eax
call ebp
test eax, eax
jne 0x4a8c2e
mov ecx, dword [0x5b5530]
push ecx
call ebp
test eax, eax
je 0x4a8ca3
test ebx, ebx
je 0x4a8c40
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov edx, dword [0x5b5530]
push edx
call ebp
test eax, eax
jne 0x4a8c59
mov eax, dword [0x5b5534]
push eax
call ebp
test eax, eax
je 0x4a8c80
mov ecx, dword [0x5b5530]
push ecx
call ebp
test eax, eax
mov eax, dword [0x5b5530]
jne 0x4a8c70
mov eax, dword [0x5b5534]
push 0
push 0
push 0x406
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [0x5b5528]
push 0
push 0
push 0x40b
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa44
ret
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
cmp esi, 1
jle 0x4a8d14
mov edx, dword [0x5b5574]
mov eax, dword [esp + 0xa64]
lea ecx, [esp + 0x2c]
push 0x104
push ecx
push 0x529
push edx
mov dword [0x5b55a4], esi
mov dword [0x5b55a8], eax
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x234]
push eax
push esi
push 0x5b9f40
push str._s____d__s
push ecx
call fcn.004d5ee1
lea edx, [esp + 0x248]
push edx
push 0x5b9f40
call fcn.004d631b
mov eax, dword [esp + 0x2c]
add esp, 0x1c
mov ecx, dword [esp + 0xa68]
test ecx, ecx
je case.0x4a8d46.13
mov ecx, dword [esp + 0xa60]
test ecx, ecx
jne case.0x4a8d46.13
lea esi, [eax - 0xa]
cmp esi, 0x5d
ja case.0x4a8d46.13
xor ecx, ecx
mov cl, byte [esi + 0x4a8fc4]
jmp dword [ecx*4 + 0x4a8fb4]
test ebx, ebx
je 0x4a8d65
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [esp + 0x10]
xor ebx, ebx
push 0x5b9b00
push eax
push edi
call fcn.004a6b00
lea edx, [esp + 0x448]
push 0x5b9b00
push edx
jmp 0x4a8e1f
push 0x5b9260
push 1
push str.UseMCIforMP3
push str.Others
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
push 0x5b9b00
je 0x4a8db3
mov eax, dword [esp + 0x14]
push eax
push edi
call fcn.004a6b00
add esp, 0xc
jmp 0x4a8dc9
mov ecx, dword [esp + 0xa70]
mov edx, dword [esp + 0x14]
push ecx
push edx
push edi
call fcn.004a6f50
add esp, 0x10
mov esi, eax
lea eax, [esp + 0x43c]
push 0x5b9b00
push eax
push edi
push esi
call fcn.004a7060
add esp, 0x10
jmp 0x4a8e2b
cmp eax, 0x1f
je 0x4a8dee
cmp eax, 0x67
jne 0x4a8e06
test ebx, ebx
je 0x4a8e06
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [esp + 0x10]
xor ebx, ebx
push 0x5b9b00
push eax
push edi
call fcn.004a6d60
lea ecx, [esp + 0x448]
push 0x5b9b00
push ecx
mov esi, eax
push edi
push esi
call fcn.004a7060
add esp, 0x1c
test esi, esi
je case.0x4a8d46.13
mov eax, dword [0x5b5568]
mov dword [0x5b9038], 0
test eax, eax
je 0x4a8e4a
xor esi, esi
jmp 0x4a8e51
mov esi, dword [esp + 0xa70]
test ebx, ebx
je 0x4a8e63
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [esp + 0xa60]
test eax, eax
jle 0x4a8e7b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa44
ret
test esi, esi
je 0x4a8ea4
push 0x2040
lea edx, [esp + 0x440]
push 0x5b96a0
push edx
push 0
call fcn.0047da80
add esp, 4
push eax
call fcn.00446950
add esp, 0x10
mov eax, dword [esp + 0xa68]
test eax, eax
je 0x4a8ec0
mov eax, dword [0x5b5528]
push 0x5b96a0
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [0x5b5534]
push ecx
call ebp
test eax, eax
jne 0x4a8ed9
push eax
push 1
push eax
call fcn.00477270
add esp, 0xc
push 1
push 0
call fcn.0047a580
mov edx, dword [0x5b5530]
add esp, 8
push edx
call ebp
test eax, eax
je 0x4a8f07
mov eax, dword [0x5b5530]
push 0
push 0
push 0x406
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa44
ret
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0xa44
ret