Function at 0x401b60
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x1108
call fcn.00412d30
mov eax, dword [0x42ea5c]
push ebx
push ebp
push esi
push edi
mov esi, ecx
lea ebp, [esi + 0x468]
push 0x34
mov dword [esp + 0x1118], eax
lea eax, [esp + 0x44]
push ebp
push eax
mov dword [esp + 0x20], ebp
call fcn.00412760
lea eax, [esi + 0x4f0]
push 0xa0
push eax
lea ecx, [esp + 0x88]
push ecx
mov dword [esp + 0x34], eax
call fcn.00412760
lea ebx, [esi + 0x4d0]
push 0x20
lea edx, [esp + 0x3c]
push ebx
push edx
mov dword [esp + 0x3c], ebx
call fcn.00412760
lea eax, [esi + 0x2314]
push 0x1000
push eax
lea eax, [esp + 0x140]
push eax
call fcn.00412760
lea eax, [esi + 0x448]
mov edx, eax
mov ecx, 0x20202020
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
push 9
mov dword [edx + 0x10], ecx
push str.ADCLABFFS
push eax
mov dword [edx + 0x14], ecx
call fcn.00412760
xor edi, edi
mov dword [esi + 0x460], edi
mov dword [esi + 0x464], edi
mov eax, 0x20202020
mov ecx, ebp
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
push 0xe
mov dword [ecx + 0x10], eax
push str.SAMPLES_FORMAT
push ebp
mov dword [ecx + 0x14], eax
call fcn.00412760
fld dword [esi + 0x1b00]
mov dword [esi + 0x484], edi
mov edi, dword [esp + 0x1168]
mov dword [esi + 0x480], 0x14
mov dword [esi + 0x488], 7
mov edx, dword [edi]
fstp qword [esi + 0x490]
mov dword [esi + 0x48c], edx
lea eax, [esi + 0x49c]
mov byte [esi + 0x498], 1
mov byte [esi + 0x499], 0
mov byte [esi + 0x49a], 0
mov ecx, 0x20202020
mov edx, eax
mov dword [edx], ecx
add esp, 0x48
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
push 0x14
mov dword [edx + 0x10], ecx
push str.CHANNELS_INFO_HEADER
push eax
mov dword [edx + 0x14], ecx
call fcn.00412760
xor ecx, ecx
mov dword [esi + 0x4b4], 0x14
mov dword [esi + 0x4b8], ecx
mov dword [esi + 0x4bc], 3
mov eax, dword [edi]
add esp, 0xc
cmp eax, ecx
jle 0x401d2e
lea eax, [esi + 0x4f4]
lea edx, [edi + 0x44]
inc ecx
mov dword [eax - 4], ecx
mov ebp, dword [edx + 4]
lea ebx, [ebp + ebp*4]
fld qword [esi + ebx*4 + 0x4fc]
lea ebp, [esi + ebx*4]
mov ebx, dword [edx]
lea ebx, [ebx + ebx*4]
fadd qword [esi + ebx*4 + 0x4fc]
lea ebx, [esi + ebx*4]
fld qword [ebp + 0x4f4]
add edx, 8
fadd qword [ebx + 0x4f4]
add eax, 0x14
fstp qword [eax - 0x14]
fstp qword [eax - 0xc]
mov ebx, dword [edi]
cmp ecx, ebx
jl 0x401ce4
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, 0x20202020
mov ecx, ebx
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
push 0xd
mov dword [ecx + 0x10], eax
push str.CHANNELS_INFO
push ebx
mov dword [ecx + 0x14], eax
call fcn.00412760
mov eax, dword [esi + 0x48c]
and eax, 0x1ff
lea eax, [eax + eax*4]
shl eax, 2
mov dword [esi + 0x3314], 8
cdq
mov dword [esi + 0x4e8], eax
mov dword [esi + 0x4ec], edx
mov edx, dword [str.ADCBLOCK]
lea eax, [esi + 0x2314]
mov dword [eax], edx
mov ecx, dword [0x4274e4]
mov dword [eax + 4], ecx
mov dl, byte [0x4274e8]
mov byte [eax + 8], dl
mov dword [esi + 0x3314], 0xc
mov dword [esi + 0x231c], 1
mov eax, dword [esi + 0x3314]
lea ecx, [eax + 4]
mov dword [esi + 0x3314], ecx
or dword [esi + 0x231c], 2
mov edx, dword [esi + 0x3314]
mov dword [eax + esi + 0x2314], 0
lea ecx, [esi + edx + 0x2314]
mov edx, dword [edi]
add esp, 0xc
xor eax, eax
test edx, edx
jle 0x401e00
jmp 0x401df0
mov dword [ecx + eax*4], 0
mov edx, dword [edi]
add eax, 2
cmp eax, edx
jl 0x401df0
mov eax, dword [edi]
mov ecx, dword [esi + 0x3314]
mov edi, dword [esi + 0x4e8]
shl eax, 2
add ecx, eax
push 0
mov eax, ecx
push 0x20
cdq
push 2
mov dword [esi + 0x3314], ecx
mov ecx, dword [esi + 0x4ec]
add edi, eax
push 0
adc ecx, edx
push 0
mov dword [esi + 0x4ec], ecx
mov ecx, dword [esp + 0x1130]
push 0x40000000
push ecx
mov dword [esi + 0x4e8], edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [esi + 0x24], eax
jne 0x401e5e
xor eax, eax
jmp 0x401fad
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea edx, [esp + 0x14]
push edx
push 0x20
lea ecx, [esi + 0x448]
push ecx
push eax
call edi
mov ecx, dword [esi + 0x24]
push 0
lea eax, [esp + 0x14]
push eax
push 0x34
push ebp
push ecx
call edi
push 0
lea edx, [esp + 0x14]
push edx
push 0x34
lea eax, [esi + 0x49c]
push eax
mov eax, dword [esi + 0x24]
push eax
call edi
mov edx, dword [esi + 0x24]
push 0
lea ecx, [esp + 0x14]
push ecx
push 0x20
push ebx
push edx
call edi
test dword [esi + 0x48c], 0x1ff
mov dword [esp + 0x14], 0
jle 0x401f08
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
lea esp, [esp]
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0x24]
push 0
lea ecx, [esp + 0x14]
push ecx
push 0x14
push edx
push eax
call edi
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add ecx, 0x14
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x48c]
inc eax
and ecx, 0x1ff
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x401ed0
mov eax, dword [esi + 0x3314]
mov ecx, dword [esi + 0x24]
push 0
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esi + 0x2314]
push eax
push ecx
mov dword [esp + 0x28], eax
call edi
mov ecx, dword [esi + 0x24]
push 0
lea edx, [esp + 0x14]
push edx
push 0x28
lea eax, [esi + 0x18f0]
push eax
push ecx
call edi
mov ecx, dword [esi + 0x24]
push 0
lea edx, [esp + 0x14]
push edx
push 0x20
lea eax, [esi + 0x1ac4]
push eax
push ecx
call edi
mov edx, dword [esi + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x34
lea eax, [esp + 0x44]
push eax
push ebp
call fcn.00412760
mov edx, dword [esp + 0x28]
push 0xa0
lea ecx, [esp + 0x84]
push ecx
push edx
call fcn.00412760
push 0x20
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.00412760
mov edx, dword [esp + 0x38]
push 0x1000
lea ecx, [esp + 0x13c]
push ecx
push edx
call fcn.00412760
add esp, 0x30
mov eax, 1
mov ecx, dword [esp + 0x1114]
pop edi
pop esi
pop ebp
pop ebx
call fcn.00412538
add esp, 0x1108
ret 8