Function at 0x527bb8
Capabilities:
Resolve dns

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x30
xor eax, eax
cmp eax, dword [rbp + 0x20]
jae 0x527e92
mov rbx, qword [rbp + 0x18]
movzx eax, byte [rbx + rax]
cmp eax, 0x30
jb 0x527cea
xor eax, eax
cmp eax, dword [rbp + 0x20]
jae 0x527e92
mov rbx, qword [rbp + 0x18]
movzx eax, byte [rbx + rax]
cmp eax, 0x39
ja 0x527cea
sub rsp, 0x18
push qword [rbp + 0x18]
mov rcx, qword [rsp]
call qword [sym.imp.ws2_32.dll_inet_addr]
add rsp, 0x20
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
je 0x527ce5
cmp dword [rbp - 4], 0xffffffff
je 0x527ce5
mov r8d, 0x14
mov edx, 0xc
mov rcx, qword [section..bss]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_HeapAlloc]
add rsp, 0x20
mov dword [rax], 1
call fcn.006defae
mov dword [rax + 4], 0x40
mov rbx, qword [rbp + 0x10]
mov qword [rbx], rax
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lock inc dword [rax]
cmp dword [rax + 4], 0x40
jne 0x527e94
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
xor esi, esi
cmp esi, ebx
jae 0x527e94
shl esi, 4
mov rbx, qword [0x006fd91a]
mov edi, dword [0x006fd922]
mov qword [rax + rsi + 4], rbx
mov dword [rax + rsi + 0xc], edi
mov rax, qword [rbp - 0x10]
lock dec dword [rax]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lock inc dword [rax]
cmp dword [rax + 4], 0x40
jne 0x527e96
mov qword [rbp - 0x10], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
xor esi, esi
cmp esi, ebx
jae 0x527e96
shl esi, 4
mov ebx, dword [rbp - 4]
mov dword [rax + rsi + 0x10], ebx
mov rax, qword [rbp - 0x10]
lock dec dword [rax]
leave
ret 0x18
jmp 0x527e55
sub rsp, 0x18
push qword [rbp + 0x18]
mov rcx, qword [rsp]
call qword [sym.imp.ws2_32.dll_gethostbyname]
add rsp, 0x20
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
je 0x527e55
mov rax, qword [rbp - 0x10]
movsx eax, word [rax + 0x10]
cmp eax, 2
jne 0x527e55
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 0x18]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov dword [rbp - 4], 0
jmp 0x527d3f
inc dword [rbp - 4]
mov rax, qword [rbp - 0x20]
movsxd rbx, dword [rbp - 4]
cmp qword [rax + rbx*8], 0
jne 0x527d3c
mov eax, dword [rbp - 4]
mov dword [rbp - 0x24], eax
mov eax, dword [rbp - 0x24]
cmp eax, 0x8000000
jae 0x527e98
shl eax, 4
add eax, 4
mov r8d, eax
mov edx, 0xc
mov rcx, qword [section..bss]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_HeapAlloc]
add rsp, 0x20
mov ebx, dword [rbp - 0x24]
mov dword [rax], ebx
call fcn.006defae
mov dword [rax + 4], 0x40
mov rbx, qword [rbp + 0x10]
mov qword [rbx], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov dword [rbp - 4], 0
jmp 0x527e3e
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lock inc dword [rax]
cmp dword [rax + 4], 0x40
jne 0x527e9a
mov qword [rbp - 0x28], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
mov esi, dword [rbp - 4]
cmp esi, ebx
jae 0x527e9a
shl esi, 4
mov rbx, qword [0x006fd91a]
mov edi, dword [0x006fd922]
mov qword [rax + rsi + 4], rbx
mov dword [rax + rsi + 0xc], edi
mov rax, qword [rbp - 0x28]
lock dec dword [rax]
mov rax, qword [rbp + 0x10]
mov rax, qword [rax]
lock inc dword [rax]
cmp dword [rax + 4], 0x40
jne 0x527e9c
mov qword [rbp - 0x28], rax
mov rax, qword [rax + 8]
mov ebx, dword [rax]
mov esi, dword [rbp - 4]
cmp esi, ebx
jae 0x527e9c
shl esi, 4
mov rbx, qword [rbp - 0x20]
movsxd rdi, dword [rbp - 4]
mov rbx, qword [rbx + rdi*8]
mov edi, dword [rbx]
mov dword [rax + rsi + 0x10], edi
mov rax, qword [rbp - 0x28]
lock dec dword [rax]
inc dword [rbp - 4]
mov rax, qword [rbp - 0x20]
movsxd rbx, dword [rbp - 4]
cmp qword [rax + rbx*8], 0
jne 0x527db1
leave
ret 0x18
mov r8d, 4
mov edx, 0xc
mov rcx, qword [section..bss]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_HeapAlloc]
add rsp, 0x20
mov dword [rax], 0
call fcn.006defae
mov dword [rax + 4], 0x40
mov rbx, qword [rbp + 0x10]
mov qword [rbx], rax
leave
ret 0x18
int 5
int 5
int 5
int 5
int 5
int 5