Function at 0x18004937a
Capabilities:
Reference http user-agent string

Disassembly:
push rbp
mov eax, 0x1340
call fcn.180067df0
sub rsp, 0x1340
lea rbp, [rsp + 0x50]
mov qword [rsp], rax
mov rax, 0x133c
mov dword [rsp + rax], 0xcccccccc
sub rax, 4
cmp rax, 4
jg 0x18004939c
mov rax, qword [rsp]
mov dword [rsp], 0xcccccccc
mov dword [rsp + 4], 0xcccccccc
mov qword [rbp + 0x130], rsi
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0x1300], rcx
mov dword [rbp + 0x1308], edx
mov qword [rbp + 0x1310], r8
mov dword [rbp + 0x1318], r9d
mov rax, qword [0x1800f4ae8]
xor rax, rbp
mov qword [rbp + 0x12e0], rax
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov dword [rbp], 0xffffffff
mov rax, qword [rbp + 0x1348]
mov qword [rax], 0
mov rax, qword [rbp + 0x1350]
mov dword [rax], 0
lea rax, [rbp + 0x1148]
mov edx, 0
mov ecx, 0x80
mov qword [rbp + 0xd0], rcx
mov rcx, rax
mov rax, qword [rbp + 0xd0]
mov r8, rax
call fcn.180062370
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0x1320]
lea rdx, [0x180103b69]
mov rcx, rax
call fcn.1800677b0
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
test eax, eax
jne 0x1800494ba
lea rax, [rbp + 0x11d0]
mov edx, 0x80
lea rcx, [0x180103b4e]
mov rbx, qword [rbp + 0x1310]
mov esi, dword [rbp + 0x1318]
mov dword [rsp + 0x20], esi
mov qword [rbp + 0xd8], rcx
mov rcx, rax
mov rax, qword [rbp + 0xd8]
mov r8, rax
mov r9, rbx
call fcn.180067ac0
mov dword [rbp + 8], eax
jmp 0x180049590
mov eax, dword [rbp + 0x1308]
test eax, eax
je 0x180049536
mov rax, qword [rbp + 0x1328]
test rax, rax
jne 0x1800494dd
lea rax, [0x180103b63]
mov qword [rbp + 0x60], rax
jmp 0x1800494e8
mov rax, qword [rbp + 0x1328]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x11d0]
mov edx, 0x80
lea rcx, [0x180103b54]
mov rbx, qword [rbp + 0x1310]
mov esi, dword [rbp + 0x1318]
mov dword [rsp + 0x20], esi
mov rsi, qword [rbp + 0x60]
mov qword [rsp + 0x28], rsi
mov qword [rbp + 0xe0], rcx
mov rcx, rax
mov rax, qword [rbp + 0xe0]
mov r8, rax
mov r9, rbx
call fcn.180067ac0
mov dword [rbp + 0x18], eax
jmp 0x180049590
mov rax, qword [rbp + 0x1328]
test rax, rax
jne 0x18004954f
lea rax, [0x180103b67]
mov qword [rbp + 0x68], rax
jmp 0x18004955a
mov rax, qword [rbp + 0x1328]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x11d0]
mov edx, 0x80
lea rcx, [0x180103b64]
mov rbx, qword [rbp + 0x68]
mov qword [rbp + 0xe8], rcx
mov rcx, rax
mov rax, qword [rbp + 0xe8]
mov r8, rax
mov r9, rbx
call fcn.180067ac0
mov dword [rbp + 0x1c], eax
lea rax, [rbp + 0x11d0]
add rax, 0x7f
mov byte [rax], 0
mov eax, dword [rbp + 0x1318]
cmp eax, 0x50
je 0x1800495fb
mov eax, dword [rbp + 0x1318]
cmp eax, 0x1bb
je 0x1800495fb
lea rax, [rbp + 0x1258]
mov edx, 0x80
lea rcx, [0x180103b71]
mov rbx, qword [rbp + 0x1310]
mov esi, dword [rbp + 0x1318]
mov dword [rsp + 0x20], esi
mov qword [rbp + 0xf0], rcx
mov rcx, rax
mov rax, qword [rbp + 0xf0]
mov r8, rax
mov r9, rbx
call fcn.180067ac0
mov dword [rbp + 0x10], eax
jmp 0x18004963e
lea rax, [rbp + 0x1258]
mov edx, 0x80
lea rcx, [0x180103b77]
mov rbx, qword [rbp + 0x1310]
mov esi, dword [rbp + 0x1318]
mov dword [rsp + 0x20], esi
mov qword [rbp + 0xf8], rcx
mov rcx, rax
mov rax, qword [rbp + 0xf8]
mov r8, rax
mov r9, rbx
call fcn.180067ac0
mov dword [rbp + 0xc], eax
mov rax, qword [rbp + 0x1320]
lea rdx, [0x180103bc8]
mov rcx, rax
call fcn.1800677b0
mov dword [rbp + 0x14], eax
mov eax, dword [rbp + 0x14]
test eax, eax
jne 0x180049697
lea rax, [rbp + 0x1148]
mov edx, 0x80
lea rcx, [0x180103b7a]
mov ebx, 0
mov qword [rbp + 0x100], rcx
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov r8, rax
mov r9, rbx
call fcn.180067ac0
mov dword [rbp + 0x20], eax
jmp 0x18004970a
mov rax, qword [rbp + 0x1320]
lea rdx, [0x180103bc3]
mov rcx, rax
call fcn.1800677b0
mov dword [rbp + 0x24], eax
mov eax, dword [rbp + 0x24]
test eax, eax
jne 0x1800496f1
lea rax, [rbp + 0x1148]
mov edx, 0x80
lea rcx, [0x180103b8f]
mov ebx, dword [rbp + 0x1340]
mov qword [rbp + 0x108], rcx
mov rcx, rax
mov rax, qword [rbp + 0x108]
mov r8, rax
mov r9d, ebx
call fcn.180067ac0
mov dword [rbp + 0x2c], eax
jmp 0x18004970a
mov rax, qword [rbp + 0x1320]
lea rdx, [0x180103bbf]
mov rcx, rax
call fcn.1800677b0
mov dword [rbp + 0x30], eax
lea rax, [rbp + 0x1148]
add rax, 0x7f
mov byte [rax], 0
mov dword [rbp + 0x28], 0
mov rax, qword [rbp + 0x1330]
test rax, rax
jne 0x18004973b
lea rax, [0x180103c08]
mov qword [rbp + 0x90], rax
jmp 0x180049795
mov rax, qword [rbp + 0x1330]
lea rdx, [rbp + 0x70]
mov rcx, rax
call fcn.18004e68e
jmp 0x180049860
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x98], rax
mov dword [rbp + 0x28], 1
lea rax, [rbp + 0x70]
mov rcx, rax
call fcn.180001d24
jmp 0x180049854
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x90], rax
mov eax, dword [rbp + 0x1308]
test eax, eax
jne 0x1800497af
lea rax, [0x180103bef]
mov qword [rbp + 0xb0], rax
jmp 0x1800497bd
lea rax, [0x180103bd0]
mov qword [rbp + 0xb0], rax
lea rax, [rbp + 0x140]
mov edx, 0x1000
lea rcx, [0x180103b00]
mov rbx, qword [rbp + 0x1320]
lea rsi, [rbp + 0x11d0]
mov qword [rsp + 0x20], rsi
lea rsi, [rbp + 0x1258]
mov qword [rsp + 0x28], rsi
mov rsi, qword [rbp + 0xb0]
mov qword [rsp + 0x30], rsi
lea rsi, [rbp + 0x1148]
mov qword [rsp + 0x38], rsi
mov rsi, qword [rbp + 0x90]
mov qword [rsp + 0x40], rsi
mov qword [rbp + 0x110], rcx
mov rcx, rax
mov rax, qword [rbp + 0x110]
mov r8, rax
mov r9, rbx
call fcn.180067ac0
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
mov dword [rbp + 0x38], eax
mov eax, dword [rbp + 0x28]
test eax, eax
je 0x18004986c
mov dword [rbp + 0x28], 0
lea rax, [rbp + 0x70]
mov rcx, rax
call fcn.180001abc
jmp 0x18004986c
mov qword [rbp + 0xa0], rax
jmp 0x180049779
mov qword [rbp + 0x88], rax
jmp 0x180049753
lea rax, [rbp + 0x140]
add rax, 0xfff
mov byte [rax], 0
mov eax, dword [rbp + 0x38]
test eax, eax
jl 0x18004988d
mov eax, dword [rbp + 0x38]
cmp eax, 0x1000
jne 0x1800498d3
mov eax, 0xffffffff
mov dword [rbp + 0x48], eax
lea rax, reloc.WS2_32.dll_connect
mov rdx, rax
mov rcx, rbp
call fcn.180061140
mov rax, qword [rbp + 0x12e0]
xor rax, rbp
mov rcx, rax
call fcn.1800612f0
mov eax, dword [rbp + 0x48]
mov rbx, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x130]
lea rsp, [rbp + 0x12f0]
pop rbp
ret
mov rax, qword [rbp + 0x1338]
test rax, rax
jne 0x1800498e8
mov dword [rbp + 0x3c], 0
jmp 0x1800498f1
mov eax, dword [rbp + 0x1340]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
add eax, dword [rbp + 0x38]
inc eax
mov ecx, eax
call fcn.1800106cc
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x1348]
mov rdx, qword [rbp + 0xb8]
mov qword [rax], rdx
mov rax, qword [rbp + 0x1348]
mov rax, qword [rax]
test rax, rax
je 0x1800499ec
mov rax, qword [rbp + 0x1338]
test rax, rax
jne 0x180049940
mov dword [rbp + 0x44], 0
jmp 0x180049949
mov eax, dword [rbp + 0x1340]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x44]
add eax, dword [rbp + 0x38]
mov rdx, qword [rbp + 0x1350]
mov dword [rdx], eax
mov rax, qword [rbp + 0x1348]
mov rax, qword [rax]
lea rdx, [rbp + 0x140]
mov ecx, dword [rbp + 0x38]
movsxd rcx, ecx
mov qword [rbp + 0x118], rcx
mov rcx, rax
mov rax, qword [rbp + 0x118]
mov r8, rax
call fcn.180064f00
mov qword [rbp + 0xc0], rax
mov eax, dword [rbp + 0x1340]
test eax, eax
je 0x1800499e5
mov rax, qword [rbp + 0x1338]
test rax, rax
je 0x1800499e5
mov rax, qword [rbp + 0x1348]
mov edx, dword [rbp + 0x38]
movsxd rdx, edx
add rdx, qword [rax]
mov rax, qword [rbp + 0x1338]
mov ecx, dword [rbp + 0x1340]
mov qword [rbp + 0x120], rcx
mov rcx, rdx
mov rdx, rax
mov rax, qword [rbp + 0x120]
mov r8, rax
call fcn.180064f00
mov qword [rbp + 0xc8], rax
mov dword [rbp], 0
mov eax, dword [rbp]
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x4c], eax
lea rax, reloc.WS2_32.dll_connect
mov rdx, rax
mov rcx, rbp
call fcn.180061140
mov rax, qword [rbp + 0x12e0]
xor rax, rbp
mov rcx, rax
call fcn.1800612f0
mov eax, dword [rbp + 0x4c]
mov rbx, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x130]
lea rsp, [rbp + 0x12f0]
pop rbp
ret