Function at 0x411770
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x482230]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
xor bl, bl
push 0x4705ec
push 0x4834c8
mov dword [ebp - 0xa4], edi
mov byte [ebp - 0x99], bl
call fcn.004286b5
mov esi, eax
add esp, 8
test esi, esi
jne 0x4117d4
push eax
push 0xe
push 0x2e
push dword [0x485d5c]
call fcn.00414f70
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041aab7
mov esp, ebp
pop ebp
ret
push esi
push 6
lea eax, [ebp - 0xc]
push 1
push eax
call fcn.00448209
mov edx, str.Org_01
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
add esp, 0x10
cmp eax, dword [edx]
jne 0x4117ff
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x4117ff
mov bl, 1
mov edx, str.Org_02
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x411819
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x411819
mov bl, 2
mov edx, str.Org_03
lea ecx, [ebp - 0xc]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x411896
movzx eax, word [ecx + 4]
cmp ax, word [edx + 4]
jne 0x411896
mov bl, 3
push esi
push 1
lea eax, [ebp - 0x98]
push 0x6c
push eax
call fcn.00448209
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 0x4118c7
xor al, al
jmp 0x4118c9
test bl, bl
jne 0x411833
push esi
call fcn.00428373
push 0
push 0xe
push 0xc
push dword [0x485d5c]
call fcn.00414f70
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041aab7
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 0x411885
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 0x411915
mov dword [ecx + 4], 0
jmp 0x411b3e
cmp ax, word [edi + 4]
jbe 0x411945
cmp byte [ebp - 0x99], 0
jne 0x411945
push 0x40
push 0x471220
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 0x41197f
movzx eax, word [edi + 4]
cmp edx, eax
jge 0x41197f
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 0x411962
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 0x4119e4
lea ebx, [ecx + 8]
nop dword [eax]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x4119bd
push 1
push 4
push esi
call fcn.00448699
add esp, 0xc
jmp 0x4119ce
push esi
push 1
push 4
push ebx
call fcn.00448209
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x4119a0
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor edi, edi
cmp dx, ax
jae 0x411a34
lea ebx, [ecx + 0xd]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x411a0d
push 1
push 1
push esi
call fcn.00448699
add esp, 0xc
jmp 0x411a1e
push esi
push 1
push 1
push ebx
call fcn.00448209
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x4119f0
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor ebx, ebx
cmp dx, ax
jae 0x411a8c
lea edi, [ecx + 0xc]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp ebx, eax
jl 0x411a5d
push 1
push 1
push esi
call fcn.00448699
add esp, 0xc
jmp 0x411a76
push esi
push 1
push 1
push edi
call fcn.00448209
add esp, 0x10
cmp byte [edi], 0
jne 0x411a73
mov byte [edi], 1
add edi, 0x10
mov eax, dword [ebp - 0xa8]
inc ebx
movzx eax, word [eax]
cmp ebx, eax
jl 0x411a40
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor edi, edi
cmp dx, ax
jae 0x411ae4
lea ebx, [ecx + 0xe]
nop dword [eax + eax]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x411abd
push 1
push 1
push esi
call fcn.00448699
add esp, 0xc
jmp 0x411ace
push esi
push 1
push 1
push ebx
call fcn.00448209
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x411aa0
mov ecx, dword [ebp - 0xa0]
mov ecx, dword [ecx]
xor edx, edx
xor edi, edi
cmp dx, ax
jae 0x411b2c
lea ebx, [ecx + 0xf]
mov eax, dword [ebp - 0xa4]
movzx eax, word [eax + 4]
cmp edi, eax
jl 0x411b0d
push 1
push 1
push esi
call fcn.00448699
add esp, 0xc
jmp 0x411b1e
push esi
push 1
push 1
push ebx
call fcn.00448209
add esp, 0x10
add ebx, 0x10
mov eax, dword [ebp - 0xa8]
inc edi
movzx eax, word [eax]
cmp edi, eax
jl 0x411af0
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 0x411901
push esi
call fcn.00428373
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.004161d0
inc esi
lea ebx, [ebx + 0xc]
add esp, 0xc
cmp esi, 8
jl 0x411b70
mov esi, 8
lea ebx, [edi + 0x72]
lea eax, [esi - 8]
push eax
movzx eax, byte [ebx]
push dword [eax*4 + 0x481378]
call fcn.00415cc0
inc esi
lea ebx, [ebx + 0xc]
add esp, 8
cmp esi, 0x10
jl 0x411b93
push 0
mov ecx, edi
call fcn.00413580
push 0
mov ecx, 0x485d68
call fcn.00415640
push 0xa
lea eax, [ebp - 0x2c]
push eax
movzx eax, word [edi]
push eax
call fcn.00448c7f
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea eax, [ebp - 0x2c]
add esp, 0xc
push eax
push 0x3ec
push dword [0x485d98]
call esi
push 0x470374
push 0x3ee
push dword [0x485d98]
call esi
push 0x470374
push 0x3ed
push dword [0x485d98]
call esi
movzx eax, byte [edi + 2]
mov ecx, 0x485d68
movzx edx, byte [edi + 3]
imul edx, eax
imul eax, edx, 0x3e7
push eax
call fcn.00415190
movzx eax, byte [edi + 3]
push eax
movzx eax, byte [edi + 2]
push eax
call fcn.0040b220
movzx eax, byte [edi + 3]
push eax
movzx eax, byte [edi + 2]
push eax
call fcn.0040b390
push 0x4834c8
call fcn.004146a0
add esp, 0x14
cmp dword [0x482e90], 0
je 0x411c69
call fcn.00413760
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041aab7
mov esp, ebp
pop ebp
ret