Function at 0x4ae390
Capabilities:
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0xbc0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb30], 0xffffffffffffffff
mov qword [rbp + 0xb28], 0xffffffffffffffff
movabs rax, 0x2d72656e696d6763
mov qword [rbp + 0x9ef], rax
mov byte [rbp + 0x9f7], 0
mov rax, qword [0x00514980]
mov edx, dword [rax]
lea rax, [rbp + 0xa45]
mov r8d, edx
lea rdx, [0x004f9626]
mov rcx, rax
call sym.sprintf
lea rax, [rbp + 0xa00]
mov r8d, 0x30
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0xa04], 0
mov rax, qword [0x00514950]
mov rax, qword [rax]
lea r8, [rbp + 0x9f8]
lea rcx, [rbp + 0xa00]
lea rdx, [rbp + 0xa45]
mov r9, r8
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
test eax, eax
je 0x4ae484
lea rax, [rbp - 0x40]
lea r8, str.Invalid_API_Multicast_Address
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 1
mov rdx, rax
mov ecx, 0
call dbg._applog
mov ecx, 1
call dbg._quit
mov rax, qword [rbp + 0x9f8]
mov qword [rbp + 0xb10], rax
jmp 0x4ae4d7
mov rax, qword [rbp + 0x9f8]
mov eax, dword [rax + 4]
mov r8d, 0
mov edx, 2
mov ecx, eax
mov rax, qword [sym.imp.WSOCK32.dll_socket]
call rax
mov qword [rbp + 0xb30], rax
cmp qword [rbp + 0xb30], 0
jne 0x4ae4e3
mov rax, qword [rbp + 0xb10]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0xb10], rax
cmp qword [rbp + 0xb10], 0
jne 0x4ae494
jmp 0x4ae4e4
nop
cmp qword [rbp + 0xb30], 0xffffffffffffffff
jne 0x4ae53a
mov rax, qword [rbp + 0x9f8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
lea rax, [rbp - 0x40]
lea r8, str.API_mcast_could_not_open_socket
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 1
mov rdx, rax
mov ecx, 0
call dbg._applog
mov ecx, 1
call dbg._quit
mov dword [rbp + 0x1dc], 1
lea rdx, [rbp + 0x1dc]
mov rax, qword [rbp + 0xb30]
mov dword [rsp + 0x20], 4
mov r9, rdx
mov r8d, 4
mov edx, 0xffff
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_setsockopt]
call rax
cmp eax, 0xffffffff
jne 0x4ae5f1
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4ae5a6
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4ae5a6
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4af257
mov rbx, qword [str.___API_multicast_listener_will_not_be_available]
call dbg.WSAErrorMsg
mov rdx, rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rbx
mov r9, rdx
lea r8, str.API_mcast_setsockopt_SO_REUSEADDR_failed___s__s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
jmp 0x4af257
mov dword [rbp + 0xb1c], 0
mov ecx, 0
call sym.time_1
mov qword [rbp + 0xb00], rax
jmp 0x4ae67a
mov rax, qword [rbp + 0xb10]
mov rax, qword [rax + 0x10]
mov ecx, eax
mov rax, qword [rbp + 0xb10]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0xb30]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_bind]
call rax
cmp eax, 0xffffffff
jne 0x4ae670
call dbg.WSAErrorMsg
mov qword [rbp + 0xb38], rax
mov ecx, 0
call sym.time_1
sub rax, qword [rbp + 0xb00]
cmp rax, 0x3d
jg 0x4ae685
mov ecx, 0x7530
call dbg.cgsleep_ms
jmp 0x4ae67a
mov dword [rbp + 0xb1c], 1
cmp dword [rbp + 0xb1c], 0
je 0x4ae60e
jmp 0x4ae686
nop
cmp dword [rbp + 0xb1c], 0
jne 0x4ae718
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4ae6c0
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4ae6c0
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4af25a
mov rdx, qword [str.___API_multicast_listener_will_not_be_available]
mov rax, qword [0x00514980]
mov ecx, dword [rax]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xb38]
mov qword [rsp + 0x20], rdx
mov r9d, ecx
lea r8, str.API_mcast_bind_to_port__d_failed___s__s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
jmp 0x4af25a
mov rax, qword [rbp + 0xb10]
mov eax, dword [rax + 4]
cmp eax, 2
je 0x4ae735
cmp eax, 0x17
je 0x4ae81e
jmp 0x4ae8fd
lea rax, [rbp + 0x1d4]
mov r8d, 8
mov edx, 0
mov rcx, rax
call sym.memset
mov rax, qword [rbp + 0xb10]
mov rax, qword [rax + 0x20]
mov eax, dword [rax + 4]
mov dword [rbp + 0x1d4], eax
mov dword [rbp + 0x1d8], 0
lea rdx, [rbp + 0x1d4]
mov rax, qword [rbp + 0xb30]
mov dword [rsp + 0x20], 8
mov r9, rdx
mov r8d, 0xc
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_setsockopt]
call rax
cmp eax, 0xffffffff
jne 0x4ae8f9
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4ae7d3
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4ae7d3
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4af25d
mov rbx, qword [str.___API_multicast_listener_will_not_be_available]
call dbg.WSAErrorMsg
mov rdx, rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rbx
mov r9, rdx
lea r8, str.API_mcast_join_failed___s__s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
jmp 0x4af261
mov rax, qword [rbp + 0xb10]
mov rax, qword [rax + 0x20]
add rax, 8
mov rdx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1c8], rdx
mov dword [rbp + 0x1d0], 0
lea rdx, [rbp + 0x1c0]
mov rax, qword [rbp + 0xb30]
mov dword [rsp + 0x20], 0x14
mov r9, rdx
mov r8d, 0xc
mov edx, 0x29
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_setsockopt]
call rax
cmp eax, 0xffffffff
jne 0x4ae8fc
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4ae8ae
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4ae8ae
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4af260
mov rbx, qword [str.___API_multicast_listener_will_not_be_available]
call dbg.WSAErrorMsg
mov rdx, rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rbx
mov r9, rdx
lea r8, str.API_mcast_join_failed___s__s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
jmp 0x4af261
nop
jmp 0x4ae8fd
nop
mov rax, qword [rbp + 0x9f8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
mov rax, qword [0x00514960]
mov rax, qword [rax]
mov rcx, rax
call sym.strlen
add rax, 9
mov qword [rbp + 0xaf8], rax
mov rax, qword [rbp + 0xaf8]
add rax, 1
mov rcx, rax
call sym.malloc
mov qword [rbp + 0xaf0], rax
cmp qword [rbp + 0xaf0], 0
jne 0x4ae98a
lea rax, [rbp - 0x40]
lea r8, str.Failed_to_malloc_mcast_expect_code
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 1
mov rdx, rax
mov ecx, 0
call dbg._applog
mov ecx, 1
call dbg._quit
mov rax, qword [0x00514960]
mov rcx, qword [rax]
mov rax, qword [rbp + 0xaf8]
lea rdx, [rax + 1]
lea r8, [rbp + 0x9ef]
mov rax, qword [rbp + 0xaf0]
mov qword [rsp + 0x20], rcx
mov r9, r8
lea r8, str._s_s_
mov rcx, rax
call sym.snprintf_2
mov dword [rbp + 0xb18], 0
mov ecx, 0x3e8
call dbg.cgsleep_ms
add dword [rbp + 0xb18], 1
mov dword [rbp + 0xa5c], pe_nt_image_headers64
lea rdx, [rbp + 0x5e0]
mov rax, qword [rbp + 0xb30]
lea rcx, [rbp + 0xa5c]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0xa60]
mov qword [rsp + 0x20], rcx
mov r9d, 0
mov r8d, 0x3ff
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_recvfrom]
call rax
cdqe
mov qword [rbp + 0xb20], rax
mov rax, qword [rbp + 0xb20]
cmp eax, 0xffffffff
jne 0x4aead7
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4af23f
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4aea80
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4aea80
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4af23f
mov rax, qword [rbp + 0xb30]
mov ebx, eax
call dbg.WSAErrorMsg
mov rdx, rax
mov ecx, dword [rbp + 0xb18]
lea rax, [rbp - 0x40]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rdx
mov r9d, ecx
lea r8, str.API_mcast_failed_count_d___s____d_
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
jmp 0x4af23f
lea rcx, [rbp + 0xa4f]
lea rdx, [rbp + 0xa50]
lea rax, [rbp + 0xa60]
mov r8, rcx
mov rcx, rax
call dbg.check_connect
mov byte [rbp + 0xaef], al
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4aeb89
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4aeb35
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4aeb35
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4aeb89
cmp byte [rbp + 0xaef], 0
je 0x4aeb47
lea rax, str.Accepted
jmp 0x4aeb4e
lea rax, str.Ignored
mov rdx, qword [rbp + 0xa50]
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9, rdx
lea r8, str.API_mcast_from__s____s
mov edx, 0x200
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
movzx eax, byte [rbp + 0xaef]
xor eax, 1
test al, al
jne 0x4af245
lea rdx, [rbp + 0x5e0]
mov rax, qword [rbp + 0xb20]
add rax, rdx
mov byte [rax], 0
cmp qword [rbp + 0xb20], 0
jle 0x4aebec
mov rax, qword [rbp + 0xb20]
sub rax, 1
movzx eax, byte [rbp + rax + 0x5e0]
cmp al, 0xa
jne 0x4aebec
sub qword [rbp + 0xb20], 1
lea rdx, [rbp + 0x5e0]
mov rax, qword [rbp + 0xb20]
add rax, rdx
mov byte [rax], 0
mov edx, dword [rbp + 0xa5c]
lea rax, [rbp + 0xa60]
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0xa
lea rcx, [rbp + 0xa3b]
mov qword [rsp + 0x20], rcx
mov r9d, 0
mov r8d, 0
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getnameinfo]
call rax
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4aecc9
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4aec69
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4aec69
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4aecc9
mov rdx, qword [rbp + 0xa50]
mov rax, qword [rbp + 0xb20]
mov r8d, eax
lea rax, [rbp - 0x40]
lea rcx, [rbp + 0xa3b]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
lea rdx, [rbp + 0x5e0]
mov qword [rsp + 0x20], rdx
mov r9d, r8d
lea r8, str.API_mcast_request_rep_d___s__from___s_:_s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov rax, qword [rbp + 0xb20]
cmp qword [rbp + 0xaf8], rax
jae 0x4af1cb
mov rcx, qword [rbp + 0xaf8]
mov rdx, qword [rbp + 0xaf0]
lea rax, [rbp + 0x5e0]
mov r8, rcx
mov rcx, rax
call sym.memcmp
test eax, eax
jne 0x4af1cb
lea rdx, [rbp + 0x5e0]
mov rax, qword [rbp + 0xaf8]
add rax, rdx
mov rcx, rax
call sym.atoi
mov dword [rbp + 0xae8], eax
cmp dword [rbp + 0xae8], 0
jle 0x4aed3d
cmp dword [rbp + 0xae8], 0xffff
jle 0x4aedc5
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4af1c5
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4aed7d
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4aed7d
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4af1c5
lea rdx, [rbp + 0x5e0]
mov rax, qword [rbp + 0xaf8]
add rdx, rax
lea rax, [rbp - 0x40]
mov r9, rdx
lea r8, str.API_mcast_request_ignored___invalid_port___s_
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
jmp 0x4af1c5
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4aee4b
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4aedfd
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4aedfd
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4aee4b
lea rdx, [rbp + 0x5e0]
mov rax, qword [rbp + 0xaf8]
lea rcx, [rdx + rax]
lea rax, [rbp - 0x40]
mov edx, dword [rbp + 0xae8]
mov dword [rsp + 0x20], edx
mov r9, rcx
lea r8, str.API_mcast_request_OK_port__s_d
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
lea rdx, [rbp + 0x5e0]
mov rax, qword [rbp + 0xaf8]
add rdx, rax
mov rax, qword [rbp + 0xa50]
lea r8, [rbp + 0x9f8]
lea rcx, [rbp + 0xa00]
mov r9, r8
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getaddrinfo]
call rax
test eax, eax
je 0x4aeef2
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4aeeb4
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4aeeb4
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4af24b
mov rdx, qword [rbp + 0xa50]
lea rax, [rbp - 0x40]
mov r9, rdx
lea r8, str.Invalid_client_address__s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
jmp 0x4af24b
mov rax, qword [rbp + 0x9f8]
mov qword [rbp + 0xb08], rax
jmp 0x4aef45
mov rax, qword [rbp + 0x9f8]
mov eax, dword [rax + 4]
mov r8d, 0
mov edx, 2
mov ecx, eax
mov rax, qword [sym.imp.WSOCK32.dll_socket]
call rax
mov qword [rbp + 0xb28], rax
cmp qword [rbp + 0xb30], 0
jne 0x4aef51
mov rax, qword [rbp + 0xb08]
mov rax, qword [rax + 0x28]
mov qword [rbp + 0xb08], rax
cmp qword [rbp + 0xb08], 0
jne 0x4aef02
jmp 0x4aef52
nop
cmp qword [rbp + 0xb28], 0xffffffffffffffff
jne 0x4aefda
mov rax, qword [rbp + 0x9f8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4aef9c
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4aef9c
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
test eax, eax
js 0x4af251
mov rdx, qword [rbp + 0xa50]
lea rax, [rbp - 0x40]
mov r9, rdx
lea r8, str.API_mcast_could_not_open_socket_to_client__s
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 0
call dbg._applog
jmp 0x4af251
mov rax, qword [0x00514970]
mov rdx, qword [rax]
mov rax, qword [0x005149a0]
mov ecx, dword [rax]
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x20], rdx
mov r9d, ecx
lea r8, str.cgm_FTW__d__s
mov edx, 0x400
mov rcx, rax
call sym.snprintf_2
mov rax, qword [rbp + 0xb08]
mov rax, qword [rax + 0x10]
mov esi, eax
mov rax, qword [rbp + 0xb08]
mov rbx, qword [rax + 0x20]
lea rax, [rbp + 0x1e0]
mov rcx, rax
call sym.strlen
add eax, 1
mov ecx, eax
lea rdx, [rbp + 0x1e0]
mov rax, qword [rbp + 0xb28]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_sendto]
call rax
cdqe
mov qword [rbp + 0xb20], rax
mov rax, qword [rbp + 0x9f8]
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
call rax
mov rax, qword [rbp + 0xb20]
cmp eax, 0xffffffff
jne 0x4af120
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4af1ad
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4af0d4
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4af0d4
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4af1ad
mov rax, qword [rbp + 0xb28]
mov ebx, eax
call dbg.WSAErrorMsg
mov rdx, rax
lea rax, [rbp - 0x40]
mov dword [rsp + 0x20], ebx
mov r9, rdx
lea r8, str.API_mcast_send_reply_failed___s____d_
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
jmp 0x4af1ad
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4af1ad
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4af158
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4af158
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4af1ad
mov rax, qword [rbp + 0xb28]
mov r8d, eax
mov rax, qword [rbp + 0xb20]
mov ecx, eax
lea rdx, [rbp + 0x1e0]
lea rax, [rbp - 0x40]
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ecx
mov r9, rdx
lea r8, str.API_mcast_send_reply___s__succeeded___d____d_
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
mov rax, qword [rbp + 0xb28]
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_closesocket]
call rax
jmp 0x4af252
nop
jmp 0x4af252
mov rax, qword [0x005149e0]
movzx eax, byte [rax]
test al, al
je 0x4ae9ce
mov rax, qword [0x00514e80]
movzx eax, byte [rax]
test al, al
jne 0x4af20b
mov rax, qword [0x00514ac0]
movzx eax, byte [rax]
test al, al
jne 0x4af20b
mov rax, qword [0x00514ab0]
mov eax, dword [rax]
cmp eax, 3
jle 0x4ae9ce
lea rax, [rbp - 0x40]
lea r8, str.API_mcast_request_was_no_good
mov edx, 0x200
mov rcx, rax
call sym.snprintf_2
lea rax, [rbp - 0x40]
mov r8d, 0
mov rdx, rax
mov ecx, 4
call dbg._applog
jmp 0x4ae9ce
nop
jmp 0x4ae9ce
nop
jmp 0x4ae9ce
nop
jmp 0x4ae9ce
nop
jmp 0x4ae9ce
nop
jmp 0x4af261
nop
jmp 0x4af261
nop
jmp 0x4af261
nop
mov rax, qword [rbp + 0xb30]
mov rcx, rax
mov rax, qword [sym.imp.WSOCK32.dll_closesocket]
call rax
nop
add rsp, 0xbc0
pop rbx
pop rsi
pop rbp
ret