Function at 0x414123
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9cc
lea ecx, [ebp - 0x60]
push ebx
push esi
push edi
call fcn.004020bf
lea ecx, [ebp - 0x114]
call fcn.00419ff5
lea ecx, [ebp - 0x5dc]
call fcn.004020bf
mov edi, 0x473290
push 0x29
mov ecx, edi
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push eax
call fcn.00439f21
pop ecx
test eax, eax
je 0x41417a
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 0x18
mov ecx, esp
push 0x46a630
call fcn.00402073
push 0
mov ecx, edi
call fcn.00401e45
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020d6
lea ecx, [ebp - 0x48]
call fcn.0041a4e9
add esp, 0x30
xor ebx, ebx
call fcn.0040487e
push 0x3a
mov ecx, edi
call fcn.00401e45
mov edx, 0x464074
mov ecx, eax
call fcn.0041053b
test al, al
je 0x41423a
push 0x3a
mov ecx, edi
call fcn.00401e45
mov ecx, eax
call fcn.0040245c
push eax
push 0x3a
mov ecx, edi
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push eax
push 0x39
mov ecx, edi
call fcn.00401e45
mov ecx, eax
call fcn.0040245c
push eax
push 0x39
mov ecx, edi
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push eax
push 0x38
mov ecx, edi
call fcn.00401e45
mov ecx, eax
call fcn.0040245c
push 0x38
mov ecx, edi
mov esi, eax
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
mov edx, esi
mov ecx, eax
call fcn.0040471d
add esp, 0x10
sub esp, 0x18
mov byte [0x473511], 1
mov ecx, esp
push 0x46a634
call fcn.00402073
push ebx
lea ecx, [ebp - 0x48]
call fcn.00401e45
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020d6
lea ecx, [ebp - 0xc]
call fcn.0041a4e9
add esp, 0x30
lea ecx, [ebp - 0xc]
push 1
call fcn.00401e45
push eax
push 0x46a634
push 0
lea ecx, [ebp - 0xc]
call fcn.00401e45
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.00406292
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00402ef0
pop ecx
push eax
mov ecx, 0x473514
call fcn.00401fc2
lea ecx, [ebp - 0x24]
call fcn.00401fb8
lea ecx, [ebp - 0x3c]
call fcn.00401fb8
push 2
lea ecx, [ebp - 0xc]
call fcn.00401e45
mov edx, 0x4640ec
mov ecx, eax
call fcn.00405ae5
lea ecx, [ebp - 0x60]
test al, al
je 0x4142e5
mov byte [0x470ae4], 0
push str.TLS_Off
jmp 0x4142f1
mov byte [0x470ae4], 1
push str.TLS_On
call fcn.00405a86
sub esp, 0x18
lea eax, [ebp - 0x60]
mov esi, esp
lea ecx, [ebp - 0x3c]
mov edx, str.Connecting__
push 0x473514
push 0x46a648
push eax
call fcn.004052fe
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00408832
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402ef0
sub esp, 0x14
mov ecx, esp
push 0x463f74
call fcn.00402073
call fcn.00419c31
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fb8
lea ecx, [ebp - 0x3c]
call fcn.00401fb8
push ecx
push ecx
push 1
lea ecx, [ebp - 0xc]
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push 0
lea ecx, [ebp - 0xc]
mov esi, eax
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
mov edx, esi
mov ecx, eax
call fcn.004140e2
test eax, eax
je 0x4143ce
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.0041afcd
sub esp, 0x18
mov edx, str.Connection_Error:
mov ecx, esp
push eax
call fcn.004052dd
sub esp, 0x14
mov ecx, esp
push 0x463ed8
call fcn.00402073
call fcn.00419c31
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fb8
mov esi, 0x4734e0
jmp 0x414c36
mov esi, 0x4734e0
mov ecx, esi
call fcn.0040480d
test al, al
jne 0x414409
sub esp, 0x18
mov ecx, esp
push str.Connection_Error:_Unable_to_create_socket
call fcn.00402073
sub esp, 0x18
mov ecx, esp
push 0x463ed8
call fcn.00402073
call fcn.00419c31
add esp, 0x30
jmp 0x414c36
push 0
push 0x3c
mov ecx, esi
call fcn.00404f31
push ecx
mov ecx, esi
call fcn.004048a8
test al, al
je 0x414c36
push 1
lea ecx, [ebp - 0xc]
call fcn.00401e45
sub esp, 0x18
lea ecx, [ebp - 0xc]
mov esi, esp
push eax
push 0x46a634
push 0
call fcn.00401e45
push eax
lea eax, [ebp - 0x60]
mov edx, str.Connected___
push 0x46a648
push eax
lea ecx, [ebp - 0xfc]
call fcn.004052fe
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00408832
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x78]
call fcn.00408832
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402ef0
sub esp, 0x14
mov ecx, esp
push 0x463f74
call fcn.00402073
call fcn.00419c31
add esp, 0x30
lea ecx, [ebp - 0x78]
call fcn.00401fb8
lea ecx, [ebp - 0xcc]
call fcn.00401fb8
lea ecx, [ebp - 0xe4]
call fcn.00401fb8
lea ecx, [ebp - 0xfc]
call fcn.00401fb8
mov byte [ebp - 0x9c], 0
lea edi, [ebp - 0x9b]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00419f22
push edx
push eax
lea eax, [ebp - 0x9c]
push str._I64u
push eax
call fcn.004137b6
add esp, 0x10
lea ecx, [ebp - 0x24]
push 0x473098
call fcn.004086d0
push 0xa
lea eax, [ebp - 0x84]
push eax
push dword [0x46f9d0]
call fcn.004402e1
add esp, 0xc
mov ecx, 0x473290
push 1
call fcn.00401e45
push eax
lea ecx, [ebp - 0xb4]
call fcn.004020d6
mov esi, 0x473278
mov ecx, esi
call fcn.0040245c
push eax
mov ecx, esi
call fcn.00401f8b
push eax
push 0x104
lea eax, [ebp - 0x9c8]
mov esi, 0x473230
push eax
push str.name
mov ecx, esi
call fcn.00401f8b
mov edx, eax
call fcn.00412892
add esp, 0x14
test al, al
je 0x41458b
lea eax, [ebp - 0x9c8]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00405a86
push ecx
push str.hlight
mov ecx, esi
call fcn.00401f8b
push eax
mov edx, closesocket
lea ecx, [ebp - 0x3c]
call fcn.00412740
mov eax, dword [0x470d58]
add esp, 0xc
xor edi, edi
test eax, eax
je 0x4145b9
call eax
movzx edi, ax
push 0x470b38
lea ecx, [ebp - 0x78]
call fcn.0040415e
sub esp, 0x18
lea eax, [ebp - 0x3c]
mov esi, esp
mov ecx, 0x472ec0
mov edx, 0x473218
push eax
push ecx
push 0x4732cc
push ecx
lea eax, [ebp - 0x114]
push eax
push ecx
lea ecx, [ebp - 0x5c4]
call fcn.0041a3ec
push eax
push 0x472ec0
movzx edx, di
lea ecx, [ebp - 0x5ac]
call fcn.0041a278
push eax
mov edi, 0x472ec0
lea ecx, [ebp - 0xc]
push edi
push 0x473260
push edi
push 0
call fcn.00401e45
push eax
push edi
lea eax, [ebp - 0x84]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
lea ecx, [ebp - 0x594]
call fcn.0041a278
push eax
push edi
call fcn.0041a228
mov edx, eax
lea ecx, [ebp - 0x57c]
call fcn.0041a278
push eax
movzx eax, byte [0x46f9d4]
lea ecx, [ebp - 0x564]
push edi
push eax
push edi
call fcn.0041a1d8
mov edx, eax
lea ecx, [ebp - 0x54c]
call fcn.0041a3ec
push eax
push edi
mov edx, 0x472d38
lea ecx, [ebp - 0x534]
call fcn.0041a3ec
push eax
push edi
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x51c]
call fcn.0041a3ec
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x504]
call fcn.0041a3ec
push eax
push edi
push str.4.3.0_Pro
push edi
lea eax, [ebp - 0x9c]
mov edx, 0x473610
push eax
push edi
lea ecx, [ebp - 0x4ec]
call fcn.0041a3ec
push eax
push edi
push 0x473948
push edi
lea ecx, [ebp - 0x4d4]
call fcn.0040ecb7
push eax
push edi
mov edx, 0x47329c
lea ecx, [ebp - 0x4bc]
call fcn.0041a3ec
push eax
push edi
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x4a4]
call fcn.00402f11
pop ecx
mov edx, eax
lea ecx, [ebp - 0x48c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x474]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x45c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x444]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x42c]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x414]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3fc]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3e4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3cc]
call fcn.00408832
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x39c]
call fcn.00408832
pop ecx
mov edx, eax
lea ecx, [ebp - 0x384]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x36c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x354]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x33c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x324]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x30c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2f4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2dc]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2c4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2ac]
call fcn.00408853
pop ecx
mov edx, eax
lea ecx, [ebp - 0x294]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x27c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x234]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x21c]
call fcn.00408832
pop ecx
mov edx, eax
lea ecx, [ebp - 0x204]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1ec]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1d4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1bc]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1a4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x18c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x174]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x15c]
call fcn.00402e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x12c]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0xfc]
call fcn.00402ef0
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402ef0
pop ecx
mov esi, 0x4734e0
push 0x4b
mov ecx, esi
call fcn.00404a81
lea ecx, [ebp - 0xfc]
call fcn.00401fb8
lea ecx, [ebp - 0xe4]
call fcn.00401fb8
lea ecx, [ebp - 0xcc]
call fcn.00401fb8
lea ecx, [ebp - 0x12c]
call fcn.00401fb8
lea ecx, [ebp - 0x144]
call fcn.00401fb8
lea ecx, [ebp - 0x15c]
call fcn.00401fb8
lea ecx, [ebp - 0x174]
call fcn.00401fb8
lea ecx, [ebp - 0x18c]
call fcn.00401fb8
lea ecx, [ebp - 0x1a4]
call fcn.00401fb8
lea ecx, [ebp - 0x1bc]
call fcn.00401fb8
lea ecx, [ebp - 0x1d4]
call fcn.00401fb8
lea ecx, [ebp - 0x1ec]
call fcn.00401fb8
lea ecx, [ebp - 0x204]
call fcn.00401fb8
lea ecx, [ebp - 0x21c]
call fcn.00401fb8
lea ecx, [ebp - 0x234]
call fcn.00401fb8
lea ecx, [ebp - 0x24c]
call fcn.00401fb8
lea ecx, [ebp - 0x264]
call fcn.00401fb8
lea ecx, [ebp - 0x27c]
call fcn.00401fb8
lea ecx, [ebp - 0x294]
call fcn.00401fb8
lea ecx, [ebp - 0x2ac]
call fcn.00401fb8
lea ecx, [ebp - 0x2c4]
call fcn.00401fb8
lea ecx, [ebp - 0x2dc]
call fcn.00401fb8
lea ecx, [ebp - 0x2f4]
call fcn.00401fb8
lea ecx, [ebp - 0x30c]
call fcn.00401fb8
lea ecx, [ebp - 0x324]
call fcn.00401fb8
lea ecx, [ebp - 0x33c]
call fcn.00401fb8
lea ecx, [ebp - 0x354]
call fcn.00401fb8
lea ecx, [ebp - 0x36c]
call fcn.00401fb8
lea ecx, [ebp - 0x384]
call fcn.00401fb8
lea ecx, [ebp - 0x39c]
call fcn.00401fb8
lea ecx, [ebp - 0x3b4]
call fcn.00401fb8
lea ecx, [ebp - 0x3cc]
call fcn.00401fb8
lea ecx, [ebp - 0x3e4]
call fcn.00401fb8
lea ecx, [ebp - 0x3fc]
call fcn.00401fb8
lea ecx, [ebp - 0x414]
call fcn.00401fb8
lea ecx, [ebp - 0x42c]
call fcn.00401fb8
lea ecx, [ebp - 0x444]
call fcn.00401fb8
lea ecx, [ebp - 0x45c]
call fcn.00401fb8
lea ecx, [ebp - 0x474]
call fcn.00401fb8
lea ecx, [ebp - 0x48c]
call fcn.00401fb8
lea ecx, [ebp - 0x4a4]
call fcn.00401fb8
lea ecx, [ebp - 0x4bc]
call fcn.00401fb8
lea ecx, [ebp - 0x4d4]
call fcn.00401fb8
lea ecx, [ebp - 0x4ec]
call fcn.00401fb8
lea ecx, [ebp - 0x504]
call fcn.00401fb8
lea ecx, [ebp - 0x51c]
call fcn.00401fb8
lea ecx, [ebp - 0x534]
call fcn.00401fb8
lea ecx, [ebp - 0x54c]
call fcn.00401fb8
lea ecx, [ebp - 0x564]
call fcn.00401ee9
lea ecx, [ebp - 0x57c]
call fcn.00401fb8
lea ecx, [ebp - 0x594]
call fcn.00401fb8
lea ecx, [ebp - 0x5ac]
call fcn.00401fb8
lea ecx, [ebp - 0x5c4]
call fcn.00401fb8
lea ecx, [ebp - 0x78]
call fcn.00401ee9
push 1
push 0x414c7d
mov ecx, esi
call fcn.00404bf0
mov eax, dword [0x470d5c]
test eax, eax
je 0x414bbd
cmp byte [0x470d4a], 0
je 0x414bbd
call eax
mov byte [0x470d4a], 0
cmp byte [0x473082], 0
je 0x414bd0
mov ecx, 0x473038
call fcn.0040a515
call fcn.00405a4b
sub esp, 0x18
mov ecx, esp
push str.Disconnected
call fcn.00402073
sub esp, 0x18
mov ecx, esp
push 0x464030
call fcn.00402073
call fcn.00419c31
add esp, 0x30
cmp byte [0x472acb], 0
je 0x414c16
xor eax, eax
push eax
push eax
push eax
push fcn.00419459
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x3c]
call fcn.00401fb8
lea ecx, [ebp - 0xb4]
call fcn.00401fb8
lea ecx, [ebp - 0x24]
call fcn.00401ee9
mov edi, 0x473290
mov ecx, esi
call fcn.00404e06
lea ecx, [ebp - 0x48]
inc ebx
call fcn.004021da
cmp ebx, eax
jb 0x414c70
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push eax
call fcn.00439f21
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00401e6d
jmp 0x41423a