Function at 0x14005efe0
Capabilities:
Write file on windows

Disassembly:
test rdx, rdx
je 0x14005f983
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push r13
lea rbp, [rax - 0x5f]
sub rsp, 0xb8
mov qword [rax - 0x18], rbx
mov r13, rdx
mov qword [rax - 0x20], rsi
xor ebx, ebx
mov qword [rax - 0x28], rdi
mov esi, 0x424c4154
mov qword [rax - 0x30], r12
xor r12d, r12d
mov qword [rax - 0x38], r14
lea r14, str.TALB_v
mov qword [rax - 0x40], r15
xor eax, eax
mov qword [rbp - 0x39], r14
lea r15, [rbx - 1]
cmp esi, 0x58585854
je 0x14005f0db
cmp esi, 0x58585857
je 0x14005f0db
mov r14d, dword [rax + r14 + 4]
mov rcx, r13
mov rax, qword [r13]
mov edx, r14d
call qword [rax + 0x50]
mov rdi, rax
test rax, rax
je 0x14005f0d4
mov rcx, rax
add ebx, 0xb
call fcn.14005dc80
test al, al
je 0x14005f0ad
xor edx, edx
mov rax, r15
nop word [rax + rax]
cmp word [rdi + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14005f080
lea ebx, [rbx + rax*2]
add ebx, 2
lea r14, str.TALB_v
cmp esi, 0x4d4d4f43
jne 0x14005f0db
neg rdx
sbb eax, eax
add eax, 5
add ebx, eax
jmp 0x14005f0db
mov rax, qword [r13]
mov edx, r14d
mov rcx, r13
call qword [rax + 0x40]
mov rdx, rax
test rax, rax
je 0x14005f077
mov rcx, r15
inc rcx
cmp byte [rax + rcx], 0
jne 0x14005f0c5
inc ebx
add ebx, ecx
jmp 0x14005f092
lea r14, str.TALB_v
inc r12
lea rax, [r12*8]
mov esi, dword [rax + r14]
test esi, esi
jne 0x14005f034
mov rax, qword [r13]
lea edx, [rsi + 0x12]
mov rcx, r13
call qword [rax + 0x40]
mov r8, qword [r13]
mov edx, reloc.WSOCK32.dll_send
mov rcx, r13
mov qword [rbp - 0x19], rax
mov rsi, rax
call qword [r8 + 0x40]
mov r8, qword [r13]
mov edx, socket
mov rcx, r13
mov qword [rbp - 0x31], rax
mov rdi, rax
call qword [r8 + 0x40]
mov qword [rbp - 0x29], rax
mov rdx, rax
test rsi, rsi
jne 0x14005f13e
test rdi, rdi
je 0x14005f174
add ebx, 0x12
test rsi, rsi
je 0x14005f15e
mov rcx, r15
nop dword [rax]
inc rcx
cmp byte [rsi + rcx], 0
jne 0x14005f150
add ebx, 0x22
add ebx, ecx
test rdi, rdi
je 0x14005f174
mov rax, r15
inc rax
cmp byte [rdi + rax], 0
jne 0x14005f166
add ebx, 0x22
add ebx, eax
test rdx, rdx
je 0x14005f18e
mov rax, r15
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x14005f180
add ebx, 0x22
add ebx, eax
mov rax, qword [r13]
mov edx, reloc.COMCTL32.dll_InitCommonControls
mov rcx, r13
call qword [rax + 0x40]
mov qword [rbp - 0x21], rax
test rax, rax
je 0x14005f1be
mov rcx, r15
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x14005f1b0
add ebx, 0x10
add ebx, ecx
test ebx, ebx
je 0x14005f949
movzx eax, word [0x140143448]
lea rcx, [rbp + 5]
mov word [rbp - 1], ax
mov edx, ebx
movzx eax, byte [0x14014344a]
mov byte [rbp + 1], al
mov word [rbp + 2], 3
mov byte [rbp + 4], 0
call fcn.14005f9b0
mov r12, qword [rbp + 0x67]
lea r9, [rbp + 0x77]
mov r8d, 0xa
mov dword [rbp + 0x77], 0
lea rdx, [rbp - 1]
mov qword [rsp + 0x20], 0
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, 0x424c4154
mov word [rbp - 9], 0
nop word [rax + rax]
cmp eax, 0x58585854
je 0x14005f4a0
cmp eax, 0x58585857
je 0x14005f4a0
mov ebx, dword [r14 + 4]
mov rcx, r13
mov rax, qword [r13]
mov edx, ebx
call qword [rax + 0x50]
mov rsi, rax
test rax, rax
je 0x14005f4a0
mov rcx, rax
call fcn.14005dc80
test al, al
je 0x14005f359
mov eax, dword [r14]
xor edi, edi
mov dword [rbp - 0x11], eax
mov dword [rbp - 0xd], 1
mov byte [rbp + 0x6f], 2
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x14005f290
inc ebx
lea edx, [rbx*2 + 1]
cmp eax, 0x4d4d4f43
jne 0x14005f2b7
mov rax, rdi
neg rax
sbb ecx, ecx
add ecx, 5
add edx, ecx
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
xor eax, eax
bswap edx
mov dword [rbp - 0xd], edx
lea rdx, [rbp - 0x11]
mov dword [rbp + 0x77], eax
lea r8d, [rax + 0xa]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
xor eax, eax
lea rdx, [rbp + 0x6f]
mov dword [rbp + 0x77], eax
mov qword [rsp + 0x20], rax
lea r8d, [rax + 1]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rbp - 0x11], 0x4d4d4f43
jne 0x14005f331
xor ecx, ecx
lea r9, [rbp + 0x77]
mov dword [rbp + 0x77], ecx
lea rdx, [0x1401434b0]
mov qword [rsp + 0x20], rcx
mov rax, rdi
mov rcx, qword [r12]
neg rax
sbb r8d, r8d
add r8d, 5
call qword [sym.imp.KERNEL32.dll_WriteFile]
test rdi, rdi
je 0x14005f398
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
xor esi, esi
mov r8d, ebx
mov rdx, rdi
mov dword [rbp + 0x77], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14005f4a0
mov rax, qword [r13]
mov edx, ebx
mov rcx, r13
call qword [rax + 0x40]
mov rdi, rax
mov dword [rbp - 0xd], 1
mov eax, dword [r14]
mov dword [rbp - 0x11], eax
test rdi, rdi
je 0x14005f281
mov byte [rbp + 0x6f], 0
mov rbx, r15
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14005f385
inc ebx
lea edx, [rbx + 1]
jmp 0x14005f2a3
movsxd r14, ebx
mov eax, 2
mul r14
cmovo rax, r15
mov rcx, rax
call fcn.1400b609c
mov rdi, rax
test rax, rax
je 0x14005f4b4
lea r12d, [rbx + rbx]
mov rdx, rsi
movsxd r8, r12d
mov rcx, rax
call fcn.1400b9e30
xor esi, esi
mov ecx, esi
test ebx, ebx
jle 0x14005f459
cmp ebx, 0x20
jb 0x14005f459
cmp dword [0x140191458], 2
jl 0x14005f459
mov eax, ebx
and eax, 0x8000001f
jge 0x14005f3f7
dec eax
or eax, 0xffffffe0
inc eax
sub ebx, eax
lea rax, [rdi + 0x20]
movsxd rdx, ebx
movdqu xmm0, xmmword [rax - 0x20]
add rcx, 0x20
lea rax, [rax + 0x40]
pshufb xmm0, xmmword [0x1401434d0]
movdqu xmmword [rax - 0x60], xmm0
movdqu xmm0, xmmword [rax - 0x50]
pshufb xmm0, xmmword [0x1401434d0]
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm1, xmmword [rax - 0x40]
pshufb xmm1, xmmword [0x1401434d0]
movdqu xmmword [rax - 0x40], xmm1
movdqu xmm0, xmmword [rax - 0x30]
pshufb xmm0, xmmword [0x1401434d0]
movdqu xmmword [rax - 0x30], xmm0
cmp rcx, rdx
jl 0x14005f400
cmp rcx, r14
jge 0x14005f474
nop
movzx eax, word [rdi + rcx*2]
ror ax, 8
mov word [rdi + rcx*2], ax
inc rcx
cmp rcx, r14
jl 0x14005f460
mov r8d, r12d
mov dword [rbp + 0x77], esi
mov r12, qword [rbp + 0x67]
lea r9, [rbp + 0x77]
mov rdx, rdi
mov qword [rsp + 0x20], rsi
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call fcn.1400b60a4
mov r14, qword [rbp - 0x39]
mov eax, dword [r14 + 8]
add r14, 8
mov qword [rbp - 0x39], r14
test eax, eax
jne 0x14005f230
mov rdi, qword [rbp - 0x21]
test rdi, rdi
je 0x14005f565
mov rbx, r15
cmp byte [rdi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x14005f4c4
mov rcx, qword [r12]
lea eax, [rbx + 6]
xor r13d, r13d
mov dword [rbp - 0x11], 0x58585857
bswap eax
lea r9, [rbp + 0x77]
mov dword [rbp - 0xd], eax
lea rdx, [rbp - 0x11]
mov dword [rbp + 0x77], r13d
lea r8d, [r13 + 0xa]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
lea r8d, [r13 + 1]
mov byte [rbp + 0x6f], r13b
lea rdx, [rbp + 0x6f]
mov dword [rbp + 0x77], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
lea r8d, [r13 + 4]
mov dword [rbp + 0x77], r13d
lea rdx, [0x1401434b8]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
lea r8d, [rbx + 1]
mov dword [rbp + 0x77], r13d
mov rdx, rdi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14005f568
xor r13d, r13d
mov rsi, qword [rbp - 0x19]
mov rdi, qword [rbp - 0x31]
test rsi, rsi
jne 0x14005f57e
test rdi, rdi
je 0x14005f72b
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
mov r8d, 0xa
mov dword [rbp - 0x11], 0x44414752
lea rdx, [rbp - 0x11]
mov dword [rbp - 0xd], 0x8000000
mov dword [rbp + 0x77], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r14, qword [rbp - 0x29]
movss xmm0, dword [0x14012c8dc]
movss dword [rbp + 0x7f], xmm0
test r14, r14
je 0x14005f5dc
cmp byte [r14], 0
je 0x14005f5dc
lea r8, [rbp + 0x7f]
mov rcx, r14
lea rdx, [0x14012f1c4]
call fcn.140010150
movzx ecx, r13w
mov ebx, 0x1ff
mov word [rbp + 0x83], cx
test rsi, rsi
je 0x14005f662
cmp byte [rsi], 0
je 0x14005f662
lea r8, [rbp + 0x77]
mov dword [rbp + 0x77], 0
lea rdx, [0x14012f1c4]
mov rcx, rsi
call fcn.140010150
movzx ecx, word [rbp + 0x83]
mov eax, 0x2c00
movss xmm0, dword [rbp + 0x77]
or cx, ax
comiss xmm0, dword [0x1401434c0]
jae 0x14005f63c
xorps xmm0, xmmword [0x14012dfd0]
mov eax, 0x200
or cx, ax
mulss xmm0, dword [0x1401314a4]
addss xmm0, dword [0x14012bc68]
cvttss2si eax, xmm0
cmp eax, ebx
cmovg eax, ebx
and ax, bx
or cx, ax
mov word [rbp + 0x83], cx
mov word [rbp + 0x85], r13w
movzx r8d, r13w
test rdi, rdi
je 0x14005f6e8
cmp byte [rdi], 0
je 0x14005f6e8
lea r8, [rbp + 0x77]
mov dword [rbp + 0x77], 0
lea rdx, [0x14012f1c4]
mov rcx, rdi
call fcn.140010150
movzx r8d, word [rbp + 0x85]
mov eax, 0x4c00
movss xmm0, dword [rbp + 0x77]
or r8w, ax
comiss xmm0, dword [0x1401434c0]
jae 0x14005f6c1
xorps xmm0, xmmword [0x14012dfd0]
mov eax, 0x200
or r8w, ax
mulss xmm0, dword [0x1401314a4]
movzx ecx, word [rbp + 0x83]
addss xmm0, dword [0x14012bc68]
cvttss2si eax, xmm0
cmp eax, ebx
cmovg eax, ebx
and ax, bx
or r8w, ax
mov eax, dword [rbp + 0x7f]
lea r9, [rbp + 0x77]
ror cx, 8
lea rdx, [rbp + 0x7f]
ror r8w, 8
bswap eax
mov word [rbp + 0x83], cx
mov rcx, qword [r12]
mov word [rbp + 0x85], r8w
mov r8d, 8
mov dword [rbp + 0x7f], eax
mov dword [rbp + 0x77], r13d
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14005f72f
mov r14, qword [rbp - 0x29]
mov dword [rbp - 0x11], 0x58585854
mov byte [rbp + 0x6f], 3
test rsi, rsi
je 0x14005f7e7
cmp byte [rsi], 0
je 0x14005f7e7
mov rbx, r15
nop
cmp byte [rsi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x14005f750
mov rcx, qword [r12]
lea eax, [rbx + 0x18]
bswap eax
lea r9, [rbp + 0x77]
mov dword [rbp - 0xd], eax
mov r8d, 0xa
mov dword [rbp + 0x77], r13d
lea rdx, [rbp - 0x11]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
mov r8d, 1
mov dword [rbp + 0x77], r13d
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
mov r8d, socket
mov dword [rbp + 0x77], r13d
lea rdx, str.replaygain_track_gain
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
lea r8d, [rbx + 1]
mov dword [rbp + 0x77], r13d
mov rdx, rsi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
test rdi, rdi
je 0x14005f897
cmp byte [rdi], 0
je 0x14005f897
mov rbx, r15
nop dword [rax]
cmp byte [rdi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x14005f800
mov rcx, qword [r12]
lea eax, [rbx + 0x18]
bswap eax
lea r9, [rbp + 0x77]
mov dword [rbp - 0xd], eax
mov r8d, 0xa
mov dword [rbp + 0x77], r13d
lea rdx, [rbp - 0x11]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
mov r8d, 1
mov dword [rbp + 0x77], r13d
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
mov r8d, socket
mov dword [rbp + 0x77], r13d
lea rdx, str.replaygain_album_gain
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
lea r8d, [rbx + 1]
mov dword [rbp + 0x77], r13d
mov rdx, rdi
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
test r14, r14
je 0x14005f949
cmp byte [r14], 0
je 0x14005f949
nop word [rax + rax]
cmp byte [r14 + r15 + 1], 0
lea r15, [r15 + 1]
jne 0x14005f8b0
mov rcx, qword [r12]
lea eax, [r15 + 0x18]
bswap eax
lea r9, [rbp + 0x77]
mov dword [rbp - 0xd], eax
mov r8d, 0xa
mov dword [rbp + 0x77], r13d
lea rdx, [rbp - 0x11]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
mov r8d, 1
mov dword [rbp + 0x77], r13d
lea rdx, [rbp + 0x6f]
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
mov r8d, socket
mov dword [rbp + 0x77], r13d
lea rdx, str.replaygain_track_peak
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r12]
lea r9, [rbp + 0x77]
lea r8d, [r15 + 1]
mov dword [rbp + 0x77], r13d
mov rdx, r14
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r14, qword [rsp + 0x90]
mov r12, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x88]
add rsp, 0xb8
pop r13
pop rbp
ret