Function at 0x4d2da0
Capabilities:
Resolve dns
Send data
Send data on socket

Disassembly:
push rbp
sub rsp, 0x490
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x420], rcx
mov dword [rbp + 0x428], edx
mov eax, r8d
mov byte [rbp + 0x430], al
mov byte [rbp + 0x1f0], 4
mov byte [rbp + 0x1f1], 1
mov rax, qword [rbp + 0x420]
mov rax, qword [rax + 0x220]
mov rcx, rax
call sym.atoi
mov word [rbp + 0x402], ax
movzx eax, word [rbp + 0x402]
shr ax, 8
mov byte [rbp + 0x1f2], al
movzx eax, word [rbp + 0x402]
mov byte [rbp + 0x1f3], al
lea rax, [rbp + 0x1f0]
add rax, 8
lea rdx, str.CGMINER
mov rcx, rax
call sym.sprintf
mov rax, qword [rbp + 0x420]
mov rax, qword [rax + 0x240]
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_inet_addr]
call rax
mov dword [rbp + 0x40c], eax
mov eax, dword [rbp + 0x40c]
mov ecx, eax
mov rax, qword [sym.imp.WSOCK32.dll_ntohl]
call rax
mov dword [rbp + 0x40c], eax
cmp dword [rbp + 0x40c], 0xffffffff
je 0x4d2e75
mov byte [rbp + 0x430], 0
jmp 0x4d2f19
lea rax, [rbp - 0x50]
mov qword [rbp + 0x1e8], rax
lea rax, [rbp - 0x20]
mov r8d, 0x30
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp - 0x1c], 2
mov rax, qword [rbp + 0x420]
mov rax, qword [rax + 0x240]
lea rcx, [rbp + 0x1e8]
lea rdx, [rbp - 0x20]
mov r9, rcx
mov r8, rdx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
test eax, eax
jne 0x4d2f19
mov rax, qword [rbp + 0x1e8]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0x3f8], rax
mov rax, qword [rbp + 0x3f8]
mov eax, dword [rax + 4]
mov ecx, eax
mov rax, qword [sym.imp.WSOCK32.dll_ntohl]
call rax
mov dword [rbp + 0x40c], eax
mov byte [rbp + 0x430], 0
mov rax, qword [rbp + 0x1e8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
movzx eax, byte [rbp + 0x430]
xor eax, 1
test al, al
je 0x4d300c
cmp dword [rbp + 0x40c], 0xffffffff
jne 0x4d2fa7
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d2f5d
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d2f5d
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
jle 0x4d2f9d
mov rax, qword [rbp + 0x420]
mov rdx, qword [rax + 0x240]
lea rax, [rbp - 0x20]
mov r9, rdx
lea r8, str.Invalid_IP_address_specified_for_socks4_proxy:__s
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x20]
mov r8d, 0
mov rdx, rax
mov ecx, 1
call dbg._applog
mov eax, 0
jmp 0x4d31a6
mov eax, dword [rbp + 0x40c]
shr eax, 0x18
mov byte [rbp + 0x1f4], al
mov eax, dword [rbp + 0x40c]
shr eax, 0x10
mov byte [rbp + 0x1f5], al
mov eax, dword [rbp + 0x40c]
shr eax, 8
mov byte [rbp + 0x1f6], al
mov eax, dword [rbp + 0x40c]
mov byte [rbp + 0x1f7], al
mov eax, dword [rbp + 0x428]
cdqe
lea rdx, [rbp + 0x1f0]
mov r9d, 0
mov r8d, 0x10
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_send]
call rax
jmp 0x4d30ce
mov byte [rbp + 0x1f4], 0
mov byte [rbp + 0x1f5], 0
mov byte [rbp + 0x1f6], 0
mov byte [rbp + 0x1f7], 1
mov rax, qword [rbp + 0x420]
mov rax, qword [rax + 0x240]
mov rcx, rax
call sym.strlen
mov dword [rbp + 0x404], eax
cmp dword [rbp + 0x404], 0xff
jle 0x4d305a
mov dword [rbp + 0x404], 0xff
mov eax, dword [rbp + 0x404]
movsxd r8, eax
mov rax, qword [rbp + 0x420]
mov rax, qword [rax + 0x240]
lea rdx, [rbp + 0x1f0]
lea rcx, [rdx + 0x10]
mov rdx, rax
call sym.memcpy
add dword [rbp + 0x404], 0x10
mov eax, dword [rbp + 0x404]
lea edx, [rax + 1]
mov dword [rbp + 0x404], edx
cdqe
mov byte [rbp + rax + 0x1f0], 0
mov eax, dword [rbp + 0x428]
cdqe
mov ecx, dword [rbp + 0x404]
lea rdx, [rbp + 0x1f0]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_send]
call rax
mov eax, dword [rbp + 0x428]
mov ecx, eax
call dbg.recv_byte
test eax, eax
jne 0x4d30f5
mov eax, dword [rbp + 0x428]
mov ecx, eax
call dbg.recv_byte
cmp eax, 0x5a
je 0x4d3178
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4d311e
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4d311e
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
jle 0x4d3171
mov rax, qword [rbp + 0x420]
mov rdx, qword [rax + 0x250]
mov rax, qword [rbp + 0x420]
mov rcx, qword [rax + 0x248]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rdx
mov r9, rcx
lea r8, str.Bad_response_from__s:_s_SOCKS4_server
mov edx, 0x200
mov rcx, rax
call dbg.snprintf
lea rax, [rbp - 0x20]
mov r8d, 0
mov rdx, rax
mov ecx, 1
call dbg._applog
mov eax, 0
jmp 0x4d31a6
mov dword [rbp + 0x408], 0
jmp 0x4d3198
mov eax, dword [rbp + 0x428]
mov ecx, eax
call dbg.recv_byte
add dword [rbp + 0x408], 1
cmp dword [rbp + 0x408], 5
jle 0x4d3184
mov eax, 1
add rsp, 0x490
pop rbp
ret