Function at 0x407140
Capabilities:
Create thread
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x202c
call fcn.0040c3d0
mov eax, dword [0x413014]
xor eax, esp
mov dword [esp + 0x2028], eax
push ebx
push esi
push edi
mov edi, dword [0x414714]
mov ebx, ecx
test edi, edi
je 0x407395
cmp edi, 0xffffffff
je 0x407395
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push 0x2000
lea eax, [esp + 0x34]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], edx
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x24]
movsd qword [esp + 0x24], xmm0
push eax
call fcn.00409af0
mov esi, dword [0x414710]
mov eax, 0x431bde83
mul esi
mov ecx, 8
shr edx, 0x12
mov ax, dx
ror ax, cl
movzx eax, ax
push eax
imul eax, edx, 0x4240
sub esi, eax
ror si, cl
movzx eax, si
push eax
lea eax, [esp + 0x38]
push str.HDXT:_04X_04X
push eax
call fcn.00409230
lea esi, [esp + 0x40]
add esp, 0x10
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x407211
push 0
sub esi, ecx
lea eax, [esp + 0x34]
push esi
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, esi
jne 0x4072fd
push ecx
lea eax, [esp + 0x1c]
mov ecx, 0x414840
push eax
call fcn.004096c0
mov esi, eax
lea eax, [esp + 0x14]
push ecx
push eax
mov ecx, 0x414834
call fcn.004096c0
push dword [esi]
mov esi, dword [ebp + 0xc]
push dword [eax]
lea eax, [esp + 0x18]
push dword [0x414710]
push esi
push 0x40e62c
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x18
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0
lea eax, [esp + 0x14]
push eax
push 0x466
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp esi, 1
jne 0x4072d8
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push dword [ebx + 0x20]
push 0x401cd0
push 0
push 0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
push 0
push 0
push dword [ebx + 0x20]
push 0x401ac0
push 0
push 0
call edi
push eax
call esi
lea ecx, [esp + 0x10]
xor edi, edi
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2028]
xor ecx, esp
call fcn.0040b2ce
mov esp, ebp
pop ebp
ret 8
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
lea eax, [esp + 0x14]
push ecx
push eax
mov ecx, 0x414840
call fcn.004096c0
mov esi, eax
lea eax, [esp + 0x18]
push ecx
push eax
mov ecx, 0x414834
call fcn.004096c0
push dword [esi]
push dword [eax]
lea eax, [esp + 0x18]
push edi
push dword [ebp + 0xc]
push 0x40e668
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x18
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0
lea eax, [esp + 0x14]
push eax
push 0x466
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2028]
xor ecx, esp
call fcn.0040b2ce
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esp + 0x2034]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040b2ce
mov esp, ebp
pop ebp
ret 8