Function at 0x1800083c0
Capabilities:
Resolve dns

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp + 0xb8], rbx
mov r15, r8
mov r13, rcx
mov rbx, qword [rcx]
mov qword [rbp + 0xb0], rbx
mov rcx, rbx
call fcn.180028878
test eax, eax
je 0x18000840e
mov ecx, eax
call fcn.180028ce0
nop
mov rdi, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rbp + 0xa0], eax
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0xa8]
mov rcx, rdi
call fcn.18000c070
lea r9, [rax + 0x1c]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.18000c0a0
nop
mov rcx, rbx
call fcn.18002889c
test eax, eax
je 0x18000845e
mov ecx, eax
call fcn.180028ce0
nop
lea r14, [r15 + 0x14]
test r14, r14
je 0x1800084f3
mov rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], 0
jne 0x180008472
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x1800084f3
cdqe
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1800084a5
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.18002b8b0
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x1800084f3
mov byte [rbx], 0
lea eax, [rdx + rdx]
xor edi, edi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea r9d, [rdi - 1]
mov r8, r14
xor edx, edx
lea ecx, [rdi + 3]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
cmove rbx, rdi
jmp 0x1800084f7
xor edi, edi
mov ebx, edi
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
jne 0x1800085df
movabs rsi, 0x165a0bc00
movabs rbx, 0x112e0be826d694b3
nop dword [rax]
mov qword [rbp + 0xa0], rdi
mov edx, 1
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [rdx + 7]
mov rcx, r14
call qword [sym.imp.DNSAPI.dll_DnsQuery_W]
mov rcx, qword [rbp + 0xa0]
test eax, eax
jne 0x18000857b
test rcx, rcx
je 0x18000858b
cmp word [rcx + 0x10], 1
jne 0x18000857b
mov ecx, 0x7f000001
call qword [sym.imp.WS2_32.dll_ntohl]
mov rcx, qword [rbp + 0xa0]
cmp dword [rcx + 0x20], eax
jne 0x1800085d4
test rcx, rcx
je 0x18000858b
mov edx, 1
call qword [sym.imp.DNSAPI.dll_DnsFree]
call fcn.1800290dc
lea rcx, [rax + rsi]
imul r8, rcx, 0x64
mov rax, rbx
imul r8
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x10], rdx
imul eax, edx, 0x3b9aca00
sub r8d, eax
mov dword [rbp + 0x18], r8d
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x20], xmm0
lea rcx, [rbp + 0x20]
call fcn.180028f5c
jmp 0x180008520
mov edx, 1
call qword [sym.imp.DNSAPI.dll_DnsFree]
call fcn.18000a330
mov rsi, rax
mov rcx, r15
call fcn.1800222e0
mov dword [rbp + 0xb0], eax
mov r9, qword [rsi + 0x20]
mov r8, r9
mov rdx, qword [r9 + 8]
mov rcx, rdx
cmp byte [rdx + 0x19], 0
jne 0x180008823
nop dword [rax]
cmp dword [rcx + 0x20], eax
jae 0x18000861b
mov rcx, qword [rcx + 0x10]
jmp 0x180008621
mov r8, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x180008610
cmp r8, r9
je 0x180008823
cmp eax, dword [r8 + 0x20]
jb 0x180008823
mov rbx, r9
nop dword [rax]
cmp dword [rdx + 0x20], eax
jae 0x18000864b
mov rdx, qword [rdx + 0x10]
jmp 0x180008651
mov rbx, rdx
mov rdx, qword [rdx]
cmp byte [rdx + 0x19], 0
je 0x180008640
cmp rbx, r9
je 0x180008661
cmp eax, dword [rbx + 0x20]
jae 0x1800086a2
lea rax, [rbp + 0xb0]
mov qword [rbp + 0xa0], rax
lea r8, [rbp + 0xa0]
lea rcx, [rsi + 0x20]
call fcn.180022770
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 0xa0]
lea rcx, [rsi + 0x20]
call fcn.180022c00
mov rbx, qword [rbp + 0xa0]
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x180008948
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rsi, rax
test rax, rax
je 0x180008823
mov rcx, qword [rax]
mov r9, qword [rcx + 0x60]
lea r8, [r15 + 0x21c]
mov rdx, r14
mov rcx, rax
call r9
test al, al
jne 0x1800086f1
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov edx, 1
mov rcx, rsi
call rax
jmp 0x180008823
mov rax, qword [r13 + 0x10]
add rax, 0x8b8
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x180008709
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rcx
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x20], xmm0
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x30]
call fcn.1800076c0
nop
mov r12, qword [rbp + 0x50]
mov r14, qword [rbp + 0x38]
cmp byte [rbp + 0x30], 0
je 0x180008763
lea rcx, [rbp + 0x38]
cmp r12, 8
cmovae rcx, r14
mov rdx, qword [r13 + 0x10]
add rdx, 0x6b0
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx], ax
lea rcx, [rcx + 2]
lea rdx, [rdx + 2]
test ax, ax
jne 0x180008750
call fcn.180023e60
mov rcx, qword [rax]
mov r10, qword [rcx + 8]
mov r9, qword [r13 + 0x10]
add r9, 0x10
mov dword [rsp + 0x20], 0x8a8
mov r8d, 0x19181780
mov rdx, rsi
mov rcx, rax
call r10
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x8d8]
mov r15, qword [rax + 0x8e0]
sub r15, rbx
add r15, 7
shr r15, 3
cmp rbx, qword [rax + 0x8e0]
cmova r15, rdi
test r15, r15
je 0x1800087d8
nop dword [rax + rax]
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x20]
lea rbx, [rbx + 8]
inc rdi
cmp rdi, r15
jne 0x1800087c0
mov rdx, rsi
lea rcx, [rbp + 0xa0]
call fcn.180021790
nop
cmp r12, 8
jb 0x180008823
lea rdx, [r12*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x18000881b
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180008942
mov rcx, r14
call fcn.18002aef0
mov rbx, qword [r13]
mov rcx, rbx
call fcn.180028878
test eax, eax
je 0x18000883a
mov ecx, eax
call fcn.180028ce0
mov r11, qword [r13 + 8]
mov r10, qword [r11]
mov rcx, qword [r10 + 8]
mov rax, rcx
mov r9, r10
mov edx, dword [rbp + 0xa8]
cmp byte [rcx + 0x19], 0
jne 0x180008880
mov r8d, dword [rax + 0x1c]
cmp r8d, edx
jge 0x180008866
mov rax, qword [rax + 0x10]
jmp 0x18000887a
cmp byte [r9 + 0x19], 0
je 0x180008874
cmp edx, r8d
cmovl r9, rax
mov r10, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180008857
cmp byte [r9 + 0x19], 0
jne 0x18000888a
mov rcx, qword [r9]
cmp byte [rcx + 0x19], 0
jne 0x1800088a7
cmp edx, dword [rcx + 0x1c]
jge 0x18000889d
mov r9, rcx
mov rcx, qword [rcx]
jmp 0x1800088a1
mov rcx, qword [rcx + 0x10]
cmp byte [rcx + 0x19], 0
je 0x180008890
mov rax, r10
cmp r10, r9
je 0x180008904
nop
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1800088dc
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1800088d7
cmp rax, qword [rcx + 0x10]
jne 0x1800088d7
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1800088c4
mov rax, rcx
jmp 0x1800088ff
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1800088ff
nop dword [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1800088f0
cmp rax, r9
jne 0x1800088b0
mov r8, r10
lea rdx, [rbp + 0xa0]
mov rcx, r11
call fcn.18000a670
nop
mov rcx, rbx
call fcn.18002889c
test eax, eax
je 0x18000892b
mov ecx, eax
call fcn.180028ce0
nop
mov rbx, qword [rbp + 0xb8]
lea rsp, [rbp + 0x60]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18004df84
int3
call fcn.18002847c
int3