Function at 0x14003a5b0
Capabilities:
Send data

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov qword [rbp - 0x11], 0xfffffffffffffffe
mov qword [rsp + 0x148], rbx
mov rax, qword [0x140104508]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r14, r8
mov rdi, rdx
mov qword [rbp - 0x29], rdx
mov r15, rcx
mov qword [rbp - 9], r8
mov rax, qword [0x140104018]
mov qword [rsp + 0x20], rax
mov rbx, qword [r8]
xor r12d, r12d
cmp dword [rbx - 0xc], r12d
jl 0x14003a619
mov qword [rbp - 0x49], rbx
lock inc dword [rbx - 0xc]
jmp 0x14003a63e
mov qword [rbp - 0x49], rax
test rbx, rbx
jne 0x14003a627
mov eax, r12d
jmp 0x14003a630
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x49]
call fcn.140001a10
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x49]
mov rcx, r15
call fcn.140038350
test eax, eax
jne 0x14003a6e2
mov rax, qword [0x140104018]
mov qword [rsp + 0x48], rax
lea rdi, [0x1400d3260]
mov rax, rdi
shr rax, 0x10
test ax, ax
jne 0x14003a685
movzx edx, di
lea rcx, [rsp + 0x48]
call fcn.140001ff0
jmp 0x14003a6c1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14003a6c1
mov edx, ebx
lea rcx, [rsp + 0x48]
call fcn.140001970
test eax, eax
je 0x14003a6c1
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
mov rcx, qword [rsp + 0x48]
call fcn.1400029b0
mov r9b, 1
xor r8d, r8d
lea rdx, [rsp + 0x48]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
nop
mov rsi, 0xffffffffffffffff
jmp 0x14003a84b
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], r12
mov rdx, qword [rsp + 0x20]
lea rcx, [rbp - 0x41]
call fcn.140031120
test rax, rax
jne 0x14003a795
mov rax, qword [0x140104018]
mov qword [rbp - 0x79], rax
lea rdi, [0x1400d32b0]
mov rax, rdi
shr rax, 0x10
test ax, ax
jne 0x14003a731
movzx edx, di
lea rcx, [rbp - 0x79]
call fcn.140001ff0
jmp 0x14003a76b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14003a76b
mov edx, ebx
lea rcx, [rbp - 0x79]
call fcn.140001970
test eax, eax
je 0x14003a76b
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
mov rcx, qword [rbp - 0x79]
call fcn.1400029b0
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp - 0x79]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
nop
lea rcx, [rbp - 0x41]
call fcn.1400018c0
nop
mov rsi, 0xffffffffffffffff
jmp 0x14003a84b
mov dword [rsp + 0x30], r12d
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x14003a7a4
lea r9, [rsp + 0x30]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x14003a8bc
mov rax, qword [0x140104018]
mov qword [rbp - 0x71], rax
lea rdi, [0x1400d3310]
mov rax, rdi
shr rax, 0x10
test ax, ax
jne 0x14003a7f3
movzx edx, di
lea rcx, [rbp - 0x71]
call fcn.140001ff0
jmp 0x14003a82d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14003a82d
mov edx, ebx
lea rcx, [rbp - 0x71]
call fcn.140001970
test eax, eax
je 0x14003a82d
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
mov rcx, qword [rbp - 0x71]
call fcn.1400029b0
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp - 0x71]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
nop
lea rcx, [rbp - 0x41]
call fcn.1400018c0
nop
mov rcx, qword [rsp + 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14003a86e
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003a86e
call fcn.1400bf5e4
nop
mov rax, qword [r14]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x140104010]
je 0x14003a893
lock xadd dword [rax], esi
sub esi, 1
jg 0x14003a893
mov rcx, qword [r14]
sub rcx, 0xc
call fcn.1400bf5e4
xor eax, eax
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1400bf680
mov rbx, qword [rsp + 0x148]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rsp + 0x30]
add dword [r15 + 0x5c], eax
mov eax, dword [r15 + 0x5c]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
mulss xmm1, dword [0x1400d230c]
mov eax, dword [r15 + 0x58]
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm1, xmm0
cvttss2si edx, xmm1
xor r8d, r8d
mov rcx, qword [r15 + 0x28]
call fcn.1400022e0
mov r8, r14
lea rdx, [rbp - 0x21]
lea rcx, [r15 + 8]
call fcn.14000e8f0
mov rbx, qword [rbp - 0x21]
cmp rbx, qword [r15 + 8]
jne 0x14003a998
mov rax, qword [0x140104018]
mov qword [rbp - 0x69], rax
lea rdi, [0x1400d3360]
mov rax, rdi
shr rax, 0x10
test ax, ax
jne 0x14003a94f
movzx edx, di
lea rcx, [rbp - 0x69]
call fcn.140001ff0
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp - 0x69]
jmp 0x14003a837
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14003a989
mov edx, ebx
lea rcx, [rbp - 0x69]
call fcn.140001970
test eax, eax
je 0x14003a989
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
mov rcx, qword [rbp - 0x69]
call fcn.1400029b0
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp - 0x69]
jmp 0x14003a837
mov r13, qword [rbx + 0x38]
mov rcx, qword [r15 + 0x28]
call fcn.140001fb0
test al, al
jne 0x14003a841
movsxd r8, r12d
mov rax, r13
sub rax, r8
cmp rax, 0x400
jbe 0x14003a9c5
mov edi, 0x400
jmp 0x14003a9d1
mov edi, r13d
sub edi, r12d
je 0x14003ab49
lea rdx, [rbx + 0x28]
mov qword [rbp + 0xf], 0
mov qword [rbp + 0x17], reloc.WS2_32.dll_ntohs
mov byte [rbp - 1], 0
mov r9d, edi
lea rcx, [rbp - 1]
call fcn.14003afa0
nop
mov dword [rsp + 0x40], 0
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rdx, qword [rbp - 1]
lea r9, [rsp + 0x40]
mov r8d, edi
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x14003aa78
mov edx, dword [rsp + 0x40]
mov rcx, r15
call fcn.140039ba0
add r12d, edi
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x14003a99c
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003aa67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003aa71
call fcn.1400bf5e4
jmp 0x14003a99c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rax, qword [0x140104018]
mov qword [rbp - 0x61], rax
lea rdi, [0x1400d33c0]
mov rax, rdi
shr rax, 0x10
test ax, ax
jne 0x14003aaa4
movzx edx, di
lea rcx, [rbp - 0x61]
call fcn.140001ff0
jmp 0x14003aade
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rbx, eax
test eax, eax
je 0x14003aade
mov edx, ebx
lea rcx, [rbp - 0x61]
call fcn.140001970
test eax, eax
je 0x14003aade
mov r9, rbx
add r9, r9
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, rdi
mov rcx, qword [rbp - 0x61]
call fcn.1400029b0
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp - 0x61]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x14003ab30
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ab2b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003ab2b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400bf5e4
mov qword [rbp + 0xf], 0
mov qword [rbp + 0x17], reloc.WS2_32.dll_ntohs
mov byte [rbp - 1], 0
jmp 0x14003a841
mov rbx, qword [0x140104018]
mov qword [rsp + 0x38], rbx
mov rdx, r14
lea rcx, [rbp - 0x19]
call fcn.140005880
mov rdi, rax
mov qword [rsp + 0x28], rax
mov r12, qword [r15 + 0x48]
cmp rbx, r12
je 0x14003ac33
lea rcx, [rbx - 0xc]
mov eax, dword [rcx]
mov rdx, qword [0x140104010]
test eax, eax
jns 0x14003ab8c
cmp rcx, rdx
jne 0x14003ab94
cmp dword [r12 - 0xc], 0
jge 0x14003ac0c
movsxd r13, dword [r12 - 8]
cmp eax, 1
jg 0x14003aba4
cmp r13d, dword [rbx - 4]
jle 0x14003abdb
cmp rcx, rdx
je 0x14003abc5
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003abb9
call fcn.1400bf5e4
mov rax, qword [0x140104018]
mov qword [rsp + 0x38], rax
mov edx, r13d
lea rcx, [rsp + 0x38]
call fcn.140001970
mov rbx, qword [rsp + 0x38]
test eax, eax
je 0x14003ac33
lea rdi, [r13*2]
lea eax, [r13 + 1]
movsxd rdx, eax
add rdx, rdx
mov r9, rdi
mov r8, r12
mov rcx, rbx
call fcn.1400029b0
mov dword [rbx - 8], r13d
xor eax, eax
mov word [rdi + rbx], ax
mov rdi, qword [rsp + 0x28]
jmp 0x14003ac33
cmp rcx, rdx
je 0x14003ac21
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003ac21
call fcn.1400bf5e4
mov rax, qword [r15 + 0x48]
mov qword [rsp + 0x38], rax
lock inc dword [rax - 0xc]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rdi]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14003ac5f
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003ac5a
mov rcx, qword [rdi]
sub rcx, 0xc
call fcn.1400bf5e4
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x41]
call fcn.140031120
test rax, rax
jne 0x14003ad19
mov rax, qword [0x140104018]
mov qword [rbp - 0x59], rax
lea r12, [0x1400d3400]
mov rax, r12
shr rax, 0x10
test ax, ax
jne 0x14003aca1
movzx edx, r12w
lea rcx, [rbp - 0x59]
call fcn.140001ff0
jmp 0x14003acdb
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rdi, eax
test eax, eax
je 0x14003acdb
mov edx, edi
lea rcx, [rbp - 0x59]
call fcn.140001970
test eax, eax
je 0x14003acdb
mov r9, rdi
add r9, r9
lea eax, [rdi + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, r12
mov rcx, qword [rbp - 0x59]
call fcn.1400029b0
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp - 0x59]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
nop
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x140104010]
je 0x14003a841
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003a841
call fcn.1400bf5e4
jmp 0x14003a841
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14003ad20
lea r9, [rsp + 0x30]
mov rdx, rax
mov rcx, qword [rbp - 0x29]
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x14003ade9
mov rax, qword [0x140104018]
mov qword [rbp - 0x51], rax
lea r12, [0x1400d3460]
mov rax, r12
shr rax, 0x10
test ax, ax
jne 0x14003ad71
movzx edx, r12w
lea rcx, [rbp - 0x51]
call fcn.140001ff0
jmp 0x14003adab
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_lstrlenW]
or dword [rax], eax
movsxd rdi, eax
test eax, eax
je 0x14003adab
mov edx, edi
lea rcx, [rbp - 0x51]
call fcn.140001970
test eax, eax
je 0x14003adab
mov r9, rdi
add r9, r9
lea eax, [rdi + 1]
movsxd rdx, eax
add rdx, rdx
mov r8, r12
mov rcx, qword [rbp - 0x51]
call fcn.1400029b0
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp - 0x51]
mov rcx, qword [r15 + 0x28]
call fcn.140002330
nop
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x140104010]
je 0x14003a841
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003a841
call fcn.1400bf5e4
jmp 0x14003a841
mov edx, dword [rsp + 0x30]
mov rcx, r15
call fcn.140039ba0
nop
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x140104010]
je 0x14003ae14
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003ae14
call fcn.1400bf5e4
nop
lea rcx, [rbp - 0x41]
call fcn.1400018c0
nop
mov rcx, qword [rsp + 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x140104010]
je 0x14003ae41
mov eax, esi
lock xadd dword [rcx], eax
sub eax, 1
jg 0x14003ae41
call fcn.1400bf5e4
nop
mov rax, qword [r14]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x140104010]
je 0x14003ae66
lock xadd dword [rax], esi
sub esi, 1
jg 0x14003ae66
mov rcx, qword [r14]
sub rcx, 0xc
call fcn.1400bf5e4
mov eax, 1
jmp 0x14003a895