Function at 0x4039d0
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x6414
call fcn.004267a0
mov eax, dword [0x4606e0]
xor eax, esp
mov dword [esp + 0x6410], eax
cmp dword [0x47be78], 0xa
mov eax, dword [esp + 0x6424]
push ebx
mov ebx, dword [esp + 0x641c]
push ebp
mov ebp, dword [esp + 0x6430]
push esi
push edi
mov edi, dword [esp + 0x642c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], eax
jge 0x403c00
push ebx
call fcn.00409130
add esp, 4
mov edi, 0x4453bc
mov esi, ebp
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp + 0x18], ebp
jne 0x403a44
mov dword [esp + 0x18], str._stdout_
mov edx, dword [esp + 0x14]
mov eax, edx
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x403a50
sub eax, esi
mov esi, eax
mov eax, ebp
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x403a62
sub eax, edi
add eax, esi
cmp eax, 0x42
mov ebp, 0x44520b
jb 0x403a7e
mov ebp, 0x445a3c
xor eax, eax
mov edi, 0x4453bc
mov esi, edx
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
mov eax, edx
jne 0x403a97
mov eax, str._stdin_
mov ecx, dword [esp + 0x18]
push ecx
push ebp
push eax
push str.Encoding__s_s_to__s_n
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
push ebx
call fcn.0040ba00
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
add esp, 0x10
fmul qword [0x445730]
fstp qword [esp]
push str.Encoding_as__g_kHz
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
push ebx
mov edi, 0x44520b
call fcn.0040bd60
add eax, 0xffffffff
add esp, 0x14
cmp eax, 3
ja case.default.0x403af4
jmp dword [eax*4 + 0x403eac]
push ebx
mov edi, str.ca.
call fcn.0040bd90
add esp, 4
push eax
push str.VBR_q_i_
jmp 0x403b31
push ebx
call fcn.0040bdc0
add esp, 4
push eax
push str.average__d_kbps
jmp 0x403b31
push ebx
call fcn.0040bbe0
add esp, 4
push eax
push 0x4459e0
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
add esp, 0xc
push ebx
call fcn.0040ba00
add esp, 4
cmp eax, 0x3e80
mov ebp, 0x4458f8
jl 0x403b5c
mov ebp, 0x44520b
push ebx
call fcn.0040bae0
mov esi, eax
add esi, esi
push ebx
add esi, esi
call fcn.0040ba80
add esp, 8
push eax
push ebx
call fcn.0040bc00
fmul qword [0x4459d8]
fadd qword [0x4459d0]
call fcn.00426db0
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push ecx
fmul qword [0x4459c8]
fstp qword [esp]
push edi
push ebp
push ebx
call fcn.0040c1b0
mov edx, 2
add esp, 4
sub edx, eax
push edx
push ebx
call fcn.0040bab0
add eax, esi
mov eax, dword [eax*4 + section..data]
add esp, 4
push eax
push str.__s_MPEG__u_s_Layer_III___s_gx__qval_i_n
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
add esp, 0x24
cmp dword [0x47be78], 0xfffffff6
jg 0x403be9
push ebx
call fcn.00409360
add esp, 4
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00426271
mov edi, dword [esp + 0x20]
add esp, 4
mov edi, edi
lea ecx, [esp + 0x20]
push ecx
push ebx
call fcn.004031c0
push ebx
mov ebp, eax
call fcn.0040c1f0
add esp, 0xc
cmp dword [0x47be78], 0
mov esi, eax
jg 0x403c90
fldz
fcomp dword [0x47be2c]
fnstsw ax
test ah, 5
jp 0x403c38
push ebx
call fcn.00408600
jmp 0x403c8d
mov eax, 0x51eb851f
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x32
mov ecx, esi
sub ecx, eax
jne 0x403c90
call fcn.00401c50
push ebx
call fcn.0040c1e0
add esp, 4
push eax
push ebx
call fcn.0040c260
add esp, 4
push eax
push esi
push ebx
call fcn.0040ba00
add esp, 4
push eax
call fcn.004082b0
add esp, 0x10
cmp dword [0x47be30], 0
je 0x403c90
push ebx
call fcn.00401950
add esp, 4
push 0x4000
lea edx, [esp + 0x2424]
push edx
push ebp
lea eax, [esp + 0x122c]
push eax
lea ecx, [esp + 0x30]
push ecx
push ebx
call fcn.00409fe0
add esp, 0x18
test eax, eax
mov dword [esp + 0x10], eax
jl 0x403d2e
mov esi, 1
cmp dword [0x462514], esi
jne 0x403cde
push edi
push 4
lea edx, [esp + 0x18]
push esi
push edx
call fcn.00426a1a
mov eax, dword [esp + 0x20]
add esp, 0x10
push edi
push eax
lea eax, [esp + 0x2428]
push esi
push eax
call fcn.00426a1a
add esp, 0x10
cmp eax, dword [esp + 0x10]
jne 0x403d74
cmp dword [0x462514], esi
jne 0x403d08
push edi
call fcn.00426271
add esp, 4
test ebp, ebp
jne 0x403c00
cmp dword [esp + 0x6430], ebp
push 0x4000
je 0x403d91
lea ecx, [esp + 0x2424]
push ecx
push ebx
call fcn.0040a1c0
jmp 0x403d9f
cmp eax, 0xffffffff
jne 0x403d53
push str.mp3_buffer_is_not_big_enough...__n
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
add esp, 8
mov eax, 1
jmp 0x403e93
push eax
push str.mp3_internal_error:__error_code_i_n
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
add esp, 0xc
mov eax, 1
jmp 0x403e93
push str.Error_writing_mp3_output__n
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
add esp, 8
mov eax, esi
jmp 0x403e93
lea edx, [esp + 0x2424]
push edx
push ebx
call fcn.0040a260
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
jge 0x403dea
cmp eax, 0xffffffff
jne 0x403dcc
push str.mp3_buffer_is_not_big_enough...__n
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
add esp, 8
mov eax, esi
jmp 0x403e93
push eax
push str.mp3_internal_error:__error_code_i_n
call fcn.00425de9
add eax, 0x40
push eax
call fcn.00425b9c
add esp, 0xc
mov eax, esi
jmp 0x403e93
cmp dword [0x47be78], 0
jg 0x403e50
call fcn.00401c50
push ebx
call fcn.0040c1f0
push ebx
mov esi, eax
call fcn.0040c1e0
add esp, 8
push eax
push ebx
call fcn.0040c260
add esp, 4
push eax
push esi
push ebx
call fcn.0040ba00
add esp, 4
push eax
call fcn.004082b0
add esp, 0x10
cmp dword [0x47be30], 0
je 0x403e39
push ebx
call fcn.00401950
add esp, 4
push ebx
call fcn.00401ca0
add esp, 4
call fcn.004085d0
mov eax, dword [esp + 0x10]
mov esi, 1
cmp dword [0x462514], esi
jne 0x403e6d
push edi
push 4
lea eax, [esp + 0x18]
push esi
push eax
call fcn.00426a1a
mov eax, dword [esp + 0x20]
add esp, 0x10
push edi
push eax
lea ecx, [esp + 0x2428]
push esi
push ecx
call fcn.00426a1a
add esp, 0x10
cmp dword [0x462514], esi
jne 0x403e91
push edi
call fcn.00426271
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x6420]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00426065
add esp, 0x6414
ret