Function at 0x1003b430
Capabilities:
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x24c8
call fcn.1011bf70
mov eax, dword [0x1018d0d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x24c4], eax
mov dword [ebp - 0x24bc], ecx
mov dword [ebp - 0x24c8], 0x10
mov dword [ebp - 0x24b8], ebx
push edi
mov edi, dword [ebp + 0xc]
test eax, eax
je 0x1003b6c7
cmp dword [ecx], 1
jl 0x1003b6c7
test edx, edx
je 0x1003b6c7
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003b492
sub ecx, esi
cmp ecx, 0x401
jae 0x1003b6c7
test edi, edi
je 0x1003b6c7
push edx
lea eax, [ebp - 0x24b4]
push eax
call fcn.1003b700
add esp, 8
test eax, eax
jns 0x1003b4d9
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1011a3e5
mov esp, ebp
pop ebp
ret
push 0x400
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x24b4]
push eax
call fcn.10039d70
mov esi, eax
add esp, 0xc
test esi, esi
jns 0x1003b504
mov esi, 0xfffffffe
jmp 0x1003b699
mov eax, 2
push edi
mov word [ebp - 0x414], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x35
mov dword [ebp - 0x410], eax
call dword [sym.imp.WS2_32.dll_htons]
push 0x11
push 2
push 2
mov word [ebp - 0x412], ax
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
mov dword [ebp - 0x24c0], ebx
cmp ebx, 0xffffffff
jne 0x1003b551
mov esi, 0xfffffffd
xor ebx, ebx
jmp 0x1003b699
push 0x10
lea eax, [ebp - 0x414]
push eax
push 0
push esi
lea eax, [ebp - 0x404]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x1003b57a
mov esi, 0xfffffffd
jmp 0x1003b68c
push 2
push ebx
call fcn.1003b7a0
add esp, 8
test eax, eax
jne 0x1003b591
lea esi, [eax - 4]
jmp 0x1003b68c
lea eax, [ebp - 0x24c8]
push eax
lea eax, [ebp - 0x414]
push eax
push 0
push 0x400
lea eax, [ebp - 0x404]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1003b5c5
mov esi, 0xfffffffb
jmp 0x1003b68c
lea eax, [ebp - 0x1464]
push eax
call fcn.1003a250
push esi
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x1464]
push eax
call fcn.10039ce0
mov esi, eax
add esp, 0x10
test esi, esi
jns 0x1003b5f8
mov esi, 0xfffffffa
jmp 0x1003b67d
mov ecx, dword [ebp - 0xc20]
xor edx, edx
test ecx, ecx
je 0x1003b67d
mov ebx, dword [ebp - 0x24c4]
lea ebx, [ebx]
mov edi, dword [ebp + edx*4 - 0x1020]
mov eax, dword [edi + 0x404]
dec eax
cmp eax, 0xb
ja case.0x1003b62a.3
movzx eax, byte [eax + 0x1003b6e8]
jmp dword [eax*4 + 0x1003b6dc]
mov ecx, dword [ebp - 0x24bc]
mov eax, dword [ebp - 0x24b8]
cmp eax, dword [ecx]
jge 0x1003b677
mov ecx, ebx
inc eax
mov dword [ebp - 0x24b8], eax
add ebx, 4
mov eax, dword [edi + 0x414]
xor esi, esi
mov dword [ecx], eax
mov eax, dword [edi + 0x410]
mov byte [eax + edi + 0x414], 0
mov ecx, dword [ebp - 0xc20]
jmp 0x1003b672
mov esi, 0xfffffff9
inc edx
cmp edx, ecx
jb 0x1003b610
mov ebx, dword [ebp - 0x24c0]
lea eax, [ebp - 0x1464]
push eax
call fcn.10039e00
add esp, 4
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
mov ebx, dword [ebp - 0x24b8]
lea eax, [ebp - 0x24b4]
push eax
call fcn.10039e00
add esp, 4
test esi, esi
jne 0x1003b6b4
mov eax, dword [ebp - 0x24bc]
mov dword [eax], ebx
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1011a3e5
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011a3e5
mov esp, ebp
pop ebp
ret