Function at 0x427c50
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x460be8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
lea eax, [esp + 4]
push edi
mov edi, ecx
push eax
call fcn.00427bd0
mov ecx, dword [0x48c304]
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xc], ecx
lea edx, [esp + 0xc]
lea ecx, [esp + 0x14]
push edx
push 1
mov byte [esp + 0x34], 1
call fcn.004101a0
mov dword [esp + 0x14], 0x465200
lea ecx, [esp + 0xc]
mov byte [esp + 0x2c], 3
call fcn.0044c625
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], 0x4651fc
lea eax, [edi + 4]
push str.Music.mid
lea ecx, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x38], 4
call fcn.0044c86e
lea edx, [esp + 0x14]
mov byte [esp + 0x2c], 5
push edx
push eax
call fcn.0040fa50
add esp, 8
lea ecx, [esp + 0x10]
mov byte [esp + 0x2c], 4
call fcn.0044c625
mov eax, dword [esp + 0x20]
cmp eax, ebx
jne 0x427d48
push 0x48dc20
lea ecx, [edi + 8]
call fcn.0044c762
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x2c], bl
cmp ecx, ebx
mov dword [esp + 0x14], 0x4651f8
je 0x427d26
push 3
call fcn.00410350
lea ecx, [esp + 8]
mov dword [esp + 0x2c], 0xffffffff
call fcn.0044c625
pop edi
pop ebx
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
add esp, 0x28
ret
push esi
xor esi, esi
cmp eax, ebx
jle 0x427d88
cmp esi, ebx
jl 0x427d59
cmp esi, dword [esp + 0x1c]
jl 0x427d66
push str.Index_out_of_range.
call fcn.00437f40
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + esi*4]
push eax
push ecx
call fcn.004395bd
add esp, 8
test eax, eax
je 0x427dad
mov eax, dword [esp + 0x24]
inc esi
cmp esi, eax
jl 0x427d4f
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp eax, ebx
jg 0x427d9f
push str.Index_out_of_range.
call fcn.00437f40
add esp, 4
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xc]
push edx
call fcn.0044c712
cmp byte [edi + 0x22], bl
je 0x427e41
cmp dword [esp + 0x24], 1
jle 0x427e41
lea eax, [esp + 0x14]
push ebp
push eax
lea ecx, [esp + 0x20]
call fcn.004102b0
mov ebp, eax
cmp esi, ebx
mov byte [esp + 0x34], 6
jl 0x427de1
cmp esi, dword [esp + 0x20]
jl 0x427dee
push str.Index_out_of_range.
call fcn.00437f40
add esp, 4
mov ecx, dword [esp + 0x24]
push ebp
lea ecx, [ecx + esi*4]
call fcn.0044c712
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], 4
call fcn.0044c625
mov edx, dword [esp + 0x28]
push edx
call fcn.00430a20
add esp, 4
mov esi, eax
cmp esi, ebx
pop ebp
jl 0x427e23
cmp esi, dword [esp + 0x1c]
jl 0x427e30
push str.Index_out_of_range.
call fcn.00437f40
add esp, 4
mov eax, dword [esp + 0x20]
lea ecx, [eax + esi*4]
push ecx
lea ecx, [esp + 0x10]
call fcn.0044c712
lea edx, [esp + 0xc]
lea eax, [esp + 0x14]
push edx
push eax
call fcn.0040fdd0
add esp, 8
push eax
lea ecx, [edi + 8]
mov byte [esp + 0x34], 7
call fcn.0044c712
lea ecx, [esp + 0x14]
mov byte [esp + 0x30], 4
call fcn.0044c625
mov eax, dword [esp + 0x20]
mov byte [esp + 0x30], bl
cmp eax, ebx
mov dword [esp + 0x18], 0x4651f8
je 0x427ea0
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push fcn.0044c625
push ecx
push 4
push eax
call fcn.004394c9
push esi
call fcn.00448201
add esp, 4
lea ecx, [esp + 0xc]
mov dword [esp + 0x30], 0xffffffff
call fcn.0044c625
mov ecx, dword [esp + 0x28]
pop esi
pop edi
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret