Function at 0x410060
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x480230]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor bl, bl
push 0x46e5e8
push 0x481210
mov dword [ebp - 0xa4], edi
mov byte [ebp - 0x99], bl
call fcn.00426e25
mov esi, eax
add esp, 8
test esi, esi
jne 0x4100c4
push eax
push 0xe
push 0x2e
push dword [0x483aa4]
call fcn.00413860
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004192c7
mov esp, ebp
pop ebp
ret
push esi
push 6
lea eax, [ebp - 0xc]
push 1
push eax
call fcn.00446671
mov edx, str.Org_01
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
add esp, 0x10
cmp eax, dword [edx]
jne 0x4100ef
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x4100ef
mov bl, 1
mov edx, str.Org_02
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x410109
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x410109
mov bl, 2
mov edx, str.Org_03
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x410186
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x410186
mov bl, 3
push esi
push 1
lea eax, [ebp - 0x98]
push 0x6c
push eax
call fcn.00446671
mov ax, word [ebp - 0x98]
lea edx, [edi + 0x12]
mov word [edi], ax
lea ecx, [ebp - 0x89]
movzx eax, byte [ebp - 0x96]
add esp, 0x10
mov byte [edi + 2], al
movzx eax, byte [ebp - 0x95]
mov byte [edi + 3], al
mov eax, dword [ebp - 0x94]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x90]
mov dword [edi + 0xc], eax
mov edi, 0x10
mov ax, word [ecx - 3]
mov word [edx - 2], ax
cmp bl, 1
jne 0x4101b7
xor al, al
jmp 0x4101b9
test bl, bl
jne 0x410123
push esi
call fcn.00426ae3
push 0
push 0xe
push 0xc
push dword [0x483aa4]
call fcn.00413860
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004192c7
mov esp, ebp
pop ebp
ret
mov al, byte [ecx]
mov byte [edx + 1], al
mov al, byte [ecx - 1]
add ecx, 6
mov byte [edx], al
add edx, 0xc
sub edi, 1
jne 0x410175
mov edi, dword [ebp - 0xa4]
lea ebx, [ebp - 0x88]
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xac], 0x10
lea ecx, [edi + 0x14]
mov dword [ebp - 0xa0], ecx
movzx eax, word [ebx]
test ax, ax
jne 0x410205
mov dword [ecx + 4], 0
jmp 0x41042e
cmp ax, word [edi + 4]
jbe 0x410235
cmp byte [ebp - 0x99], 0
jne 0x410235
push 0x40
push 0x46f1d4
push str.Some_tracks_were_truncated_due_to_having_too_many_events.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 0xa0]
mov byte [ebp - 0x99], 1
mov eax, dword [ecx]
mov edx, 1
mov dword [ecx + 4], eax
lea ecx, [eax + 0x10]
mov dword [eax], 0
mov dword [eax + 4], ecx
mov eax, edx
cmp ax, word [ebx]
jae 0x41026f
movzx eax, word [edi + 4]
cmp edx, eax
jge 0x41026f
lea eax, [ecx - 0x10]
inc edx
mov dword [ecx], eax
lea eax, [ecx + 0x10]
mov dword [ecx + 4], eax
mov ecx, eax
movzx eax, word [ebx]
cmp edx, eax
jl 0x410252
mov eax, dword [ebp - 0xa0]
xor edx, edx
mov dword [ecx - 0xc], 0
xor edi, edi
mov ecx, dword [eax]
movzx eax, word [ebx]
cmp dx, ax
jae 0x4102d4
lea ebx, [ecx + 8]
nop dword [eax]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x4102ad
push 1
push 4
push esi
call fcn.00446b01
add esp, 0xc
jmp 0x4102be
push esi
push 1
push 4
push ebx
call fcn.00446671
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x410290
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor edi, edi
cmp dx, ax
jae 0x410324
lea ebx, [ecx + 0xd]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x4102fd
push 1
push 1
push esi
call fcn.00446b01
add esp, 0xc
jmp 0x41030e
push esi
push 1
push 1
push ebx
call fcn.00446671
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x4102e0
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor ebx, ebx
cmp dx, ax
jae 0x41037c
lea edi, [ecx + 0xc]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp ebx, eax
jl 0x41034d
push 1
push 1
push esi
call fcn.00446b01
add esp, 0xc
jmp 0x410366
push esi
push 1
push 1
push edi
call fcn.00446671
add esp, 0x10
cmp byte [edi], 0
jne 0x410363
mov byte [edi], 1
add edi, 0x10
mov eax, dword [ebp - 0xa8]
inc ebx
movzx eax, word [eax]
cmp ebx, eax
jl 0x410330
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor edi, edi
cmp dx, ax
jae 0x4103d4
lea ebx, [ecx + 0xe]
nop dword [eax + eax]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x4103ad
push 1
push 1
push esi
call fcn.00446b01
add esp, 0xc
jmp 0x4103be
push esi
push 1
push 1
push ebx
call fcn.00446671
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x410390
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor edi, edi
cmp dx, ax
jae 0x41041c
lea ebx, [ecx + 0xf]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x4103fd
push 1
push 1
push esi
call fcn.00446b01
add esp, 0xc
jmp 0x41040e
push esi
push 1
push 1
push ebx
call fcn.00446671
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x4103e0
mov ecx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xa8]
add ecx, 0xc
add ebx, 6
sub dword [ebp - 0xac], 1
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa8], ebx
jne 0x4101f1
push esi
call fcn.00426ae3
add esp, 4
lea ebx, [edi + 0x12]
xor esi, esi
nop dword [eax + eax]
movzx eax, byte [ebx + 1]
push eax
movzx eax, byte [ebx]
push eax
push esi
call fcn.00414ab0
inc esi
lea ebx, [ebx + 0xc]
add esp, 0xc
cmp esi, 8
jl 0x410460
mov esi, 8
lea ebx, [edi + 0x72]
lea eax, [esi - 8]
push eax
movzx eax, byte [ebx]
push dword [eax*4 + 0x47f378]
call fcn.004145a0
inc esi
lea ebx, [ebx + 0xc]
add esp, 8
cmp esi, 0x10
jl 0x410483
push 0
mov ecx, edi
call fcn.00411e70
push 0
mov ecx, 0x483ab0
call fcn.00413f20
push 0xa
lea eax, [ebp - 0x2c]
push eax
movzx eax, word [edi]
push eax
call fcn.004473f3
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea eax, [ebp - 0x2c]
add esp, 0xc
push eax
push 0x3ec
push dword [0x483ae0]
call esi
push 0x46e374
push 0x3ee
push dword [0x483ae0]
call esi
push 0x46e374
push 0x3ed
push dword [0x483ae0]
call esi
movzx eax, byte [edi + 2]
mov ecx, 0x483ab0
movzx edx, byte [edi + 3]
imul edx, eax
imul eax, edx, 0x3e7
push eax
call fcn.00413a80
movzx eax, byte [edi + 3]
push eax
movzx eax, byte [edi + 2]
push eax
call fcn.0040adb0
movzx eax, byte [edi + 3]
push eax
movzx eax, byte [edi + 2]
push eax
call fcn.0040af20
push 0x481210
call fcn.00412f90
add esp, 0x14
cmp dword [0x480e90], 0
je 0x410559
call fcn.00412050
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004192c7
mov esp, ebp
pop ebp
ret