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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004f4f6
mov eax, dword fs:[0]
push eax
sub esp, 0xcc
push ebx
push esi
push edi
mov eax, dword [0x1007100c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x20], ebx
mov esi, dword [ebp + 8]
push esi
call fcn.100334f0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
test edx, edx
jg 0x10033842
jl 0x10033829
test eax, eax
jae 0x10033842
or eax, 0xffffffff
or edx, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp dword [esi + 0x14], 0x10
jb 0x1003384a
mov esi, dword [esi]
sub esp, 8
lea ecx, [ebp - 0xd8]
push 0x20
push esi
call fcn.1001b0c0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd8], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xdc], eax
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0xcc], 6
je 0x100338ad
or esi, 0xffffffff
or edi, esi
jmp 0x10033a04
xor esi, esi
mov ecx, 0x1000
mov eax, 8
sub eax, esi
cmp eax, 0x1000
push 0
cmovg eax, ecx
push eax
lea eax, [ebp - 0x18]
add eax, esi
push eax
push dword [ebx + 0x21c8]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
js 0x100338ea
add esi, eax
mov ecx, 0x1000
cmp esi, 8
jl 0x100338b4
jmp 0x100338ec
mov esi, eax
cmp esi, 8
je 0x100338fe
mov esi, 0xfffffffe
or edi, 0xffffffff
jmp 0x10033a04
push 0x10000
call fcn.1004968c
mov ebx, dword [ebp - 0x18]
add esp, 4
mov esi, dword [ebp - 0x14]
mov ecx, ebx
or ecx, esi
mov dword [ebp - 0x10], eax
mov byte [ebp + 0xb], 0
mov dword [ebp - 0x1c], esi
je 0x100339b4
test esi, esi
jg 0x10033937
jl 0x10033933
cmp ebx, 0x10000
jae 0x10033937
mov edi, ebx
jmp 0x1003393e
mov edi, 0x10000
xor esi, esi
push esi
push edi
push eax
lea ecx, [ebp - 0xd8]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x100339f7
xor esi, esi
test edi, edi
jle 0x10033996
mov eax, edi
mov ecx, 0x1000
sub eax, esi
cmp eax, 0x1000
push 0
cmovg eax, ecx
push eax
mov eax, dword [ebp - 0x10]
add eax, esi
push eax
mov eax, dword [ebp - 0x20]
push dword [eax + 0x21c8]
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
js 0x100339f7
add esi, eax
cmp esi, edi
jl 0x10033963
mov eax, esi
test eax, eax
js 0x100339f7
mov esi, dword [ebp - 0x1c]
cdq
sub ebx, eax
mov eax, ebx
sbb esi, edx
or eax, esi
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x10]
jne 0x10033925
mov bl, byte [ebp + 0xb]
push eax
call fcn.10049687
add esp, 4
lea ecx, [ebp - 0xc8]
call fcn.10009830
test eax, eax
jne 0x100339e9
push eax
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xd8]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
test bl, bl
je 0x100339fe
mov esi, 0xfffffffd
or edi, 0xffffffff
jmp 0x10033a04
mov eax, dword [ebp - 0x10]
mov bl, 1
jmp 0x100339b7
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.10008290
mov eax, esi
mov edx, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8