Function at 0x100426b64
Capabilities:
Send data
Send data on socket
Send http request

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0xa0], xmm9
mov r14d, ecx
mov r12d, edx
mov ebx, 0
mov rax, qword [0x1004632d0]
lea rdi, [rax + 0x74d8]
lea rbp, [rax + 0x7250]
lea rax, [0x10046b248]
mov ecx, dword [rax + rbx]
cmp ecx, 0xffffffff
je 0x100426e7d
movsxd rax, ecx
shr rax, 6
mov edx, 1
shl rdx, cl
mov rsi, qword [0x1004632d0]
test qword [rsi + rax*8 + 0xb628], rdx
je 0x100426e7d
mov r8d, 0x39c
lea rdx, str.h_accept
lea rcx, str.src.it_dinoex_http.c
call dbg.updatecontext_f
lea rax, [0x10046b240]
cmp dword [rax + rbx], 2
je 0x100426c39
mov dword [rsp + 0x4c], 0x1c
lea rdx, [rsp + 0x50]
lea rax, [0x10046b248]
mov ecx, dword [rax + rbx]
lea r8, [rsp + 0x4c]
call sym.accept
mov r13d, eax
jmp 0x100426c5d
mov dword [rsp + 0x4c], 0x10
lea rdx, [rsp + 0x50]
lea rax, [0x10046b248]
mov ecx, dword [rax + rbx]
lea r8, [rsp + 0x4c]
call sym.accept
mov r13d, eax
test r13d, r13d
jns 0x100426c87
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r8, rax
lea rdx, [0x100456300]
mov ecx, 2
call dbg.outerror
jmp 0x100426e7d
mov edx, 1
mov ecx, r13d
call dbg.set_socket_nonblocking
test eax, eax
jns 0x100426ca9
lea rdx, [0x100456330]
mov ecx, 2
call dbg.outerror
mov dword [rsp + 0x20], 0x3ae
lea r9, str.src.it_dinoex_http.c
lea r8, str.h_accept
mov edx, 0x148
mov rcx, rdi
call dbg.irlist_add2
mov rsi, rax
mov dword [rax + 0x140], 0xffffffff
mov dword [rax + 8], r13d
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x34], rax
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x3c], rax
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x44], rax
mov eax, dword [rsp + 0x68]
mov dword [rsi + 0x4c], eax
lea rax, [0x10046b240]
cmp dword [rax + rbx], 2
je 0x100426d15
movzx eax, word [rsp + 0x50]
mov dword [rsi], eax
jmp 0x100426d1c
movzx eax, word [rsp + 0x50]
mov dword [rsi], eax
lea r15, [rsp + 0x50]
mov rcx, r15
call dbg.get_port
mov word [rsi + 0x32], ax
mov rax, qword [0x1004632d0]
mov rax, qword [rax + 0xa9d0]
mov qword [rsi + 0x28], rax
mov rax, qword [0x1004632d0]
mov rax, qword [rax + 0xa9d0]
mov qword [rsi + 0x20], rax
mov dword [rsi + 0x13c], 1
mov dword [rsi + 0x124], 0xc8
mov dword [rsp + 0x20], 0x3bd
lea r9, str.src.it_dinoex_http.c
lea r8, str.h_accept
mov edx, 0
mov ecx, 0x200
call dbg.mymalloc2
mov r13, rax
mov r8, r15
mov edx, 0x1ff
mov rcx, rax
call dbg.my_getnameinfo
mov r9d, 0x3bf
lea r8, str.src.it_dinoex_http.c
lea rdx, str.h_accept
mov rcx, r13
call dbg.mystrdup2
mov qword [rsi + 0x10], rax
mov rcx, r13
call dbg.mydelete2
mov r9, qword [rsi + 0x10]
lea r8, str.HTTP_Connessione_Avvenuta__s
mov edx, 0x23
mov ecx, 9
call dbg.ioutput
lea rcx, [rsi + 0x34]
call dbg.is_in_badip
cmp eax, 2
jne 0x100426dfe
lea rdx, str.HTTP_Connessione_Nazione_bloccata
mov rcx, rsi
call dbg.h_herror_403
jmp 0x100426e7d
test eax, eax
je 0x100426e19
mov r8d, 0
lea rdx, str.HTTP_connessione_ignorata
mov rcx, rsi
call dbg.h_closeconn
jmp 0x100426e7d
mov rcx, rbp
call dbg.irlist_size
test eax, eax
je 0x100426e52
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1004632d0]
add rcx, 0x7250
call dbg.verify_cidr
test eax, eax
jne 0x100426e52
lea rdx, str.HTTP_Connessione_non_abilitata
mov rcx, rsi
call dbg.h_herror_403
jmp 0x100426e7d
lea rdx, [rsp + 0x50]
mov rcx, qword [0x1004632d0]
add rcx, 0x7268
call dbg.verify_cidr
test eax, eax
je 0x100426e7d
lea rdx, str.HTTP_Connessione_negata
mov rcx, rsi
call dbg.h_herror_403
add rbx, 4
cmp rbx, 8
jne 0x100426bb6
test r12d, r12d
je 0x100426f30
mov rcx, qword [0x1004632d0]
add rcx, 0x74d8
call dbg.irlist_get_head
test rax, rax
je 0x100426f30
pxor xmm6, xmm6
movss xmm9, dword [0x100456984]
movss xmm8, dword [0x100456988]
movss xmm7, dword [0x10045698c]
movss xmm0, dword [rax + 0x138]
ucomiss xmm6, xmm0
jae 0x100426f23
pxor xmm2, xmm2
cvtsi2ss xmm2, qword [rax + 0x110]
movaps xmm1, xmm0
mulss xmm1, xmm9
addss xmm1, xmm2
cvttss2si rdx, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, rdx
mulss xmm0, xmm8
mulss xmm0, xmm7
ucomiss xmm0, xmm1
jbe 0x100426f17
cvttss2si rdx, xmm1
jmp 0x100426f1c
cvttss2si rdx, xmm0
mov qword [rax + 0x110], rdx
mov rcx, rax
call dbg.irlist_get_next
test rax, rax
jne 0x100426ece
mov rcx, qword [0x1004632d0]
add rcx, 0x74d8
call dbg.irlist_get_head
mov rbx, rax
test rax, rax
je 0x100427844
mov rax, qword [0x1004632d0]
add rax, 0x74d8
mov qword [rsp + 0x38], rax
cmp dword [rbx + 0x13c], 1
jne 0x10042728d
mov ecx, dword [rbx + 8]
movsxd rax, ecx
shr rax, 6
mov edx, 1
shl rdx, cl
mov rdi, qword [0x1004632d0]
test qword [rdi + rax*8 + 0xb628], rdx
je 0x10042775f
mov r8d, 0x816
lea rdx, str.h_get
lea rcx, str.src.it_dinoex_http.c
call dbg.updatecontext_f
cmp dword [rbx + 0x140], 0xffffffff
jne 0x10042728d
mov rcx, rbx
call dbg.h_read_http
test rax, rax
je 0x10042728d
mov qword [rbx + 0x100], 0
mov dword [rbx + 0x12c], 0
mov dword [rbx + 0x130], 0
mov rax, qword [0x1004632d0]
mov rsi, qword [rax + 0xb718]
mov edx, 0xa
mov rcx, rsi
call dbg.html_str_split
mov r12, rax
mov edx, 0xd
mov rcx, rsi
call dbg.html_str_split
mov r9d, 0x75e
lea r8, str.src.it_dinoex_http.c
lea rdx, str.h_bad_request
mov rcx, rsi
call dbg.mystrdup2
mov qword [rbx + 0xc8], rax
mov edx, 0x20
mov rcx, rsi
call dbg.html_str_split
mov rbp, rax
test rax, rax
je 0x1004270fc
mov edx, 0x20
mov rcx, rax
call dbg.html_str_split
mov eax, 0
mov rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasb al, byte [rdi]
mov rdi, rcx
not rdi
mov dword [rsp + 0x20], 0x765
lea r9, str.src.it_dinoex_http.c
lea r8, str.h_bad_request
mov edx, 0
mov rcx, rdi
call dbg.mymalloc2
mov qword [rbx + 0xd0], rax
mov r8, rbp
mov rdx, rdi
mov rcx, rax
call dbg.html_decode
lea rdx, [0x1004556da]
mov rcx, rsi
call sym.strcasecmp
test eax, eax
je 0x1004270f7
lea rdx, str.POST
mov rcx, rsi
call sym.strcasecmp
test eax, eax
jne 0x1004270dd
add dword [rbx + 0x12c], 1
jmp 0x1004270f7
lea rdx, str.HEAD
mov rcx, rsi
call sym.strcasecmp
test eax, eax
jne 0x1004270fc
add dword [rbx + 0x130], 1
test r12, r12
jne 0x100427116
mov r8d, 0
lea rdx, str.Richiesta_Errata
mov rcx, rbx
call dbg.h_closeconn
jmp 0x10042728d
lea rdx, [0x100456402]
mov rcx, r12
call sym.strtok
mov rbp, rax
test rax, rax
je 0x100427265
lea r12, str.If_Modified_Since
lea r13, str.Range
lea r15, str.Authorization
mov edx, 0xd
mov rcx, rbp
call dbg.html_str_split
cmp byte [rbp], 0
jne 0x100427172
lea rdx, [0x100456402]
mov ecx, 0
call sym.strtok
mov rbp, rax
jmp 0x100427265
mov edx, 0x3a
mov rcx, rbp
call dbg.html_str_split
test rax, rax
je 0x100427248
cmp byte [rax], 0x20
jne 0x100427196
add rax, 1
cmp byte [rax], 0x20
je 0x10042718d
mov ecx, 0x12
mov rsi, rbp
mov rdi, r12
repe cmpsb byte [rsi], byte [rdi]
seta cl
setb dl
cmp cl, dl
jne 0x1004271d2
mov r9d, 0x836
lea r8, str.src.it_dinoex_http.c
lea rdx, str.h_get
mov rcx, rax
call dbg.mystrdup2
mov qword [rbx + 0x100], rax
jmp 0x100427248
mov ecx, 6
mov rsi, rbp
mov rdi, r13
repe cmpsb byte [rsi], byte [rdi]
seta cl
setb dl
cmp cl, dl
jne 0x10042720e
mov r9d, 0x83a
lea r8, str.src.it_dinoex_http.c
lea rdx, str.h_get
mov rcx, rax
call dbg.mystrdup2
mov qword [rbx + 0x108], rax
jmp 0x100427248
mov ecx, 0xe
mov rsi, rbp
mov rdi, r15
repe cmpsb byte [rsi], byte [rdi]
seta cl
setb dl
cmp cl, dl
jne 0x100427248
mov r9d, 0x83e
lea r8, str.src.it_dinoex_http.c
lea rdx, str.h_get
mov rcx, rax
call dbg.mystrdup2
mov qword [rbx + 0xd8], rax
lea rdx, [0x100456402]
mov ecx, 0
call sym.strtok
mov rbp, rax
test rax, rax
jne 0x100427146
cmp dword [rbx + 0x12c], 0
je 0x100427282
test rbp, rbp
jne 0x100427282
mov dword [rbx + 0x13c], 2
jmp 0x100427818
mov rdx, rbp
mov rcx, rbx
call dbg.h_parse
cmp dword [rbx + 0x13c], 2
jne 0x1004272c7
jmp 0x100427818
cmp dword [rbx + 0x140], 0xffffffff
jne 0x10042775f
mov rcx, rbx
call dbg.h_read_http
test rax, rax
je 0x1004272c7
cmp qword [rbx + 0x70], 0
je 0x1004272c7
mov rdx, rax
mov rcx, rbx
call dbg.h_parse
cmp dword [rbx + 0x13c], 3
jne 0x10042775f
mov ecx, dword [rbx + 8]
movsxd rax, ecx
shr rax, 6
mov edx, 1
shl rdx, cl
mov rdi, qword [0x1004632d0]
test qword [rdi + rax*8 + 0xb648], rdx
je 0x100427791
mov r8d, 0x87c
lea rdx, str.h_send
lea rcx, str.src.it_dinoex_http.c
call dbg.updatecontext_f
mov ecx, dword [rbx + 0x140]
cmp ecx, 0xffffffff
jne 0x100427805
mov rcx, qword [rbx + 0xb8]
test rcx, rcx
jne 0x1004277f2
mov r8d, 0
lea rdx, str.Completa
mov rcx, rbx
call dbg.h_closeconn
jmp 0x10042775f
call dbg.mydelete2
mov qword [rbx + 0xb8], 0
jmp 0x10042775f
call sym.close
mov dword [rbx + 0x140], 0xffffffff
jmp 0x10042775f
movss xmm0, dword [rbx + 0x138]
ucomiss xmm0, dword [0x100456980]
jbe 0x1004273a0
cmp qword [rbx + 0x110], 0x5b3
jg 0x1004273ab
mov byte [rbx + 0x144], 1
jmp 0x10042775f
mov qword [rbx + 0x110], 0xab18
mov rax, qword [0x1004632d0]
mov r9d, dword [rax + 0xb764]
test r9d, r9d
je 0x1004274b0
mov r10, rax
mov r8, qword [rax + 0xa9d0]
lea r11, [r8 - 2]
movabs rcx, 0x8888888888888889
mov rax, r11
imul rcx
lea rax, [rdx + r11]
sar rax, 6
mov rdx, r11
sar rdx, 0x3f
sub rax, rdx
mov rdx, rax
shl rdx, 7
lea rsi, [r11 + rax*8]
sub rsi, rdx
lea r11, [r8 - 3]
mov rax, r11
imul rcx
lea rax, [rdx + r11]
sar rax, 6
mov rdx, r11
sar rdx, 0x3f
sub rax, rdx
mov rdx, rax
shl rdx, 7
lea rax, [r11 + rax*8]
sub rax, rdx
mov r11, qword [r10 + rax*8 + 0xa9f8]
add r11d, dword [r10 + rsi*8 + 0xa9f8]
mov rax, r8
imul rcx
lea rax, [rdx + r8]
sar rax, 6
mov rdx, r8
sar rdx, 0x3f
sub rax, rdx
mov rdx, rax
shl rdx, 7
lea rax, [r8 + rax*8]
sub rax, rdx
add r11d, dword [r10 + rax*8 + 0xa9f8]
sub r8, 1
mov rax, r8
imul rcx
lea rax, [rdx + r8]
sar rax, 6
mov rdx, r8
sar rdx, 0x3f
sub rax, rdx
mov rdx, rax
shl rdx, 7
lea rax, [r8 + rax*8]
sub rax, rdx
add r11d, dword [r10 + rax*8 + 0xa9f8]
shl r9d, 0xa
cmp r11d, r9d
jb 0x1004274b0
cmp byte [rbx + 0x145], 0
je 0x10042775f
mov byte [rbx + 0x144], 0
mov r12, qword [0x1004632d0]
mov r15, r12
mov rbp, r12
mov r13, r12
mov ecx, dword [rbx + 0x140]
cmp ecx, 0xffffffff
jne 0x1004274ef
mov rdx, qword [rbx + 0x90]
mov rdi, qword [rbx + 0x98]
sub rdi, rdx
add rdx, qword [rbx + 0xb8]
jmp 0x1004275b3
mov rsi, qword [rbx + 0x110]
mov rdx, qword [rbx + 0x90]
cmp qword [rbx + 0x80], rdx
je 0x100427566
mov r8d, 0
call sym.lseek
cmp rax, qword [rbx + 0x90]
je 0x10042755f
call sym.__errno
mov esi, dword [rax]
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r9, rax
mov r8, qword [rbx + 0xb0]
lea rdx, str.Impossibile_trovare_la_posizione_nel_file__s:__s
mov ecx, 2
call dbg.outerror
mov r8d, esi
lea rdx, str.Impossibile_trovare_i_dati_nel_file
mov rcx, rbx
call dbg.h_closeconn
jmp 0x10042775f
mov qword [rbx + 0x80], rax
movabs rax, 0x2ce33e6c02ce33e7
imul rsi
sar rdx, 8
sar rsi, 0x3f
sub rdx, rsi
imul rax, rdx, 0x5b4
cmp rax, 0x111c
mov rdx, qword [r12 + 0xb718]
mov ecx, dword [rbx + 0x140]
mov r8d, 0x111c
cmovle r8, rax
call sym.read
mov rdi, rax
mov rdx, qword [r12 + 0xb718]
test rdi, rdi
jns 0x10042760b
call sym.__errno
cmp dword [rax], 0xb
je 0x10042771c
call sym.__errno
mov esi, dword [rax]
call sym.__errno
mov ecx, dword [rax]
call sym.strerror
mov r9, rax
mov r8, qword [rbx + 0xb0]
lea rdx, str.Impossibile_Leggere_i_Dati_dal_File__s:__s
mov ecx, 2
call dbg.outerror
mov r8d, esi
lea rdx, str.Impossibile_Leggere_i_dati_dal_file
mov rcx, rbx
call dbg.h_closeconn
jmp 0x10042775f
test rdi, rdi
jle 0x10042771c
add qword [rbx + 0x80], rdi
mov ecx, dword [rbx + 8]
mov r9d, 0x20
mov r8, rdi
call sym.send
mov rsi, rax
test rax, rax
jns 0x10042765a
call sym.__errno
cmp dword [rax], 0xb
je 0x10042765a
call sym.__errno
mov r8d, dword [rax]
lea rdx, [0x100455801]
mov rcx, rbx
call dbg.h_closeconn
jmp 0x10042775f
test rsi, rsi
mov eax, 0
cmovs rsi, rax
test rsi, rsi
jle 0x100427676
mov rax, qword [r15 + 0xa9d0]
mov qword [rbx + 0x20], rax
add qword [rbx + 0x78], rsi
add qword [rbx + 0x90], rsi
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
add qword [rbp + rdx*8 + 0xb178], rsi
cmp byte [rbx + 0x145], 0
jne 0x1004276d7
mov rax, qword [0x1004632d0]
add qword [rax + rdx*8 + 0xa9f8], rsi
sub qword [rbx + 0x110], rsi
cmp dword [r13 + 0x78b8], 0x2e
jbe 0x100427706
mov qword [rsp + 0x20], rsi
mov r9, rdi
lea r8, str.File__ld_Write__ld
mov edx, 0x22
mov ecx, 1
call dbg.ioutput
cmp qword [rbx + 0x110], 0x5b3
jle 0x10042771c
test rsi, rsi
jg 0x1004274c7
mov rax, qword [rbx + 0x98]
cmp qword [rbx + 0x90], rax
jl 0x10042775f
mov ecx, dword [rbx + 0x140]
cmp ecx, 0xffffffff
jne 0x100427750
mov rcx, qword [rbx + 0xb8]
call dbg.mydelete2
mov qword [rbx + 0xb8], 0
jmp 0x10042775f
call sym.close
mov dword [rbx + 0x140], 0xffffffff
cmp dword [rbx + 0x13c], 4
jne 0x100427791
mov rcx, qword [rbx + 0xb0]
call dbg.mydelete2
mov qword [rbx + 0xb0], 0
mov rdx, rbx
mov rcx, qword [rsp + 0x38]
call dbg.irlist_delete
mov rbx, rax
jmp 0x1004277e7
test r14d, r14d
je 0x1004277dc
mov r8d, 0x8d4
lea rdx, str.h_istimeout
lea rcx, str.src.it_dinoex_http.c
call dbg.updatecontext_f
mov rax, qword [0x1004632d0]
mov rax, qword [rax + 0xa9d0]
sub rax, qword [rbx + 0x20]
cmp rax, 5
jle 0x1004277dc
mov r8d, 0
lea rdx, str.HTTP_Timeout__5_Sec_Timeout_
mov rcx, rbx
call dbg.h_closeconn
mov rcx, rbx
call dbg.irlist_get_next
mov rbx, rax
test rbx, rbx
jne 0x100426f61
jmp 0x100427844
cmp qword [rbx + 0x98], 0
je 0x10042734d
jmp 0x100427376
cmp qword [rbx + 0x98], 0
je 0x100427362
jmp 0x100427376
mov ecx, dword [rbx + 8]
movsxd rax, ecx
shr rax, 6
mov edx, 1
shl rdx, cl
mov rcx, qword [0x1004632d0]
test qword [rcx + rax*8 + 0xb628], rdx
je 0x100427791
jmp 0x10042729b
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret