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

Disassembly:
mov eax, 0x2124
call fcn.00404b30
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x213c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], 0xffffffff
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x2144]
lea ecx, [esp + 0x14]
push ecx
push edx
push eax
mov dword [esp + 0x20], esi
call fcn.00402bb0
add esp, 0xc
test eax, eax
je 0x40391a
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.00402e90
add esp, 8
test eax, eax
je 0x40391a
lea eax, [esp + 0x131]
push 0x40f490
push eax
mov byte [esp + 0x138], 1
call fcn.00404e06
lea edi, [esp + 0x139]
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x2138]
push 0
not ecx
push ecx
lea ecx, [esp + 0x138]
push ecx
push edx
call sub.WSOCK32.dll_send
cmp eax, 1
jge 0x4038f7
push 0
push 0x40f470
call fcn.004012c0
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x20]
push eax
call fcn.00402ff0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00402ff0
mov eax, dword [esp + 0x18]
xor ebp, ebp
add esp, 4
xor edx, edx
cmp eax, ebp
mov dword [esp + 0x28], eax
sete dl
test esi, edx
je 0x4039ae
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x131]
push eax
push 0x40f454
push ecx
mov byte [esp + 0x13c], 1
call fcn.00404e06
lea edi, [esp + 0x13d]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2138]
push ebp
not ecx
lea edx, [esp + 0x134]
push ecx
push edx
push eax
call sub.WSOCK32.dll_send
cmp eax, 1
jge 0x403998
push ebp
push 0x40f434
call fcn.004012c0
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret
lea ecx, [esp + 0x2c]
push 2
push ecx
call fcn.00405c9d
add esp, 8
test eax, eax
je 0x403a52
mov eax, dword [esp + 0x14]
mov ecx, dword [0x4102c8]
cmp eax, ebp
jne 0x4039d8
cmp ecx, 2
je 0x403a52
cmp eax, ebp
mov byte [esp + 0x130], 1
je 0x4039fd
cmp ecx, 2
jne 0x4039fd
lea edx, [esp + 0x2c]
lea eax, [esp + 0x131]
push edx
push 0x40f1b0
push eax
jmp 0x403a0f
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x131]
push ecx
push 0x40f194
push edx
call fcn.00404e06
lea edi, [esp + 0x13d]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
push ebp
push ecx
mov ecx, dword [esp + 0x2140]
lea eax, [esp + 0x138]
push eax
push ecx
call sub.WSOCK32.dll_send
cmp eax, 1
jge 0x403998
push ebp
push 0x40f414
jmp 0x403990
lea edx, [esp + 0x2c]
mov ebx, 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], ebx
push 0x40f3fc
call fcn.00401000
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, ebp
je 0x403aa7
mov esi, dword [esp + 0x2138]
push ebp
lea eax, [esp + 0x134]
push ebx
push eax
push esi
xor edi, edi
mov byte [esp + 0x140], 0
call sub.WSOCK32.dll_send
cmp eax, ebx
jl 0x403db4
jmp 0x403ab4
mov esi, dword [esp + 0x2138]
mov dword [esp + 0x18], ebx
mov edi, ebx
cmp dword [esp + 0x14], ebp
je 0x403ad0
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00405c17
add esp, 4
cmp eax, 0xffffffff
je 0x403dcd
lea edx, [esp + 0x130]
push 0x2000
push edx
push esi
call fcn.00402af0
add esp, 0xc
cmp eax, 0xffffffff
je 0x403e22
movsx eax, byte [esp + 0x130]
cmp eax, 0x54
ja case.0x403b08.5
xor ecx, ecx
mov cl, byte [eax + 0x404048]
jmp dword [ecx*4 + 0x404030]
cmp edi, ebp
jne 0x403b17
mov dword [esp + 0x18], ebp
cmp dword [esp + 0x24], ebp
je case.0x403b08.5
mov dword [esp + 0x24], ebp
jmp case.0x403b08.4
mov dword [esp + 0x10], 0x40efc0
mov dword [esp + 0x14], ebx
jmp case.0x403b08.4
lea edx, [esp + 0x130]
push 0x40f3f8
push edx
mov dword [esp + 0x1c], ebx
call fcn.00405d0d
push 0x40f3f8
push ebp
call fcn.00405d0d
push 0x40f3f8
push ebp
call fcn.00405d0d
mov edi, eax
push 0xa
push edi
call fcn.00405560
mov byte [eax], 0
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x4c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 2
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x50]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x54]
mov dword [esp + 0x38], ecx
call fcn.00405c9d
add esp, 0x28
test eax, eax
je case.0x403b08.4
mov eax, dword [0x4102c8]
cmp eax, 2
jne 0x403e3b
lea eax, [esp + 0x2c]
push eax
call fcn.00405ce1
add esp, 4
cmp eax, 0xffffffff
je 0x403e98
jmp case.0x403b08.4
cmp dword [esp + 0x28], ebp
je 0x403c44
lea ecx, [esp + 0x130]
push 0x40f3f8
push ecx
call fcn.00405d0d
push 0x40f3f8
push ebp
call fcn.00405d0d
push 0x40f3f8
push ebp
call fcn.00405d0d
mov edi, eax
push 0xa
push edi
call fcn.00405560
mov byte [eax], 0
or ecx, 0xffffffff
xor eax, eax
add esp, 0x20
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x2c]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x10]
push 0x80
push 0x8301
push esi
mov dword [esp + 0x20], ebp
call fcn.00405947
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
mov dword [esp + 0x1c], edi
je 0x403ef4
lea edx, [esp + 0x136]
mov dword [esp + 0x24], ebx
push edx
mov dword [esp + 0x1c], ebx
call fcn.00404ed5
mov ebx, eax
mov eax, dword [0x41007c]
add esp, 4
cmp eax, ebp
je 0x403ca7
mov eax, esi
push ebx
push eax
push 0x40f3d8
push 0x40f6c0
call fcn.00404854
add esp, 0x10
mov esi, dword [esp + 0x2138]
push ebp
lea ecx, [esp + 0x134]
push 1
push ecx
push esi
mov byte [esp + 0x140], 0
call sub.WSOCK32.dll_send
cmp eax, 1
jl 0x403f4c
test ebx, ebx
jne 0x403d15
lea edx, [esp + 0x130]
push 0x2000
push edx
push esi
call fcn.00402af0
add esp, 0xc
cmp eax, 0xffffffff
je 0x403f6b
mov al, byte [esp + 0x130]
test al, al
je 0x403d9f
push ebx
push 0x40f3b4
call fcn.004012c0
add esp, 8
jmp 0x403d9f
mov dword [esp + 0x18], 1
jmp 0x403d26
mov esi, dword [esp + 0x2138]
mov eax, ebx
mov edi, 0x2000
sub eax, ebp
cmp eax, 0x2000
ja 0x403d38
mov edi, eax
lea eax, [esp + 0x130]
push edi
push eax
push esi
call fcn.00403780
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x403f8b
cmp esi, edi
jge 0x403d5a
dec esi
mov eax, dword [0x41007c]
add ebp, esi
test eax, eax
je 0x403d79
push ebx
push ebp
push 0x40f394
push 0x40f6c0
call fcn.00404854
add esp, 0x10
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x130]
push esi
push ecx
push edx
call fcn.00409fcc
add esp, 0xc
cmp eax, esi
jne 0x403faf
cmp ebp, ebx
jne 0x403d1f
mov edi, dword [esp + 0x1c]
push edi
call fcn.0040561c
add esp, 4
xor ebp, ebp
mov ebx, 1
jmp case.0x403b08.4
push ebp
push 0x40f374
call fcn.004012c0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x131]
push eax
push 0x40f1b0
push ecx
mov byte [esp + 0x13c], 1
call fcn.00404e06
lea edi, [esp + 0x13d]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
push ebp
lea edx, [esp + 0x134]
push ecx
push edx
push esi
call sub.WSOCK32.dll_send
cmp eax, ebx
jge 0x403998
push ebp
push 0x40f354
jmp 0x403990
push ebp
push 0x40e9b4
call fcn.004012c0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x139]
push 0x40f32c
push ecx
mov byte [esp + 0x140], 1
call fcn.00404e06
lea edi, [esp + 0x141]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2138]
push ebp
not ecx
lea edx, [esp + 0x134]
push ecx
push edx
push eax
call sub.WSOCK32.dll_send
cmp eax, ebx
jge 0x403998
push ebp
push 0x40f30c
jmp 0x403990
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x131]
push ecx
push 0x40f2e8
push edx
mov byte [esp + 0x13c], 1
call fcn.00404e06
lea edi, [esp + 0x13d]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
push ebp
push ecx
mov ecx, dword [esp + 0x2140]
lea eax, [esp + 0x138]
push eax
push ecx
call sub.WSOCK32.dll_send
cmp eax, ebx
jge 0x403998
push ebp
push 0x40f2c8
jmp 0x403990
push esi
lea edx, [esp + 0x135]
push 0x40f2ac
push edx
mov byte [esp + 0x13c], 1
call fcn.00404e06
lea edi, [esp + 0x13d]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
push ebp
push ecx
mov ecx, dword [esp + 0x2140]
lea eax, [esp + 0x138]
push eax
push ecx
call sub.WSOCK32.dll_send
cmp eax, ebx
jge 0x403998
push ebp
push 0x40f28c
jmp 0x403990
push ebp
push 0x40f26c
call fcn.004012c0
push edi
call fcn.0040561c
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret
push 0
push 0x40e9b4
call fcn.004012c0
push edi
call fcn.0040561c
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret
push 0
push 0x40e9b4
call fcn.004012c0
mov edx, dword [esp + 0x24]
push edx
call fcn.0040561c
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x131]
push eax
push 0x40f24c
push ecx
mov byte [esp + 0x13c], 1
call fcn.00404e06
lea edi, [esp + 0x13d]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x2138]
push 0
not ecx
lea edx, [esp + 0x134]
push ecx
push edx
push eax
call sub.WSOCK32.dll_send
cmp eax, 1
jge 0x40400d
push 0
push 0x40f230
call fcn.004012c0
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.0040561c
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2124
ret