Function at 0x18003f040
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov r12, r8
mov rsi, rdx
mov r13, rcx
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movzx eax, byte [rcx + 0x4d]
test al, al
jne 0x18003f094
lea eax, [rbx + 2]
jmp 0x18003f0a1
cmp al, 1
jne 0x18003fa09
mov eax, reloc.WS2_32.dll_socket
mov dword [rbp + 0x104], eax
mov dword [rbp + 0x108], 1
lea rdx, [rcx + 0x90]
cmp qword [rdx + 0x18], 0x10
jb 0x18003f0c2
mov rdx, qword [rdx]
add rcx, 0x70
cmp qword [r13 + 0x88], 0x10
jb 0x18003f0d4
mov rcx, qword [r13 + 0x70]
lea r9, [rbp + 0x48]
lea r8, [rbp + 0x100]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x18003f11e
mov dword [rsi], ebx
lea rcx, [rsi + 8]
call fcn.180046010
mov qword [rsi + 0x20], rbx
mov qword [rsi + 0x28], rbx
mov qword [rsi + 0x30], rbx
mov rax, rsi
mov rbx, qword [rsp + 0x298]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp + 0x190], rax
lea r8, [rbp + 0x190]
mov rdx, qword [rbp + 0x48]
lea rcx, [rbp + 0xd0]
call fcn.18004de30
nop
mov rcx, qword [r12 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 1
jb 0x18003fa23
mov r9, r12
cmp qword [r12 + 0x18], 0x10
jb 0x18003f16f
mov r9, qword [r12]
mov qword [rsp + 0x30], 1
lea rax, [0x180158ca8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x70]
call fcn.18003bf70
nop
lea rdx, [r13 + 0xb0]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x18003f1a8
mov rdx, qword [rdx]
lea rcx, [rbp + 0x70]
call fcn.180021500
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], send
mov byte [rax], 0
mov r8d, listen
lea rdx, str._HTTP_1.1_r_n
lea rcx, [rbp - 0x80]
call fcn.180021500
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], send
mov byte [rax], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18003f260
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f25b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa29
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp + 0x88]
cmp rdx, 0x10
jb 0x18003f2af
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f2aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa2f
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp + 0x80], xmm0
mov byte [rbp + 0x70], 0
mov r14, qword [rbp + 0x1b0]
mov rcx, r14
call fcn.180034a90
mov rbx, rax
mov rcx, r14
call fcn.180045ea0
mov rdi, rax
lea rax, [0x180158ca4]
cmp rbx, rdi
je 0x18003f394
mov rdx, qword [rbx + 0x10]
movabs rcx, 0x7fffffffffffffff
sub rcx, rdx
cmp rcx, 2
jb 0x18003fa3b
mov r9, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18003f318
mov r9, qword [rbx]
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x20]
call fcn.18003bf70
nop
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.180046170
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x18003f37f
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f37a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa35
call fcn.1800b98ec
add rbx, 0x20
cmp rbx, rdi
je 0x18003f394
lea rax, [0x180158ca4]
jmp 0x18003f2f0
lea r8, [r13 + 0x70]
lea rdx, str.Host:
lea rcx, [rbp + 0x130]
call fcn.18004dad0
nop
mov r8d, 2
lea rbx, [0x180158ca4]
mov rdx, rbx
mov rcx, rax
call fcn.180021500
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], send
mov byte [rax], dil
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.180046170
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18003f43d
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f438
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa41
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp - 0x50], xmm0
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp + 0x148]
cmp rdx, 0x10
jb 0x18003f48f
inc rdx
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f48a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa47
call fcn.1800b98ec
mov rax, qword [rbp + 0x1a8]
mov rdx, qword [rax + 8]
sub rdx, qword [rax]
lea rcx, [rbp + 0x50]
call fcn.18004d920
nop
lea r8, [rbp + 0x50]
lea rdx, str.Content_Length:
lea rcx, [rbp + 0x90]
call fcn.180033f20
nop
mov r8d, 2
mov rdx, rbx
mov rcx, rax
call fcn.180021500
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], send
mov byte [rax], 0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.180046170
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x18003f547
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f542
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa4d
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x18003f599
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f594
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa53
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp + 0xa0], xmm0
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x18003f5eb
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f5e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa59
call fcn.1800b98ec
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180046140
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], send
mov byte [rsp + 0x40], 0
mov rcx, r14
call fcn.180034a90
mov rbx, rax
mov rcx, r14
call fcn.180045ea0
mov rdi, rax
lea r14, [0x180158ca4]
cmp rbx, rax
je 0x18003f6d4
mov rdx, qword [rbx + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, 2
jb 0x18003fa65
mov r9, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x18003f661
mov r9, qword [rbx]
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x50]
call fcn.18003bf70
nop
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.180046170
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x18003f6c8
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f6c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa5f
call fcn.1800b98ec
add rbx, 0x20
cmp rbx, rdi
jmp 0x18003f633
lea r8, [r13 + 0x70]
lea rdx, str.Host:
lea rcx, [rbp + 0xb0]
call fcn.18004dad0
nop
mov r8d, 2
mov rdx, r14
mov rcx, rax
call fcn.180021500
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], send
mov byte [rax], dil
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.180046170
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x18003f776
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f771
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa6b
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x18003f7c8
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f7c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa71
call fcn.1800b98ec
mov rbx, qword [rbp + 0x1a8]
mov rdx, qword [rbx + 8]
sub rdx, qword [rbx]
lea rcx, [rbp + 0xe0]
call fcn.18004d920
nop
lea r8, [rbp + 0xe0]
lea rdx, str.Content_Length:
lea rcx, [rbp + 0x20]
call fcn.180033f20
nop
mov r8d, 2
mov rdx, r14
mov rcx, rax
call fcn.180021500
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], send
mov byte [rax], 0
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.180046170
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x18003f883
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f87e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa77
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x18003f8cf
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f8ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa7d
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], 0
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x18003f921
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f91c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa83
call fcn.1800b98ec
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.180046140
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xb0]
call fcn.180005730
mov qword [rsp + 0x20], rbx
mov r9, rax
mov r8, r12
mov rdx, rsi
mov rcx, r13
call fcn.18003e420
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18003f993
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f98e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa89
call fcn.1800b98ec
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], send
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18003f9df
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003f9da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18003fa03
call fcn.1800b98ec
movdqa xmm0, xmmword [0x18015bd30]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
lea rcx, [rbp + 0xd0]
call fcn.180044490
jmp 0x18003f100
call fcn.1800c5784
nop
lea rcx, [rbp - 0x80]
call fcn.18003cb20
lea rdx, [0x18016bdc0]
lea rcx, [rbp - 0x80]
call fcn.1800bc868
nop
call fcn.180001570
nop
call fcn.1800c5784
nop
call fcn.1800c5784
int3
call fcn.1800c5784
int3
call fcn.180001570
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
int3
call fcn.180001570
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
nop
call fcn.1800c5784
int3