Function at 0x10041285a
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rsi, rcx
mov r8d, 0xa3
lea rdx, global___FUNCTION__.42
lea rcx, str.src.it_iroffer_transfer.c
call dbg.updatecontext_f
cmp byte [rsi + 0x111], 0
jne 0x1004128b3
movss xmm0, dword [rsi + 0x74]
ucomiss xmm0, dword [0x1004524c0]
jbe 0x1004128b3
cmp qword [rsi + 0x50], 0x5b3
jg 0x1004128bb
mov byte [rsi + 0x114], 1
jmp 0x100412f9e
mov qword [rsi + 0x50], 0xab18
mov r9, qword [0x1004632d0]
mov r8, qword [r9 + 0xa9d0]
lea r10, [r8 - 1]
movabs rcx, 0x8888888888888889
mov rax, r10
imul rcx
add rdx, r10
sar rdx, 6
mov rax, r10
sar rax, 0x3f
sub rdx, rax
mov rax, rdx
shl rax, 7
lea r11, [r10 + rdx*8]
sub r11, rax
lea r10, [r8 - 2]
mov rax, r10
imul rcx
add rdx, r10
sar rdx, 6
mov rax, r10
sar rax, 0x3f
sub rdx, rax
mov rbx, rdx
shl rbx, 7
lea rax, [r10 + rdx*8]
sub rax, rbx
mov rdi, qword [r9 + rax*8 + 0xa9f8]
add edi, dword [r9 + r11*8 + 0xa9f8]
mov rax, r8
imul rcx
add rdx, r8
sar rdx, 6
mov rax, r8
sar rax, 0x3f
sub rdx, rax
mov r10, rdx
shl r10, 7
lea rax, [r8 + rdx*8]
sub rax, r10
add edi, dword [r9 + rax*8 + 0xa9f8]
sub r8, 3
mov rax, r8
imul rcx
add rdx, r8
sar rdx, 6
mov rax, r8
sar rax, 0x3f
sub rdx, rax
mov rcx, rdx
shl rcx, 7
lea rax, [r8 + rdx*8]
sub rax, rcx
add edi, dword [r9 + rax*8 + 0xa9f8]
mov eax, dword [r9 + 0xb764]
test eax, eax
je 0x1004129b2
shl eax, 0xa
cmp edi, eax
jb 0x1004129b2
cmp byte [rsi + 0x115], 0
je 0x100412f9e
mov byte [rsi + 0x114], 0
mov r13, qword [0x1004632d0]
mov r15, r13
mov rbp, r13
mov rcx, qword [rsi + 0x50]
movabs rdx, 0x2ce33e6c02ce33e7
mov rax, rcx
imul rdx
sar rdx, 8
sar rcx, 0x3f
sub rdx, rcx
imul rbx, rdx, 0x5b4
cmp rbx, 0x111c
mov eax, 0x111c
cmovg rbx, rax
mov r12, rbx
mov eax, dword [r13 + 0xb818]
test eax, eax
je 0x100412b77
cmp eax, 1
jne 0x100412e1f
mov rax, qword [0x1004632d0]
mov r14, qword [rax + 0xb718]
mov rax, qword [rsi + 0x78]
mov rdx, qword [rsi + 8]
cmp qword [rax + 0xa8], rdx
je 0x100412a9d
mov ecx, dword [rax + 0x9c]
mov r8d, 0
call sym.lseek
cmp rax, qword [rsi + 8]
je 0x100412a92
call sym.__errno
mov ebx, dword [rax]
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r9, rax
mov rdx, qword [rsi + 0x78]
mov r8, qword [rdx]
lea rdx, [0x100451fd8]
mov ecx, 2
call dbg.outerror
mov r8d, ebx
lea rdx, [0x100452010]
mov rcx, rsi
call dbg.t_closeconn
jmp 0x100412f9e
mov rdx, qword [rsi + 0x78]
mov qword [rdx + 0xa8], rax
mov rax, qword [rsi + 0x78]
mov ecx, dword [rax + 0x9c]
mov r8, r12
mov rdx, r14
call sym.read
mov rbx, rax
test rax, rax
jns 0x100412b0d
call sym.__errno
cmp dword [rax], 0xb
je 0x100412f22
call sym.__errno
mov ebx, dword [rax]
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r9, rax
mov rdx, qword [rsi + 0x78]
mov r8, qword [rdx]
lea rdx, [0x100452038]
mov ecx, 2
call dbg.outerror
mov r8d, ebx
lea rdx, [0x100452068]
mov rcx, rsi
call dbg.t_closeconn
jmp 0x100412f9e
test rax, rax
jle 0x100412f22
mov rax, qword [rsi + 0x78]
add qword [rax + 0xa8], rbx
mov ecx, dword [rsi + 0x88]
mov r9d, 0x20
mov r8, rbx
mov rdx, r14
call sym.send
mov r12, rax
test rax, rax
jns 0x100412b66
call sym.__errno
cmp dword [rax], 0xb
je 0x100412b66
call sym.__errno
mov r8d, dword [rax]
lea rdx, [0x10045208c]
mov rcx, rsi
call dbg.t_closeconn
jmp 0x100412f9e
test r12, r12
mov eax, 0
cmovs r12, rax
jmp 0x100412e39
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x78]
cmp rcx, qword [rax + 0x58]
je 0x100412f30
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x100412bfd
mov rdx, qword [rax + 0x10]
add rdx, qword [rax]
cmp rcx, rdx
jb 0x100412d9d
sub dword [rax + 0x18], 1
mov rax, qword [rsi + 0x48]
cmp dword [rax + 0x18], 0
jne 0x100412bf5
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax + 8]
call sym.munmap
test eax, eax
jns 0x100412be1
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r8, rax
lea rdx, str.Impossibile_effettuare_la_funzione_munmap__:__s
mov ecx, 2
call dbg.outerror
mov rdx, qword [rsi + 0x48]
mov rax, qword [rsi + 0x78]
lea rcx, [rax + 0xb0]
call dbg.irlist_delete
mov qword [rsi + 0x48], 0
mov rax, qword [rsi + 0x78]
lea rcx, [rax + 0xb0]
call dbg.irlist_get_head
test rax, rax
je 0x100412c4b
mov rdx, qword [rsi + 8]
and rdx, 0xfffffffffff80000
cmp qword [rax], rdx
jne 0x100412c3e
jmp 0x100412c34
mov rdx, qword [rsi + 8]
and rdx, 0xfffffffffff80000
cmp qword [rax], rdx
jne 0x100412c3e
mov qword [rsi + 0x48], rax
add dword [rax + 0x18], 1
jmp 0x100412c4b
mov rcx, rax
call dbg.irlist_get_next
test rax, rax
jne 0x100412c24
cmp qword [rsi + 0x48], 0
jne 0x100412d9d
mov rax, qword [rsi + 0x78]
lea rcx, [rax + 0xb0]
mov dword [rsp + 0x20], 0x169
lea r9, str.src.it_iroffer_transfer.c
lea r8, global___FUNCTION__.42
mov edx, 0x20
call dbg.irlist_add2
mov r14, rax
mov qword [rsi + 0x48], rax
add dword [rax + 0x18], 1
mov rax, qword [rsi + 8]
and rax, 0xfffffffffff80000
mov qword [r14], rax
mov qword [r14 + 0x10], 0x80000
mov rdx, qword [rsi + 0x78]
mov rdx, qword [rdx + 0x58]
lea rcx, [rax + 0x80000]
cmp rcx, rdx
jbe 0x100412cbc
sub rdx, rax
mov qword [r14 + 0x10], rdx
mov rdx, qword [r14 + 0x10]
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0x78]
mov eax, dword [rax + 0x9c]
mov dword [rsp + 0x20], eax
mov r9d, 1
mov r8d, 1
mov ecx, 0
call sym.mmap
mov qword [r14 + 8], rax
lea rdx, [rax - 1]
cmp rdx, 0xfffffffffffffffd
jbe 0x100412d63
mov rax, qword [rsi + 0x78]
lea rcx, [rax + 0xb0]
mov rdx, r14
call dbg.irlist_delete
mov qword [rsi + 0x48], 0
call sym.__errno
cmp dword [rax], 0xc
jne 0x100412d47
lea r8, str.mmap
lea rdx, str.Il_metodo_di_trasferimento__s_non_funziona_in_questo_sistema__seleziono_il_prossimo_metodo_disponibile
mov ecx, 2
call dbg.outerror
mov rax, qword [0x1004632d0]
add dword [rax + 0xb818], 1
jmp 0x100412f9e
call sym.__errno
mov r8d, dword [rax]
lea rdx, str.Impossibile_accedere_al_file
mov rcx, rsi
call dbg.t_closeconn
jmp 0x100412f9e
mov rcx, qword [0x1004632d0]
cmp dword [rcx + 0x78b8], 0x35
jbe 0x100412d9d
mov rdx, qword [r14 + 0x10]
mov qword [rsp + 0x28], rdx
mov rdx, qword [r14]
mov qword [rsp + 0x20], rdx
mov r9, rax
lea r8, str.mmap_____p__offset0x_.8lX_size0x_.8lX
mov edx, 0x22
mov ecx, 1
call dbg.ioutput
mov r8, qword [rsi + 0x48]
mov rcx, qword [rsi + 8]
mov rax, qword [r8]
mov rdx, rcx
sub rdx, rax
add rdx, qword [r8 + 8]
add rax, qword [r8 + 0x10]
add r12, rcx
mov r14, rax
sub r14, rcx
cmp r12, rax
cmova rbx, r14
test rbx, rbx
je 0x100412f22
mov ecx, dword [rsi + 0x88]
mov r9d, 0x20
mov r8, rbx
call sym.send
mov r12, rax
test rax, rax
jns 0x100412e11
call sym.__errno
cmp dword [rax], 0xb
je 0x100412e11
call sym.__errno
mov r8d, dword [rax]
lea rdx, [0x10045208c]
mov rcx, rsi
call dbg.t_closeconn
jmp 0x100412f9e
test r12, r12
mov eax, 0
cmovs r12, rax
jmp 0x100412e39
mov r8d, 0
lea rdx, str.Metodo_di_Transferimento_Sconosciuto_
mov rcx, rsi
call dbg.t_closeconn
jmp 0x100412f9e
test r12, r12
jle 0x100412e4c
mov rax, qword [r15 + 0xa9d0]
mov qword [rsi + 0xa0], rax
add qword [rsi + 8], r12
mov rcx, qword [rbp + 0xa9d0]
movabs rdx, 0x8888888888888889
mov rax, rcx
imul rdx
add rdx, rcx
sar rdx, 6
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
mov rax, rdx
shl rax, 7
lea rdx, [rcx + rdx*8]
sub rdx, rax
mov rcx, r12
add qword [rbp + rdx*8 + 0xb178], r12
cmp byte [rsi + 0x115], 0
jne 0x100412ea9
mov rax, qword [0x1004632d0]
add qword [rax + rdx*8 + 0xa9f8], r12
sub qword [rsi + 0x50], r12
add edi, r12d
mov rax, qword [0x1004632d0]
add qword [rax + 0xa9f0], r12
add qword [rax + 8], rcx
add qword [rax + 0x20], rcx
add qword [rax + 0x38], rcx
cmp dword [rax + 0x78b8], 0x33
jbe 0x100412ef1
mov qword [rsp + 0x20], r12
mov r9, rbx
lea r8, [0x10045217e]
mov edx, 0x22
mov ecx, 1
call dbg.ioutput
mov rax, qword [0x1004632d0]
mov eax, dword [rax + 0xb764]
test eax, eax
je 0x100412f0f
imul edx, edi, 0x64
imul eax, eax, 0xc800
cmp edx, eax
ja 0x100412f22
cmp qword [rsi + 0x50], 0x5b3
jle 0x100412f22
test r12, r12
jg 0x1004129c6
mov rax, qword [rsi + 0x78]
mov rax, qword [rax + 0x58]
cmp qword [rsi + 8], rax
jl 0x100412f9e
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x100412f94
sub dword [rax + 0x18], 1
mov rax, qword [rsi + 0x48]
cmp dword [rax + 0x18], 0
jne 0x100412f8c
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax + 8]
call sym.munmap
test eax, eax
jns 0x100412f78
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r8, rax
lea rdx, str.Impossibile_effettuare_la_funzione_munmap__:__s
mov ecx, 2
call dbg.outerror
mov rdx, qword [rsi + 0x48]
mov rax, qword [rsi + 0x78]
lea rcx, [rax + 0xb0]
call dbg.irlist_delete
mov qword [rsi + 0x48], 0
mov dword [rsi + 0x118], 5
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret