Function at 0x401870
Capabilities:
Get os information via kuser_shared_data
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x4204bc]
xorps xmm0, xmm0
push ebx
push esi
mov dword [ebp - 8], edx
mov esi, ecx
cdq
lea ecx, [ebp - 0x28]
push edi
mov edi, dword [sym.imp.WS2_32.dll_send]
xor ebx, ebx
movups xmmword [ebp - 0x38], xmm0
mov byte [ebp - 1], 8
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], ecx
push 0
mov eax, 0x10
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 0x10
jl 0x4018b6
push 0
call fcn.00409e71
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], eax
add esp, 4
mov dword [ebp - 0x14], edx
xor ebx, ebx
mov dword [ebp - 0xc], ecx
push 0
mov eax, 8
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 8
jl 0x4018f3
push 0x10
lea edx, [ebp - 0x28]
mov ecx, esi
call fcn.00402290
add esp, 4
cmp dword [ebp - 0x28], 0x22
jne 0x401aef
cmp dword [ebp - 0x24], 0
jne 0x401aef
mov ecx, 0x420438
xor ebx, ebx
mov dword [ebp - 0xc], ecx
push 0
mov eax, pe_nt_image_headers32
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 0x80
jl 0x401945
mov eax, dword [0x7ffe026c]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov eax, dword [0x7ffe0270]
mov dword [ebp - 0x34], eax
mov eax, dword [0x7ffe0260]
mov dword [ebp - 0x30], eax
mov eax, dword [0x7ffe0264]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], ecx
push 0
mov eax, 0x10
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 0x10
jl 0x401995
mov ecx, 0x4204c0
xor ebx, ebx
mov dword [ebp - 0xc], ecx
push 0
mov eax, 0x12
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 0x12
jl 0x4019c4
mov ecx, 0x4204d8
xor ebx, ebx
mov dword [ebp - 0xc], ecx
push 0
mov eax, 0x208
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 0x208
jl 0x4019f3
mov ecx, 0x420740
xor ebx, ebx
mov dword [ebp - 0xc], ecx
push 0
mov eax, 0x208
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 0x208
jl 0x401a25
mov ecx, 0x4206e0
xor ebx, ebx
mov dword [ebp - 0xc], ecx
push 0
mov eax, 0x60
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 0x60
jl 0x401a57
lea ecx, [ebp - 1]
xor ebx, ebx
mov dword [ebp - 0xc], ecx
push 0
mov eax, 1
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 0xc]
add ebx, eax
add ecx, eax
mov dword [ebp - 0xc], ecx
cmp ebx, 1
jl 0x401a84
movzx eax, byte [ebp - 1]
mov edx, str.gold
push eax
mov ecx, esi
call fcn.00402320
add esp, 4
test eax, eax
je 0x401afc
mov ecx, dword [ebp - 8]
xor ebx, ebx
push 0
mov eax, 0x20
sub eax, ebx
push eax
push ecx
push esi
call edi
test eax, eax
jle 0x401afc
mov ecx, dword [ebp - 8]
add ebx, eax
add ecx, eax
mov dword [ebp - 8], ecx
cmp ebx, 0x20
jl 0x401ac2
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.__S_OKAY_n
call fcn.00401830
add esp, 4
push 2
push esi
call dword [sym.imp.WS2_32.dll_shutdown]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret