Function at 0x10042eb0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x50], ecx
mov eax, dword [edi]
mov dword [ebp - 0x5c], eax
cmp dword [eax + 0x68], 0x100
jne 0x10042eff
lea ecx, [eax + 0x6c]
mov eax, dword [ecx + 4]
lea edx, [edi + 0x50]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [eax], edx
mov eax, 0x703e5
mov dword [ecx + 4], edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test byte [0x10059abe], 2
lea edx, [edi + 0x38]
mov ebx, dword [eax + 0x48]
lea esi, [edi + 0xb8]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], edx
mov eax, dword [ebx]
mov dword [ebp - 0x60], eax
je 0x10042f40
movzx eax, word [edi + 0x34]
push ecx
push ecx
push esi
push ecx
push eax
movzx eax, byte [edx]
push eax
push dword [edi + 0x30]
push ebx
call fcn.1003f2f0
mov ecx, dword [ebp - 0x50]
lea edx, [edi + 0x38]
add esp, 0x20
jmp 0x10042f43
mov dword [ebp - 0x54], edx
mov dword [ebp - 0xc], 0
test byte [ebx + 0x4c], 4
je 0x10042f60
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
jmp 0x10042f6a
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], 0x1c
lea eax, [edi + 0x3c]
xor esi, esi
mov dword [ebp - 0x1c], eax
lea ebx, [edi + 0x5c]
movzx eax, byte [edx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x50], esi
mov al, byte [eax + 0x4c]
and al, 4
cmp word [ecx], 2
jne 0x10043016
test al, al
jne 0x10042fc3
mov esi, ebx
mov dword [edi + 0x60], 0
mov dword [edi + 0x64], 0x13
mov dword [esi], 0x14
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x6c], eax
mov eax, dword [ecx + 4]
mov dword [edi + 0x68], eax
mov eax, 0x14
mov dword [ebp - 0x50], eax
jmp 0x10042fc5
mov eax, esi
add eax, 0x10
mov dword [ebp - 0x14], eax
test esi, esi
jne 0x10042fdd
mov esi, ebx
mov dword [esi + 4], 0
jmp 0x10043089
mov ecx, dword [esi]
mov eax, dword [ebp - 0x50]
add ecx, 3
and ecx, 0xfffffffc
add eax, 0x10
add ecx, 0xc
add eax, ebx
add ecx, esi
cmp ecx, eax
jbe 0x10043000
xor esi, esi
mov dword [esi + 4], esi
jmp 0x10043089
lfence
mov eax, dword [esi]
add eax, 3
and eax, 0xfffffffc
add esi, eax
mov dword [esi + 4], 0
jmp 0x10043089
test al, al
jne 0x10043048
mov esi, ebx
mov dword [esi + 4], 0x29
mov dword [esi + 8], 0x13
mov dword [esi], 0x20
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x1c], eax
mov eax, 0x20
movups xmm0, xmmword [ecx + 8]
mov dword [ebp - 0x50], eax
movups xmmword [esi + 0xc], xmm0
jmp 0x1004304a
mov eax, esi
add eax, 0x10
mov dword [ebp - 0x14], eax
test esi, esi
jne 0x10043058
mov esi, ebx
jmp 0x10043082
mov ecx, dword [esi]
mov eax, dword [ebp - 0x50]
add ecx, 3
and ecx, 0xfffffffc
add eax, 0x10
add ecx, 0xc
add eax, ebx
add ecx, esi
cmp ecx, eax
jbe 0x10043075
xor esi, esi
jmp 0x10043082
lfence
mov eax, dword [esi]
add eax, 3
and eax, 0xfffffffc
add esi, eax
mov dword [esi + 4], 0x29
mov dword [esi + 8], 0x32
mov dword [esi], 0x10
movzx eax, byte [edi + 0x36]
mov dword [esi + 0xc], eax
cmp word [edi + 0x34], 0
jbe 0x100430f2
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
add edx, 0x10
mov dword [ebp - 0x14], edx
add eax, edx
mov ecx, dword [esi]
add ecx, 3
and ecx, 0xfffffffc
add ecx, 0xc
add ecx, esi
cmp ecx, eax
jbe 0x100430c7
xor esi, esi
jmp 0x100430d4
lfence
mov eax, dword [esi]
add eax, 3
and eax, 0xfffffffc
add esi, eax
mov edx, dword [ebp - 0x54]
mov dword [esi + 4], 0x11
mov dword [esi + 8], 2
mov dword [esi], 0x10
movzx eax, word [edi + 0x34]
mov dword [esi + 0xc], eax
mov ebx, dword [ebp - 0x58]
mov al, byte [ebx + 0x4c]
test al, 3
jne 0x1004324f
test al, 0x20
je 0x1004324f
mov ebx, dword [edi]
mov ecx, dword [edi + 0x4c]
mov eax, dword [ebx + 0x48]
mov esi, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x3c], ecx
mov dword [edi + 0x58], eax
mov dword [ebp - 0x30], ecx
mov cl, byte [edx]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x38], 0xb8
mov dword [ebp - 0x34], 0x1c
mov dword [ebp - 0x2c], 0x58
mov dword [ebp - 0x28], eax
cmp cl, 1
je 0x1004316a
test byte [0x10059ab8], 4
je 0x10043168
push str.SendData__WsaBufferCount__1
push str.C:__w1_s_srcplatformdatapath_winuser.c
push 0x1299
call fcn.1003e120
mov eax, dword [ebp - 0x54]
add esp, 0xc
mov cl, byte [eax]
int 0x2c
xor al, al
mov byte [ebp - 0x49], al
test cl, cl
je 0x100431ec
nop dword [eax]
nop word [eax + eax]
movzx ecx, al
mov dword [ebp - 0x44], 0
mov edx, dword [edi + ecx*8 + 0x40]
sub edx, 0x10
push edx
push 0
push 0
mov eax, dword [edx + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + ecx*8 + 0x3c]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
mov dword [edx], 0x57494e5d
push eax
push 0
push 1
lea eax, [ebp - 0x48]
mov dword [edx + 0xc], edi
mov esi, dword [esi + 0x38]
mov ecx, esi
push eax
push dword [ebx + 0x60]
call dword [0x1004b298]
call esi
test eax, eax
je 0x10043201
inc dword [ebx + 0x68]
mov ecx, ebx
call fcn.100401a0
mov al, byte [ebp - 0x49]
mov ecx, dword [ebp - 0x54]
inc al
mov esi, dword [ebp - 0x58]
mov byte [ebp - 0x49], al
cmp al, byte [ecx]
jb 0x10043180
xor esi, esi
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test byte [0x10059abe], 4
mov esi, eax
je 0x10043228
push str.RIOSendEx
push esi
push dword [ebx + 0x48]
mov edx, 0x1004c660
call fcn.100048b0
add esp, 0xc
mov ecx, edi
call fcn.10042a70
test esi, esi
jle 0x100431ee
movzx esi, si
or esi, 0x80070000
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x5c]
lea eax, [edi + 8]
mov dword [edi + 0xc], 0
xorps xmm0, xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [eax], 0x8004
mov dword [eax + 4], eax
mov eax, 1
mov dword [edi + 4], 0x57494e57
movups xmmword [edi + 0x10], xmm0
mov dword [edi + 0x20], 0
lock xadd dword [ecx], eax
inc eax
cmp eax, 1
jg 0x100432b6
mov ecx, 0xe
int 0x29
mov ecx, dword [ebp - 0x5c]
test byte [ebx + 0x4c], 3
lea eax, [edi + 0x10]
push 0
push eax
lea eax, [ebp - 8]
jne 0x100432e1
mov esi, dword [ebp - 0x60]
push eax
push 0
lea eax, [ebp - 0x24]
mov esi, dword [esi + 0x20]
push eax
push dword [ecx + 0x4c]
mov ecx, esi
call dword [0x1004b298]
call esi
jmp 0x100432f5
push 0
push eax
movzx eax, byte [edx]
push eax
lea eax, [edi + 0x3c]
push eax
push dword [ecx + 0x4c]
call dword [sym.imp.WS2_32.dll_WSASend]
xor esi, esi
cmp eax, 0xffffffff
jne 0x10043332
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
cmp esi, 0x3e5
jne 0x1004331f
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100483f7
mov esp, ebp
pop ebp
ret
test esi, esi
jg 0x10043327
mov ebx, esi
jmp 0x10043334
movzx ebx, si
or ebx, 0x80070000
jmp 0x10043334
xor ebx, ebx
mov ecx, dword [ebp - 0x5c]
call fcn.10041050
mov edx, esi
mov ecx, edi
call fcn.10042e50
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100483f7
mov esp, ebp
pop ebp
ret