Function at 0x505e80
Capabilities:
Create thread
Send data
Send data on socket

Disassembly:
push 0xffffffffffffffff
push 0x5770d9
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0x34]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x44]
mov eax, dword [0x619728]
mov ecx, dword [0x61972c]
add eax, 0x258
mov edi, 0
adc ecx, edi
mov dword [0x617f10], eax
mov dword [0x617f14], ecx
mov esi, dword [ebp + 0x14]
cmp esi, edi
je 0x505eda
mov dword [esp + 0x44], esi
jmp 0x505ee3
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x44], edx
mov esi, edx
cmp esi, edi
je 0x5061ed
cmp byte [ebp + 6], 0
je 0x5061ed
mov eax, esi
call fcn.00506270
mov bl, al
test bl, bl
jl 0x505f54
mov eax, esi
mov cl, bl
call fcn.005062c0
movsx ecx, bl
lea edx, [ecx*8]
sub edx, ecx
mov ecx, dword [edx*4 + 0x600514]
mov eax, dword [ecx + eax*4]
cmp eax, edi
mov dword [ebp + 0x56c], eax
je 0x505f54
test byte [eax + 0x10], 1
jne 0x505f54
mov eax, dword [eax]
lea edx, [ebp + 0x504]
push edx
push eax
call dword [sym.imp.MSVCR80.dll__stricmp]
add esp, 8
test eax, eax
je 0x505f54
mov eax, dword [ebp + 0x56c]
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
lea edi, [ebp + 0x504]
push edi
mov dword [esp + 0x18], edi
call fcn.00507be0
add esp, 4
test eax, eax
mov dword [ebp + 0x56c], eax
je 0x505ff9
mov edx, dword [eax + 0x18]
cmp edx, esi
je 0x505ff9
test byte [eax + 0x10], 1
je 0x505fc6
cmp byte [0x617f25], 1
mov eax, esi
mov esi, 0x5e7b78
jne 0x505fa0
call fcn.00507470
push eax
push edi
push str.DHCP_Update_ignored_for__s___s__from_Secondary_Server
jmp 0x505fac
call fcn.00507470
push eax
push edi
push str.DHCP_Update_ignored_for__s___s__from_Primary_Server
push 0x5e7878
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x10
cmp byte [0x617f22], 1
jmp 0x5061c1
mov cl, byte [eax + 0x14]
test cl, cl
jl 0x505ff9
mov eax, edx
call fcn.005062c0
test eax, eax
jl 0x505ff9
mov ecx, dword [ebp + 0x56c]
movsx ecx, byte [ecx + 0x14]
lea edx, [ecx*8]
sub edx, ecx
mov ecx, dword [edx*4 + 0x600514]
mov dword [ecx + eax*4], 0
cmp dword [ebp + 0x56c], 0
jne 0x5060a2
test bl, bl
jl 0x5060a2
xor eax, eax
mov dword [0x5e753c], eax
mov dword [0x5e7544], eax
mov dword [0x5e755c], eax
mov dword [0x5e7540], eax
mov dword [0x5e7548], eax
mov dword [0x5e754c], eax
mov dword [0x5e7550], eax
mov dword [0x5e7554], eax
mov dword [0x5e7558], eax
lea edx, [ebp + 0x404]
mov eax, 0x5e753c
mov byte [0x5e755c], 1
mov dword [0x5e753c], edi
mov dword [0x5e7544], edx
call fcn.005098a0
test eax, eax
mov dword [ebp + 0x56c], eax
je 0x5060a2
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
lea ecx, [esp + 0x18]
mov dword [esp + 0x3c], 0
call fcn.00509f50
mov ecx, dword [ebp + 0x56c]
mov dword [eax], ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x3c], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov eax, dword [ebp + 0x56c]
test eax, eax
je 0x505f82
mov dword [eax + 0x18], esi
mov edx, dword [ebp + 0x56c]
mov byte [edx + 0x14], bl
mov eax, dword [ebp + 0x56c]
or dword [eax + 0x10], 4
mov eax, dword [ebp + 0x56c]
and dword [eax + 0x10], 0xfffffffd
mov ecx, dword [ebp]
mov eax, dword [ebp + 0xa84]
cmp eax, ecx
jbe 0x5060df
mov ecx, eax
mov esi, dword [ebp + 0x56c]
call fcn.00505b10
cmp byte [ebp + 0x404], 0
lea edi, [ebp + 0x404]
je 0x506144
mov eax, dword [ebp + 0x56c]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x50612a
push edi
push eax
call dword [sym.imp.MSVCR80.dll__stricmp]
add esp, 8
test eax, eax
je 0x50612a
mov ecx, dword [ebp + 0x56c]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
jmp 0x506136
mov edx, dword [ebp + 0x56c]
cmp dword [edx + 0x20], 0
jne 0x506144
call fcn.00507e00
mov ecx, dword [ebp + 0x56c]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp + 0x56c]
push edx
push 0
push 0x508f10
call dword [sym.imp.MSVCR80.dll__beginthread]
add esp, 0xc
cmp byte [0x617f25], 1
jne 0x50616b
mov eax, ebp
call fcn.00505a20
mov bl, 2
cmp byte [0x617f22], bl
jb 0x506256
cmp byte [0x617f25], 1
mov eax, dword [esp + 0x44]
mov esi, 0x5e7b78
jne 0x50619d
call fcn.00507470
push eax
mov eax, dword [esp + 0x18]
push eax
push str.DHCP_Update_received_for__s___s__from_Secondary_Server
jmp 0x5061ad
call fcn.00507470
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.DHCP_Update_received_for__s___s__from_Primary_Server
push 0x5e7878
call dword [sym.imp.MSVCR80.dll_sprintf]
add esp, 0x10
cmp byte [0x617f22], bl
jb 0x506256
push 0x5e7878
push 0x6180b8
call fcn.00435820
add esp, 8
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
cmp dword [ebp + 0xa88], edi
je 0x506200
mov dword [0x617f18], eax
mov dword [0x617f1c], ecx
cmp byte [0x617f25], 1
jne 0x506256
add ebp, 0x404
cmp byte [ebp], 0
je 0x50622e
mov edx, dword [0x5efffc]
push 3
push edi
push SysReAllocString
push edx
push ebp
push edi
call fcn.005037c0
add esp, 0x18
call dword [sym.imp.MSVCR80.dll__errno]
push 0x10
push 0x5e8f58
mov dword [eax], edi
mov eax, dword [0x5e8f54]
mov ecx, dword [0x5eff78]
push edi
push eax
push 0x5e8a0c
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret