Function at 0x4114cc
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x280
mov eax, dword [0x446b0c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [edi + 0x10cc07c]
mov ecx, dword [edi + 0x10cc080]
mov edx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe4]
push ebx
push esi
mov esi, dword [ecx + 0xe0]
mov ecx, dword [ecx + 0xe4]
cmp eax, ecx
jg 0x411529
jl 0x41150f
cmp edx, esi
jae 0x411529
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x244], ecx
jmp 0x411541
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x254], ecx
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x248]
jne 0x411561
mov ecx, dword [ebp - 0x254]
cmp ecx, dword [ebp - 0x244]
je 0x4119cf
mov ecx, dword [ebp - 0x248]
xor ebx, ebx
sub ecx, eax
mov eax, dword [ebp - 0x244]
sbb eax, dword [ebp - 0x254]
mov dword [ebp - 0x240], ecx
mov dword [ebp - 0x23c], eax
fild qword [ebp - 0x240]
push 0x2c
lea eax, [ebp - 0x234]
push ebx
push eax
fstp qword [ebp - 0x280]
mov dword [ebp - 0x268], ebx
call fcn.004204c0
add esp, 0xc
push 4
pop esi
push esi
lea eax, [ebp - 0x234]
push str.RIFF
push eax
call fcn.0041fbd0
add esp, 0xc
push esi
lea eax, [ebp - 0x22c]
push str.WAVE
push eax
call fcn.0041fbd0
add esp, 0xc
push esi
lea eax, [ebp - 0x228]
push str.fmt
push eax
call fcn.0041fbd0
add esp, 0xc
push esi
lea eax, [ebp - 0x210]
push str.data
push eax
call fcn.0041fbd0
mov eax, dword [edi + 0x10cc078]
add esp, 0xc
mov word [ebp - 0x21e], bx
xor ecx, ecx
cmp dword [eax + 0x2c], ebx
jle 0x411631
lea edx, [edi + 0x10971f8]
jmp 0x41161c
xor ebx, ebx
cmp dword [edx], ebx
je 0x411627
inc word [ebp - 0x21e]
inc ecx
mov ebx, eax
add edx, esi
cmp ecx, dword [ebx + 0x2c]
jl 0x41161a
fld dword [eax + 0x4ff0]
call fcn.004248d6
movzx esi, word [ebp - 0x21e]
mov dword [ebp - 0x21c], eax
mov ecx, esi
shl ecx, 4
mov eax, ecx
imul ecx, dword [ebp - 0x21c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov word [ebp - 0x214], ax
mov eax, dword [ebp - 0x248]
sub eax, dword [ebp - 0x258]
push 0x10
imul eax, esi
pop ebx
shl eax, 4
shr eax, 3
mov dword [ebp - 0x20c], eax
push esi
add eax, 0x24
shr ecx, 3
push str._int__wavh.numChannels
mov word [ebp - 0x212], bx
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x224], ebx
mov word [ebp - 0x220], 1
mov dword [ebp - 0x218], ecx
call fcn.0040109f
push dword [ebp - 0x21c]
push str._int__wavh.sampleRate
call fcn.0040109f
movzx eax, word [ebp - 0x212]
push eax
push str._int__wavh.bitsPerSample
call fcn.0040109f
movzx eax, word [ebp - 0x214]
push eax
push str._int__wavh.blockAlign
call fcn.0040109f
push dword [ebp - 0x230]
push str._int__wavh.chunkSize
call fcn.0040109f
push dword [ebp - 0x224]
push str._int__wavh.subchunk1Size
call fcn.0040109f
push dword [ebp - 0x20c]
push str._int__wavh.subchunk2Size
call fcn.0040109f
movzx eax, word [ebp - 0x220]
push eax
push str._int__wavh.audioFormat
call fcn.0040109f
push dword [ebp - 0x218]
push str._int__wavh.byteRate
call fcn.0040109f
push 0xd4
call fcn.0041482f
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
pop ecx
push eax
push 2
push 0x400
push dword [edi + 0x1097a10]
call esi
push str..wav
lea ebx, [edi + 0x10969f8]
push ebx
call fcn.0042181d
test eax, eax
pop ecx
pop ecx
je 0x4119af
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
push eax
push 0x20
push 1
push eax
push eax
push 0x40000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x25c], eax
jne 0x4117aa
push 0x64
push 1
jmp 0x4119bb
push 0
lea ecx, [ebp - 0x26c]
push ecx
push 0x2c
lea ecx, [ebp - 0x234]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x240], ecx
mov dword [ebp - 0x23c], eax
jg 0x41199a
jl 0x411803
cmp ecx, dword [ebp - 0x248]
jae 0x41199a
jmp 0x411803
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x240]
sub edx, ecx
mov ecx, dword [ebp - 0x23c]
sbb ecx, eax
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x274], ecx
fild qword [ebp - 0x278]
fdiv qword [ebp - 0x280]
fmul qword [0x4416e0]
call fcn.004248a0
mov ebx, eax
cmp ebx, dword [ebp - 0x268]
je 0x411856
push ebx
push 1
push 0x400
push dword [edi + 0x1097a10]
call esi
mov dword [ebp - 0x268], ebx
push 0x200
xor ebx, ebx
lea eax, [ebp - 0x208]
push ebx
push eax
call fcn.004204c0
mov eax, dword [edi + 0x10cc078]
add esp, 0xc
cmp dword [eax + 0x2c], ebx
mov dword [ebp - 0x24c], ebx
jle 0x411946
and dword [ebp - 0x264], ebx
lea eax, [edi + 0x10971f8]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
cmp dword [eax], 0
je 0x41191d
mov ecx, dword [edi + 0x10cc078]
movsx eax, byte [ecx + 0x498]
dec eax
je 0x4118d9
sub eax, 5
jne 0x41191d
push dword [ebp - 0x24c]
mov esi, ecx
push dword [ebp - 0x23c]
push dword [ebp - 0x240]
call fcn.00402470
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
add ax, 0x8000
jmp 0x411914
push dword [ebp - 0x23c]
mov eax, dword [ebp - 0x264]
fld qword [eax + ecx + 0x4fc]
push dword [ebp - 0x240]
mov eax, dword [ebp - 0x24c]
fstp dword [ebp - 0x270]
call fcn.004024f3
fmul qword [0x4417b8]
fdiv dword [ebp - 0x270]
call fcn.004248a0
mov word [ebp + ebx*2 - 0x208], ax
inc ebx
inc dword [ebp - 0x24c]
mov eax, dword [edi + 0x10cc078]
mov ecx, dword [ebp - 0x24c]
add dword [ebp - 0x260], 4
add dword [ebp - 0x264], 0x14
cmp ecx, dword [eax + 0x2c]
jl 0x411894
push 0
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebx + ebx]
push eax
lea eax, [ebp - 0x208]
push eax
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_WriteFile]
add dword [ebp - 0x240], 1
adc dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x23c]
cmp eax, dword [ebp - 0x244]
jl 0x4117f7
jg 0x41199a
mov eax, dword [ebp - 0x240]
cmp eax, dword [ebp - 0x248]
jb 0x4117f7
cmp dword [ebp - 0x25c], 0
je 0x4119af
push dword [ebp - 0x25c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
inc eax
push 0x64
mov dword [edi + 0x1097a30], eax
push eax
push 0x400
push dword [edi + 0x1097a10]
call esi
and dword [edi + 0x1097a10], 0
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.0041fba2
leave
ret