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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [ebp + 0xc]
push ebx
lea edx, [eax + 0xc03]
push esi
mov ecx, eax
push edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x34], edx
cmp eax, edx
ja case.0x100240a5.23063
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
xor edi, edi
lea ebx, [ebx]
mov edx, dword [ebp + 0x18]
cmp ecx, 0x2abd
ja 0x1002407b
je case.0x100240a5.23063
cmp ecx, 0x2a27
ja 0x10023f8c
je 0x10023f4e
lea eax, [ecx - 0x28fb]
cmp eax, 0xe1
ja case.0x100240a5.22839
movzx eax, byte [eax + 0x1002423c]
jmp dword [eax*4 + 0x10024228]
mov dword [ebx + 0x20], 2
jmp case.0x100240a5.22839
mov ecx, dword [ebx + 4]
mov edx, dword [esi + 0x40]
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], ecx
push ebx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], edx
push ecx
lea edx, [ebp - 0x20]
push edx
push 0x4ac5
mov dword [ebp - 0x20], 6
call fcn.1002d1b0
add esp, 0x14
test eax, eax
je 0x10023e39
mov edi, 0x3b3d
jmp 0x10023df0
mov eax, edi
sub eax, 0x3b3d
je 0x10023e16
sub eax, 0x56
je 0x10023e0d
sub eax, 0x56
jne 0x10023e2e
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp + 0xc], 0xfffffffd
jmp 0x10023e2e
mov eax, dword [ebp - 4]
push 0x5be
lea ecx, [ebp - 0x20]
push esi
push ecx
mov dword [ebp - 0x20], eax
call fcn.1000dea0
add esp, 0xc
add edi, 0x56
cmp edi, 0x3be9
jbe 0x10023df0
push esi
push ebx
xor edi, edi
lea edx, [ebp - 0x20]
push edx
push edi
lea eax, [ebp - 0x1c]
push eax
push edi
push edi
push edi
push 0x12ae
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], 7
call fcn.1006a6a0
add esp, 0x24
jmp case.0x100240a5.22839
mov ecx, dword [ebp - 4]
push edi
push 0x1ae4
lea edx, [ebp - 0x24]
push edx
push esi
push edi
mov dword [ebp - 0x24], ecx
call fcn.10063d80
mov ebx, eax
add esp, 0x14
cmp ebx, edi
jne 0x10023e94
push 0x6886
push edi
push edi
call fcn.1004c4c0
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push ebx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push 0x76da
lea edx, [ebp - 0x20]
mov dword [ebp - 0x1c], eax
push edx
lea eax, [ebp - 0x1c]
push eax
call fcn.10022e10
add esp, 0x14
cmp eax, edi
je case.0x100240a5.22839
mov edi, 0x3553
jmp 0x10023ed0
mov eax, edi
sub eax, 0x3553
je 0x10023eea
sub eax, 0x5f
jne 0x10023f16
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
xchg dword [ebx + 0x6a7c29b6], edx
add byte [edx], ch
push ebx
push 0x7d24
call fcn.1000c020
mov ecx, dword [ebp - 4]
push 0x5be
lea edx, [ebp - 0x20]
push esi
push edx
mov dword [ebp - 0x20], ecx
call fcn.1000dea0
add esp, 0x1c
add edi, 0x5f
cmp edi, 0x35b2
jbe 0x10023ed0
xor edi, edi
jmp case.0x100240a5.22839
push edi
push 0x2017
push edi
push edi
push esi
call fcn.1000a550
add esp, 0x14
mov dword [ebp - 4], eax
cmp eax, edi
jge case.0x100240a5.22839
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
mov dword [ebx + 0x28], edi
mov ecx, dword [eax]
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0x221a
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x1c]
push ecx
mov dword [ebp - 0x1c], edx
push esi
lea edx, [ebp - 0x18]
push edx
push eax
lea ecx, [ebp - 0x28]
push ecx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], edi
call fcn.10013ed0
add esp, 0x1c
jmp case.0x100240a5.22839
mov eax, ecx
sub eax, 0x2a5b
je 0x10024066
sub eax, 0x17
je 0x1002405b
sub eax, 0x34
jne case.0x100240a5.22839
mov edi, 0x36a3
mov eax, edi
sub eax, 0x36a3
je 0x10023fc4
sub eax, 0x17
je case.0x100240a5.23063
jmp 0x10023ff0
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
push 0x6848
lea ecx, [ebp + 0xc]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push esi
push eax
mov dword [ebp + 0xc], 1
call fcn.10016950
add esp, 0x14
mov dword [ebp + 0xc], eax
add edi, 0x17
cmp edi, 0x36ba
jbe 0x10023fb0
xor edi, edi
mov edx, dword [esi + 0xc]
cmp edx, dword [esi + 0x10]
jge 0x1002421f
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x28], eax
push edx
lea eax, [ebp - 0x1c]
push eax
push 0x5e8c
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], 6
call fcn.10005600
add esp, 0x10
cmp eax, edi
je 0x1002421f
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
push edi
sub ecx, eax
push ecx
lea edx, [eax + esi + 0x40]
mov eax, dword [esi + 8]
push edx
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 8], eax
jmp case.0x100240a5.22839
mov ecx, dword [ebp - 4]
mov dword [ebp + 0xc], ecx
jmp case.0x100240a5.22839
add dword [ebx - 0x54], esp
invalid
cmp ecx, 0x7491
ja 0x10024137
je 0x10023ffd
lea eax, [ecx - 0x5936]
cmp eax, 0xe1
ja case.0x100240a5.22839
movzx edx, byte [eax + 0x10024334]
jmp dword [edx*4 + 0x10024320]
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
push edi
push 0x1ae4
lea edx, [ebp - 0x30]
push edx
push esi
push edi
mov dword [ebp - 0x30], ecx
call fcn.10063d80
add esp, 0x14
mov dword [ebp - 0xc], eax
jmp case.0x100240a5.22839
xchg esi, eax
das
push es
outsd dx, dword [esi]
xor al, 0xc7
inc ebp
invalid
cmp dword [ebp - 0xc], edi
je 0x1002411d
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0xc]
push eax
push ecx
mov dword [ebp + 0xc], edx
lea edx, [ebp + 0xc]
push 0x1acf
push edx
call fcn.10052110
add esp, 0x10
mov dword [ebp - 0x10], edi
cmp dword [esi + 0x74], edi
jne 0x1002412c
lea eax, [esi + 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x10]
mov dword [ebp + 0xc], ecx
jmp case.0x100240a5.22839
mov eax, ecx
sub eax, 0x74dc
je 0x100241da
sub eax, 0x4b
je 0x1002418c
sub eax, 0x4b
jne case.0x100240a5.22839
mov edx, dword [ebp - 8]
mov ecx, 0x14f6
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x14f6
je 0x10024174
sub eax, 0x38
je case.0x100240a5.23063
jmp 0x1002417f
cwde
insb byte es:[edi], dx
adc dword [eax], esi
xchg esi, eax
add dword [esi + 0xc], edx
mov dword [ebp + 0xc], edx
add ecx, 0x38
cmp ecx, 0x152e
jbe 0x10024160
jmp 0x100241dd
cmp dword [ebp - 8], 0xffffffff
jne case.0x100240a5.22839
mov edi, 0x3682
mov eax, edi
sub eax, 0x3682
je 0x100241ab
sub eax, 0x4c
je 0x10023ede
jmp 0x100241cb
push 0
push 0
push 0x741d
push 0
push 0
push 0
push 0
call fcn.1003c0f0
add esp, 0x1c
cmp eax, 0x2733
je 0x1002421f
add edi, 0x4c
cmp edi, 0x36ce
jbe 0x10024197
xor edi, edi
jmp case.0x100240a5.22839
mov edx, dword [ebp - 8]
cmp edx, edi
je 0x10023f44
mov ecx, dword [ebp - 0x14]
add ecx, 0x4b
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x34]
jbe 0x10023d60
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret