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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov dword [ebp - 0x84], sym.___gxx_personality_sj0
mov dword [ebp - 0x80], 0x45da5c
lea eax, [ebp - 0x7c]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x40d6e3
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x9c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x40d651
mov dword [ebp - 0xa0], 1
jmp 0x40d885
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [edx + 0xa], al
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
sar eax, 8
mov byte [edx + 0xb], al
mov byte [ebp - 0x19], 1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
cmp byte [0x464200], 0
je 0x40d7b6
cmp byte [0x464201], 0
jne 0x40d798
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.004415c0
lea eax, [ebp - 0x58]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Error__Could_not_find_key.
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x98], 2
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const_
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x98], 1
call sym.addConsoleMessage_std::string_
jmp 0x40d72c
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov dword [ebp - 0x98], 2
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
jmp 0x40d77e
lea eax, [ebp - 0x58]
mov dword [esp], eax
call sym.std::allocator_char_::allocator__
mov dword [ebp - 0xa0], 0
jmp 0x40d885
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [ebp - 0x98], 0xffffffff
call method.NetworkMessage.XTEA_encrypt__
jmp 0x40d7bd
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x60], 0x3e8
lea eax, [ebp - 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov eax, dword [eax]
sub eax, edx
add eax, 2
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
mov dword [esp], eax
mov dword [ebp - 0x98], 0xffffffff
call method.int_const_std.min_int__int_const__int_const_
mov edx, eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
add eax, dword [ebp + 8]
add eax, dword [ebp - 0x2c]
add eax, 8
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.WSOCK32.DLL_send
sub esp, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jg 0x40d861
call sub.WSOCK32.DLL_WSAGetLastError
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x2733
jne 0x40d85b
mov dword [ebp - 0x5c], 0
mov dword [esp], 0xa
call sym.OTSYS_SLEEP_unsigned_int_
lea eax, [ebp - 0x28]
inc dword [eax]
cmp dword [ebp - 0x28], 0xa
jne 0x40d861
mov byte [ebp - 0x19], 0
jmp 0x40d87b
mov byte [ebp - 0x19], 0
jmp 0x40d87b
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x20]
add dword [eax], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add eax, 2
cmp eax, dword [ebp - 0x20]
jle 0x40d87b
jmp 0x40d7bd
movzx eax, byte [ebp - 0x19]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x9c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0xa0]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret