Function at 0x401210
Capabilities:
Create udp socket
Set socket configuration

Disassembly:
sub esp, 0x1d4
push esi
push edi
push str.Copyright__c__2008_2010_XJEC__All_Rights_Reserved._n
push 0x40a038
mov dword [esp + 0x10], 1
call fcn.00401df5
push 0
push 0x40a1d8
call fcn.00401d17
push 0
push 0x40a1f8
call fcn.00401d17
push 0x401530
push 2
call fcn.00401b8e
push 0xffff
call sub.dblib.dll_ConnectRTDB
add esp, 0x24
test al, al
jne 0x401284
push str.ConnectRTDB_ERROR__please_check_..._n
push 0x40a038
call fcn.00401df5
add esp, 8
mov eax, 1
pop edi
pop esi
add esp, 0x1d4
ret
mov edx, dword [0x40a128]
mov ecx, 0x70
xor eax, eax
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
mov eax, dword [str.Initializing_..._n]
mov ecx, dword [0x40a124]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
mov eax, dword [0x40a12c]
mov dword [esp + 0x28], ecx
mov cx, word [0x40a130]
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x20], 9
mov dword [esp + 0x34], eax
mov word [esp + 0x38], cx
call sub.dblib.dll_PostMsg
push 0x2b
call sub.dblib.dll_Subscribe_MSG
push 0x4a
call sub.dblib.dll_Subscribe_MSG
push 0
call sub.dblib.dll_Subscribe_MSG
push 0x51
call sub.dblib.dll_Subscribe_MSG
add esp, 0x14
call sub.util.dll_sockets_init
test al, al
jne 0x401310
call sub.util.dll_sockets_uninit
pop edi
mov eax, 1
pop esi
add esp, 0x1d4
ret
push str.sockets_init___success
push 0x40a038
call sub.dblib.dll_PutInfo
add esp, 8
push 0x11
push 2
push 2
call sub.WS2_32.dll_socket
cmp eax, 0xffffffff
mov dword [0x40a034], eax
jne 0x401352
push str.socket_faild__n
call fcn.00401df5
add esp, 4
mov eax, 1
pop edi
pop esi
add esp, 0x1d4
ret
push 0x7b
call sub.WS2_32.dll_htons
push 0
mov word [esp + 0x12], ax
mov word [esp + 0x10], 2
call sub.WS2_32.dll_htonl
mov ecx, dword [0x40a034]
mov dword [esp + 0x10], eax
lea eax, [esp + 8]
push 4
push eax
push 4
push 0xffff
push ecx
call sub.WS2_32.dll_setsockopt
mov eax, dword [0x40a034]
lea edx, [esp + 0xc]
push 0x10
push edx
push eax
call sub.WS2_32.dll_bind
cmp eax, 0xffffffff
jne 0x4013cb
push str.bind_failed_n
push 0x40a038
call sub.dblib.dll_PutInfo
push str.bind_faild__n
call fcn.00401df5
add esp, 0xc
mov eax, 1
pop edi
pop esi
add esp, 0x1d4
ret
push 0x40d484
push 0x40d488
push 0
push 0x401590
call sub.util.dll_gs_start_thread
add esp, 0x10
test eax, eax
je 0x401418
mov ecx, 0xa
mov esi, str._Process_sntp_gs_start_thread_failed___n
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1c]
push ecx
call sub.dblib.dll_PostMsg
add esp, 4
call sub.dblib.dll_DisConnectRTDB
pop edi
mov eax, 1
pop esi
add esp, 0x1d4
ret
push str.gs_start_thread_success_n
push 0x40a038
call sub.dblib.dll_PutInfo
push str.Enter_peek_loop_mode__press_Ctrl_c_to_exit_..._n
push 0x40a038
call sub.dblib.dll_PutInfo
push str.Enter_peek_loop_mode__press_Ctrl_c_to_exit_..._n
push 0x40a038
call fcn.00401df5
mov al, byte [0x40a030]
add esp, 0x18
test al, al
je 0x4014dd
mov esi, 0x52
push 1
call sub.util.dll_sMsSleep
mov ecx, 0x70
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
call fcn.00401540
lea edx, [esp + 0x20]
push edx
call sub.dblib.dll_PeekMsg
add esp, 8
test al, al
je 0x4014cb
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4014bf
cmp eax, 0x4a
je 0x4014b0
cmp eax, 0x51
jne 0x4014cb
cmp byte [esp + 0x20], 0xcb
jne 0x4014cb
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
push eax
call sub.dblib.dll_PostMsg
add esp, 4
jmp 0x4014cb
lea ecx, [esp + 0x1c]
push ecx
call fcn.00401050
add esp, 4
jmp 0x4014cb
mov al, byte [esp + 0x20]
cmp al, 0xcb
je 0x4014d6
cmp al, 0xff
je 0x4014d6
mov al, byte [0x40a030]
test al, al
je 0x4014dd
jmp 0x40145a
mov byte [0x40a030], 0
mov edx, dword [0x40a034]
mov byte [0x40d48c], 1
push edx
call sub.WS2_32.dll_closesocket
mov eax, dword [0x40d484]
mov ecx, dword [0x40d488]
push 0xfffffff
push eax
push ecx
call sub.util.dll_gs_wait_thread
mov edx, dword [0x40d488]
push edx
call sub.util.dll_gs_close_thread
add esp, 0x10
call sub.dblib.dll_DisConnectRTDB
pop edi
xor eax, eax
pop esi
add esp, 0x1d4
ret