Function at 0x425900
Capabilities:
Create thread
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x43e268]
xor eax, ebp
mov dword [ebp - 0x30], eax
push esi
mov eax, 1
mov ecx, dword [ebp + 8]
mov word [ecx + 0x18], ax
mov edx, 0x1e
mov eax, dword [ebp + 8]
mov word [eax + 0x1a], dx
push 4
mov ecx, dword [ebp + 8]
add ecx, 0x18
push ecx
push 0x80
push 0xffff
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
push 0
call fcn.0041a650
add esp, 4
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
lea ecx, [ebp - 8]
call fcn.004022c0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x24], 0
mov ecx, 0x461e60
call fcn.00401a00
mov esi, eax
imul esi, esi, 0x87
mov ecx, 0x461e60
call fcn.00401a00
mov ecx, dword [0x442030]
sub ecx, eax
imul ecx, ecx, 0x1a
lea edx, [esi + ecx + 0x800]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
push 1
call fcn.004091cb
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp + 8]
cmp dword [edx + 0x20], 0
jne 0x425a0b
push 0x437bd0
push 0x44bd18
call fcn.00407379
add esp, 8
push 0
push 0x44bd18
call fcn.0041b050
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp + 8]
push edx
call fcn.0040913d
add esp, 4
jmp 0x4262fa
call fcn.00409828
mov dword [eax], 0
push 0
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov edx, dword [ebp + 8]
mov dword [edx + 0x1c], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call fcn.00409828
mov dword [eax], esi
call fcn.00409828
cmp dword [eax], 0
je 0x425aba
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
push 0x43fd60
call fcn.004198c0
add esp, 8
push eax
call fcn.00409828
mov edx, dword [eax]
push edx
push str.Error__u_Receiving_HTTP_Message_from_Client__s
push 0x44bd18
call fcn.00407379
add esp, 0x10
push 1
push 0x44bd18
call fcn.0041b050
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.0040913d
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040913d
add esp, 4
jmp 0x4262fa
movzx edx, byte [0x44b43b]
cmp edx, 2
jl 0x425afc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
push 0x43fd60
call fcn.004198c0
add esp, 8
push eax
push str.HTTP_Request_Received_from_Client__s
push 0x44bd18
call fcn.00407379
add esp, 0xc
push 2
push 0x44bd18
call fcn.0041b050
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
mov eax, dword [ebp - 0x14]
lea ecx, [eax + edx - 0x200]
mov dword [ebp - 0x2c], ecx
lea edx, [ebp - 0x50]
push edx
call fcn.0041a690
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
push str._a___d__b__Y__H:_M:_S_GMT
push 0x100
push 0x43fd60
call fcn.0040abeb
add esp, 0x10
push 0x43fd60
push 0x43fd60
push str.HTTP_1.1_200_OK_r_nDate:__s_r_nLast_Modified:__s_r_nContent_Type:_text_html_r_nConnection:_Close_r_nContent_Length:__________r_n_r_n
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 0x10
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
push str._html__n_head__n_META_HTTP_EQUIV_Refresh__CONTENT_60___n_META_HTTP_EQUIV_Cache_Control__CONTENT_no_cache___n__head__n
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push 0x435e64
push str._body_bgcolor_cccccc___n_h2__s__h2__n
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str._table_border_1__width_600__bgcolor_b8b8b8___n
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str._tr__th_colspan_5___font_size_5___i_Active_Leases__i___font___th___tr__n
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str._tr__th_Mac_Address__th__th_IP__th__th_Lease_Expiry__th__th_Hostname__first_20_chars___th___tr__n
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x64]
push edx
mov ecx, 0x461e60
call fcn.00401730
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
jmp 0x425c0a
push 0
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 8]
call fcn.004022e0
lea ecx, [ebp - 0x74]
push ecx
mov ecx, 0x461e60
call fcn.004019d0
push eax
lea ecx, [ebp - 8]
call fcn.00402370
movzx edx, al
test edx, edx
je 0x425e8b
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jae 0x425e8b
lea ecx, [ebp - 8]
call fcn.00401880
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], 0
je 0x425e86
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x10]
shr eax, 7
and eax, 1
je 0x425e86
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0xc]
cmp eax, dword [ebp - 0x4c]
jl 0x425e86
jg 0x425c91
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 8]
cmp edx, dword [ebp - 0x50]
jb 0x425e86
push 0x437de4
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.00419550
add esp, 8
mov byte [ebp - 0x51], al
push 0x3a
movzx ecx, byte [ebp - 0x51]
push ecx
lea edx, [ebp - 0x40]
push edx
push 0x43fd60
call fcn.00419490
add esp, 0x10
push eax
push str._td__s__td_
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0x1c]
push edx
push 0x43fd60
call fcn.004198c0
add esp, 8
push eax
push str._td__s__td_
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x94]
cmp dword [edx + 0xc], 0
jl 0x425d5d
jg 0x425d3f
mov eax, dword [ebp - 0x94]
cmp dword [eax + 8], 0x7fffffff
jb 0x425d5d
push str.Infinity
push str._td__s__td_
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
jmp 0x425da6
mov edx, dword [ebp - 0x44]
add edx, 8
push edx
call fcn.0041a670
add esp, 4
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
push eax
push 0x437df8
push 0x100
push 0x43fd60
call fcn.0040abeb
add esp, 0x10
push 0x43fd60
push str._td__s__td_
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
push eax
push 0x43fd60
call fcn.004198c0
add esp, 8
push eax
movzx ecx, byte [0x461db8]
push ecx
call fcn.00422eb0
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x425e53
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x1c], 0
je 0x425e53
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.00409210
add esp, 4
cmp eax, 0x14
ja 0x425e18
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x1c]
push eax
push str._td__s__td_
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
jmp 0x425e51
push 0x14
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x1c]
push eax
push 0x43fd60
call fcn.00406dd0
add esp, 0xc
mov byte [0x43fd74], 0
push 0x43fd60
push str._td__s__td_
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
jmp 0x425e6f
push str.nbsp_
push str._td__s__td_
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push 0x437e0c
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
jmp 0x425bfc
push 0x437e18
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str._tr__th_colspan_5___font_size_5___i_Free_Dynamic_Leases__i___font___th___tr__n
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x25], 0
mov byte [ebp - 0x59], 0
jmp 0x425ecb
mov al, byte [ebp - 0x59]
add al, 1
mov byte [ebp - 0x59], al
movsx ecx, byte [ebp - 0x59]
cmp ecx, 0x20
jge 0x426016
movsx edx, byte [ebp - 0x59]
imul edx, edx, 0x1c
cmp dword [edx + 0x4463c8], 0
je 0x426016
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x2c]
jae 0x426016
mov dword [ebp - 0x10], 0
movsx ecx, byte [ebp - 0x59]
imul ecx, ecx, 0x1c
mov edx, dword [ecx + 0x4463c8]
mov dword [ebp - 0x1c], edx
jmp 0x425f23
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
movsx edx, byte [ebp - 0x59]
imul edx, edx, 0x1c
mov eax, dword [ebp - 0x1c]
cmp eax, dword [edx + 0x4463cc]
ja 0x426011
movsx ecx, byte [ebp - 0x59]
imul ecx, ecx, 0x1c
mov edx, dword [ecx + 0x4463d8]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + ecx*8 + 4]
cmp eax, dword [ebp - 0x4c]
jg 0x42600c
jl 0x425f88
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + ecx*8]
cmp eax, dword [ebp - 0x50]
jae 0x42600c
movzx ecx, byte [ebp - 0x25]
test ecx, ecx
jne 0x425fad
push 0x437ea8
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x25], 1
jmp 0x425fdc
movzx eax, byte [ebp - 0x25]
cmp eax, 5
jge 0x425fc1
mov cl, byte [ebp - 0x25]
add cl, 1
mov byte [ebp - 0x25], cl
jmp 0x425fdc
push 0x437eb0
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
push eax
push 0x43fd60
call fcn.004198c0
add esp, 8
push eax
push str._td__s__td_
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
jmp 0x425f11
jmp 0x425ec3
movzx edx, byte [ebp - 0x25]
test edx, edx
je 0x426035
push 0x437ebc
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str.__table__n_br__n_table_border_1__width_600__bgcolor_b8b8b8___n
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str._tr__th_colspan_5___font_size_5___i_Free_Static_Leases__i___font___th___tr__n
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str._tr__th_Mac_Address__th__th_IP__th__th_Mac_Address__th__th_IP__th___tr__n
mov eax, dword [ebp - 0x18]
push eax
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x25], 0
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, 0x461e60
call fcn.00401730
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
jmp 0x4260aa
push 0
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp - 8]
call fcn.004022e0
lea edx, [ebp - 0x8c]
push edx
mov ecx, 0x461e60
call fcn.004019d0
push eax
lea ecx, [ebp - 8]
call fcn.00402370
movzx eax, al
test eax, eax
je 0x426201
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0x2c]
jae 0x426201
lea ecx, [ebp - 8]
call fcn.00401880
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x44], edx
cmp dword [ebp - 0x44], 0
je 0x4261fc
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x10]
shr ecx, 1
and ecx, 1
je 0x4261fc
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [ebp - 0x4c]
jg 0x4261fc
jl 0x426133
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0x50]
jae 0x4261fc
movzx ecx, byte [ebp - 0x25]
test ecx, ecx
jne 0x426158
push str._tr_
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x25], 1
jmp 0x42618b
movzx eax, byte [ebp - 0x25]
cmp eax, 1
jne 0x426167
mov byte [ebp - 0x25], 2
jmp 0x42618b
movzx ecx, byte [ebp - 0x25]
cmp ecx, 2
jne 0x42618b
push str.__tr__n_tr_
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x25], 1
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x40]
push edx
call fcn.00419550
add esp, 8
mov byte [ebp - 0x5a], al
push 0x3a
movzx eax, byte [ebp - 0x5a]
push eax
lea ecx, [ebp - 0x40]
push ecx
push 0x43fd60
call fcn.00419490
add esp, 0x10
push eax
push str._td__s__td_
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x1c]
push ecx
push 0x43fd60
call fcn.004198c0
add esp, 8
push eax
push str._td__s__td_
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 0xc
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
jmp 0x426099
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x426220
push str.__tr__n
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
push str.__table__n__body__n__html_
mov edx, dword [ebp - 0x18]
push edx
call fcn.00407379
add esp, 8
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push eax
push 0x437fdc
push 0x43fd60
call fcn.00407379
add esp, 0xc
push eax
push 0x43fd60
mov ecx, dword [ebp - 0x20]
sub ecx, 0xc
push ecx
call fcn.00406dd0
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
sub eax, dword [edx + 0x20]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 8]
push edx
push 0
push 0x419fa0
call fcn.00409084
add esp, 0xc
test eax, eax
ja 0x4262fa
movzx eax, byte [0x44b43b]
test eax, eax
je 0x4262b7
push str.Thread_Creation_Failed
push 0x44bd18
call fcn.00407379
add esp, 8
push 1
push 0x44bd18
call fcn.0041b050
add esp, 8
push 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
push ecx
call fcn.0040913d
add esp, 4
mov edx, dword [ebp + 8]
push edx
call fcn.0040913d
add esp, 4
pop esi
mov ecx, dword [ebp - 0x30]
xor ecx, ebp
call fcn.00406dc0
mov esp, ebp
pop ebp
ret