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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x800]
cmp rax, qword [rcx + 0x10]
jbe 0x427926
sub rsp, 0x880
mov qword [rsp + 0x878], rbp
lea rbp, [rsp + 0x878]
lea rdi, [rsp + 0x78]
mov ecx, 0x100
xor eax, eax
rep stosq qword [rdi], rax
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x30]
mov rbx, qword [0x007f7268]
cmp rbx, 0xffffffffffffffff
je 0x42782a
movzx ecx, byte [rsp + 0x888]
test cl, cl
je 0x427823
mov eax, 0xffffffff
mov qword [rsp + 0x70], rdx
mov dword [rsp + 0x44], eax
jmp 0x427510
mov eax, dword [rsp + 0x44]
movzx ecx, byte [rsp + 0x888]
mov rdx, qword [rsp + 0x70]
mov rbx, qword [0x00833af0]
test rbx, rbx
jne 0x427644
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x48], 0
test cl, cl
je 0x42753c
mov byte [rdx + 0xe5], 1
mov rcx, qword [sym.imp.KERNEL32.DLL_GetQueuedCompletionStatus]
mov qword [rsp], rcx
mov rcx, qword [0x007f7268]
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x10], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x18], rcx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rax
call fcn.00429780
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x4275ee
xor eax, eax
mov rcx, qword [rsp + 0x70]
mov byte [rcx + 0xe5], 0
lea rdx, [rsp + 0x60]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x14], eax
call fcn.00427930
movzx eax, byte [rsp + 0x888]
test al, al
je 0x4275d1
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x4274ff
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x890], rax
mov rbp, qword [rsp + 0x878]
add rsp, 0x880
ret
mov rax, qword [rsp + 0x70]
mov byte [rax + 0xe5], 0
call fcn.004563c0
mov eax, dword [rsp]
movzx ecx, byte [rsp + 0x888]
test cl, cl
je 0x427621
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x427587
jmp 0x427846
cmp eax, 0x102
jne 0x42760e
mov qword [rsp + 0x890], 0
mov rbp, qword [rsp + 0x878]
add rsp, 0x880
ret
movsxd rbx, dword [0x00850abc]
test rbx, rbx
je 0x42791f
mov esi, eax
mov eax, 0x40
mov rdi, rdx
cmp rbx, 0xffffffffffffffff
je 0x42766b
cqo
idiv rbx
jmp 0x427670
neg rax
xor edx, edx
mov dword [rsp + 0x4c], eax
cmp eax, 8
jae 0x42781c
mov dword [rsp + 0x4c], 8
test cl, cl
je 0x427690
mov byte [rdi + 0xe5], 1
lea rax, [rsp + 0x78]
mov qword [rsp + 0x10], rax
mov rax, qword [0x00833af0]
mov qword [rsp], rax
mov rax, qword [0x007f7268]
mov qword [rsp + 8], rax
mov eax, dword [rsp + 0x4c]
mov qword [rsp + 0x18], rax
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], 0
call fcn.004297e0
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x4277cd
mov rcx, qword [rsp + 0x70]
mov byte [rcx + 0xe5], 0
xor eax, eax
jmp 0x427724
lea rcx, [rsp + 0x60]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 8], rdx
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x14], eax
call fcn.00427930
mov eax, dword [rsp + 0x54]
inc eax
mov rcx, qword [rsp + 0x70]
mov edx, dword [rsp + 0x4c]
cmp eax, edx
jae 0x4277be
cmp rax, 0x40
jae 0x4278b1
mov dword [rsp + 0x54], eax
shl rax, 5
mov rax, qword [rsp + rax + 0x80]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x10]
mov qword [rsp + 8], rax
mov rax, qword [sym.imp.ws2_32.dll_WSAGetOverlappedResult]
mov qword [rsp], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x10], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
call fcn.00429780
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x4277b1
xor eax, eax
jmp 0x4276f5
call fcn.004563c0
mov eax, dword [rsp]
jmp 0x4276f5
movzx eax, byte [rsp + 0x888]
test al, al
jmp 0x4275c1
mov rax, qword [rsp + 0x70]
mov byte [rax + 0xe5], 0
call fcn.004563c0
mov eax, dword [rsp]
mov dword [rsp + 0x5c], eax
movzx ecx, byte [rsp + 0x888]
test cl, cl
jne 0x4278b8
cmp eax, 0x102
jne 0x4278b8
mov qword [rsp + 0x890], 0
mov rbp, qword [rsp + 0x878]
add rsp, 0x880
ret
test cl, cl
jmp 0x427687
xor eax, eax
jmp 0x4274f4
mov qword [rsp + 0x890], 0
mov rbp, qword [rsp + 0x878]
add rsp, 0x880
ret
mov dword [rsp + 0x5c], eax
call fcn.0042bc80
lea rax, [0x006b920e]
mov qword [rsp], rax
mov qword [rsp + 8], 0x32
call fcn.0042c640
mov eax, dword [rsp + 0x5c]
movsxd rax, eax
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006ab0a3]
mov qword [rsp], rax
mov qword [rsp + 8], 3
call fcn.0042c640
call fcn.0042bd10
lea rax, [0x006b1103]
mov qword [rsp], rax
mov qword [rsp + 8], 0x17
call fcn.0042b3a0
ud2
call fcn.00429b50
ud2
call fcn.0042bc80
lea rax, [0x006b970d]
mov qword [rsp], rax
mov qword [rsp + 8], 0x34
call fcn.0042c640
mov eax, dword [rsp + 0x5c]
movsxd rax, eax
mov qword [rsp], rax
call fcn.0042c460
lea rax, [0x006ab0a3]
mov qword [rsp], rax
mov qword [rsp + 8], 3
call fcn.0042c640
call fcn.0042bd10
lea rax, [0x006b1103]
mov qword [rsp], rax
mov qword [rsp + 8], 0x17
call fcn.0042b3a0
ud2
call fcn.00429c30
ud2
call fcn.00452950
jmp fcn.00427440