Function at 0x140026870
Capabilities:
Resolve dns

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x200
mov qword [rsp + 0x1b8], 0xfffffffffffffffe
mov qword [rsp + 0x250], rbx
mov rax, qword [0x140127190]
xor rax, rsp
mov qword [rsp + 0x1f8], rax
mov r12, rdx
mov rsi, rcx
xor ebp, ebp
mov r15d, ebp
mov dword [rsp + 0x30], ebp
mov rax, qword [rdx + 8]
mov rbx, qword [rax]
mov qword [rax], rax
mov rax, qword [rdx + 8]
mov qword [rax + 8], rax
mov qword [rdx + 0x10], rbp
cmp rbx, qword [rdx + 8]
je 0x140026909
mov rdi, qword [rbx]
cmp qword [rbx + 0x30], 8
jb 0x1400268e7
mov rcx, qword [rbx + 0x18]
call fcn.1400c9d50
mov qword [rbx + 0x30], 7
mov qword [rbx + 0x28], rbp
mov word [rbx + 0x18], bp
mov rcx, rbx
call fcn.1400c9d50
mov rbx, rdi
cmp rdi, qword [r12 + 8]
jne 0x1400268d4
cmp qword [rsi + 0x20], 8
jb 0x140026916
mov rdi, qword [rsi + 8]
jmp 0x14002691a
lea rdi, [rsi + 8]
lea rcx, [0x140126530]
mov rax, qword [0x140126530]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
test rdi, rdi
je 0x14002696a
test rdi, 0xffffffffffff0000
jne 0x14002696a
movzx edi, di
xor edx, edx
mov ecx, edi
call fcn.140022230
test rax, rax
je 0x14002697c
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140022de0
mov rbx, qword [rsp + 0x20]
jmp 0x14002697c
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.140022f60
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov r14, rax
test rax, rax
jne 0x1400269ba
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
lea rdx, [rbx - 0x18]
or rcx, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x1400269b3
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov eax, edi
jmp 0x140026f8b
mov rax, qword [rax + 0x18]
xor edi, edi
mov r13, rdi
cmp qword [rax], rdi
je 0x140026f6c
mov rcx, rdi
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x168], rdx
lea rsi, [0x1400f09e0]
lea rbp, [0x1400f07d8]
nop
nop
movsx r8, word [r14 + 0x12]
mov rdx, qword [rcx + rax]
lea rcx, [rsp + 0x1c4]
call fcn.1400cb410
lea rcx, [0x140000000]
lea rax, [rcx + 0x124ce8]
mov qword [rsp + 0x60], rax
lea rax, [rcx + 0x124ce0]
mov qword [rsp + 0x70], rax
lea rax, [0x1400f06e0]
mov qword [rsp + 0xf8], rax
or r15d, 1
mov dword [rsp + 0x30], r15d
movsxd rax, dword [0x140124cec]
lea rcx, [0x1400f06c0]
mov qword [rsp + rax + 0x60], rcx
mov qword [rsp + 0x68], rdi
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0x60]
xor r8d, r8d
lea rdx, [rsp + 0x78]
call fcn.1400160e0
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06b0]
mov qword [rsp + rcx + 0x70], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06d0]
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], rsi
mov qword [rsp + 0x78], rbp
lea rcx, [rsp + 0x80]
call fcn.14009d220
nop
mov ecx, 8
call fcn.1400ca4e0
mov rsi, rax
test rax, rax
je 0x140026b0a
call fcn.14009ce10
mov qword [rsi], rax
call fcn.14009cbc0
mov rdi, rax
xor edx, edx
lea rcx, [rsp + 0x2c]
call fcn.14009cae0
mov rcx, qword [rdi + 8]
cmp rcx, 0xffffffffffffffff
jae 0x140026afc
add rcx, 1
mov qword [rdi + 8], rcx
lea rcx, [rsp + 0x2c]
call fcn.14009cb10
xor edi, edi
jmp 0x140026b0d
mov rsi, rdi
mov qword [rsp + 0xe0], rsi
lea rax, [rsp + 0x88]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xcc]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xb0], rdi
mov dword [rsp + 0xcc], edi
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0xa8], rdi
mov dword [rsp + 0xc8], edi
lea rax, [0x1400f0878]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xf0], edi
movzx ebp, byte [rsp + 0x1c7]
movzx esi, byte [rsp + 0x1c6]
movzx edi, byte [rsp + 0x1c5]
movzx edx, byte [rsp + 0x1c4]
lea rcx, [rsp + 0x70]
call fcn.1400189c0
mov rcx, rax
lea rdx, [0x1400f1a50]
call fcn.140018240
mov rcx, rax
mov edx, edi
call fcn.1400189c0
mov rcx, rax
lea rdx, [0x1400f1a50]
call fcn.140018240
mov rcx, rax
mov edx, esi
call fcn.1400189c0
mov rcx, rax
lea rdx, [0x1400f1a50]
call fcn.140018240
mov rcx, rax
mov edx, ebp
call fcn.1400189c0
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x60]
call fcn.140013ab0
nop
mov rdi, qword [r12 + 8]
lea r9, [rsp + 0x1d0]
mov r8, qword [rdi + 8]
mov rdx, rdi
mov rcx, r12
call fcn.140024d30
mov rdx, qword [r12 + 0x10]
movabs rcx, 0x666666666666666
sub rcx, rdx
cmp rcx, 1
jb 0x140026e85
lea rcx, [rdx + 1]
mov qword [r12 + 0x10], rcx
mov qword [rdi + 8], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rax
cmp qword [rsp + 0x1f0], 8
jb 0x140026caa
mov rcx, qword [rsp + 0x1d8]
call fcn.1400c9d50
mov qword [rsp + 0x1f0], 7
xor edi, edi
mov qword [rsp + 0x1e8], rdi
mov word [rsp + 0x1d8], di
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rsi, [0x1400f09e0]
mov qword [rsp + rcx + 0x60], rsi
lea rax, [rsp + 0x78]
mov qword [rsp + 0x170], rax
lea rax, [0x1400f0878]
mov qword [rsp + 0x78], rax
test byte [rsp + 0xf0], 1
je 0x140026d20
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax]
call fcn.1400c9d50
mov rax, qword [rsp + 0x98]
mov qword [rax], rdi
mov rax, qword [rsp + 0xb8]
mov qword [rax], rdi
mov rax, qword [rsp + 0xd0]
mov dword [rax], edi
mov rax, qword [rsp + 0xa0]
mov qword [rax], rdi
mov rax, qword [rsp + 0xc0]
mov qword [rax], rdi
mov rax, qword [rsp + 0xd8]
mov dword [rax], edi
mov qword [rsp + 0xe8], rdi
and dword [rsp + 0xf0], 0xfffffffe
lea rax, [0x1400f07d8]
mov qword [rsp + 0x78], rax
mov rbp, qword [rsp + 0xe0]
test rbp, rbp
je 0x140026df5
mov rdi, qword [rbp]
test rdi, rdi
je 0x140026deb
xor edx, edx
lea rcx, [rsp + 0x28]
call fcn.14009cae0
mov rax, qword [rdi + 8]
test rax, rax
je 0x140026db5
cmp rax, 0xffffffffffffffff
jae 0x140026db5
add rax, 0xffffffffffffffff
mov qword [rdi + 8], rax
xor esi, esi
cmp qword [rdi + 8], rsi
cmove rsi, rdi
lea rcx, [rsp + 0x28]
call fcn.14009cb10
test rsi, rsi
je 0x140026de4
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [rax]
lea rsi, [0x1400f09e0]
jmp 0x140026deb
lea rsi, [0x1400f09e0]
mov rcx, rbp
call fcn.1400c9d50
xor edi, edi
lea rcx, [rsp + 0x80]
call fcn.14009d250
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06d0]
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06b0]
mov qword [rsp + rcx + 0x70], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x1400f06c0]
mov qword [rsp + rcx + 0x60], rax
lea rax, [0x1400f06a0]
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0xf8]
call fcn.14009d110
add r13, 1
lea rcx, [r13*8]
mov rax, qword [r14 + 0x18]
cmp qword [rcx + rax], 0
lea rbp, [0x1400f07d8]
jne 0x1400269f0
jmp 0x140026f6c
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x40], 0
xor r8d, r8d
lea edx, [r8 + 0x10]
lea rcx, [rsp + 0x38]
call fcn.140001350
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
cmovae rcx, qword [rsp + 0x40]
mov r9d, reloc.WS2_32.dll_recv
lea r8, str.list_T__too_long
call fcn.1400c9e10
mov qword [rsp + 0x50], reloc.WS2_32.dll_recv
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rax, qword [rsp + 0x40]
mov byte [rax + 0x10], 0
lea rcx, [rsp + 0x178]
call fcn.1400ca220
nop
lea rax, [0x1400ef958]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x1b0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x1a8], 0
mov byte [rsp + 0x198], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x190]
call fcn.1400015a0
nop
lea rax, [0x1400ef998]
mov qword [rsp + 0x178], rax
lea rdx, [0x140121da0]
lea rcx, [rsp + 0x178]
call fcn.1400ca580
nop
lea rdx, [rbx - 0x18]
or rcx, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x140026f89
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
xor eax, eax
mov rcx, qword [rsp + 0x1f8]
xor rcx, rsp
call fcn.1400caf00
mov rbx, qword [rsp + 0x250]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret