Function at 0x413acf
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.004199c4
lea ecx, [ebp - 0x5dc]
call fcn.004020bf
mov edi, 0x471ffc
push 0x29
mov ecx, edi
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push eax
call fcn.004399c1
pop ecx
test eax, eax
je 0x413b26
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 0x18
mov ecx, esp
push 0x469390
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.00419ee1
add esp, 0x30
xor ebx, ebx
call fcn.0040487e
push 0x3a
mov ecx, edi
call fcn.00401e45
mov edx, 0x463064
mov ecx, eax
call fcn.0040fcfa
test al, al
je 0x413be6
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 [0x4724d9], 1
mov ecx, esp
push 0x469394
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.00419ee1
add esp, 0x30
lea ecx, [ebp - 0xc]
push 1
call fcn.00401e45
push eax
push 0x469394
push 0
lea ecx, [ebp - 0xc]
call fcn.00401e45
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.0040822a
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00402ef0
pop ecx
push eax
mov ecx, 0x4724dc
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, 0x4630d4
mov ecx, eax
call fcn.00405ae5
lea ecx, [ebp - 0x60]
test al, al
je 0x413c91
mov byte [0x46fad4], 0
push str.TLS_Off
jmp 0x413c9d
mov byte [0x46fad4], 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 0x4724dc
push 0x4693a8
push eax
call fcn.004052fe
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00408209
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402ef0
sub esp, 0x14
mov ecx, esp
push 0x462f64
call fcn.00402073
call fcn.0041960a
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.00413a8e
test eax, eax
je 0x413d7a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.0041a9c5
sub esp, 0x18
mov edx, str.Connection_Error:
mov ecx, esp
push eax
call fcn.004052dd
sub esp, 0x14
mov ecx, esp
push 0x462ec8
call fcn.00402073
call fcn.0041960a
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fb8
mov esi, 0x4724a8
jmp 0x4145e2
mov esi, 0x4724a8
mov ecx, esi
call fcn.0040480d
test al, al
jne 0x413db5
sub esp, 0x18
mov ecx, esp
push str.Connection_Error:_Unable_to_create_socket
call fcn.00402073
sub esp, 0x18
mov ecx, esp
push 0x462ec8
call fcn.00402073
call fcn.0041960a
add esp, 0x30
jmp 0x4145e2
push 0
push 0x3c
mov ecx, esi
call fcn.00404f31
push ecx
mov ecx, esi
call fcn.004048a8
test al, al
je 0x4145e2
push 1
lea ecx, [ebp - 0xc]
call fcn.00401e45
sub esp, 0x18
lea ecx, [ebp - 0xc]
mov esi, esp
push eax
push 0x469394
push 0
call fcn.00401e45
push eax
lea eax, [ebp - 0x60]
mov edx, str.Connected___
push 0x4693a8
push eax
lea ecx, [ebp - 0xfc]
call fcn.004052fe
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00408209
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x78]
call fcn.00408209
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402ef0
sub esp, 0x14
mov ecx, esp
push 0x462f64
call fcn.00402073
call fcn.0041960a
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.004198f1
push edx
push eax
lea eax, [ebp - 0x9c]
push str._I64u
push eax
call fcn.00413162
add esp, 0x10
lea ecx, [ebp - 0x24]
push 0x472068
call fcn.00408098
push 0xa
lea eax, [ebp - 0x84]
push eax
push dword [0x46e9c0]
call fcn.0043f51a
add esp, 0xc
mov ecx, 0x471ffc
push 1
call fcn.00401e45
push eax
lea ecx, [ebp - 0xb4]
call fcn.004020d6
mov esi, 0x472248
mov ecx, esi
call fcn.0040245c
push eax
mov ecx, esi
call fcn.00401f8b
push eax
push 0x104
lea eax, [ebp - 0x9c8]
mov esi, 0x472200
push eax
push str.name
mov ecx, esi
call fcn.00401f8b
mov edx, eax
call fcn.00412237
add esp, 0x14
test al, al
je 0x413f37
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, connect
lea ecx, [ebp - 0x3c]
call fcn.004120e0
mov eax, dword [0x46fd24]
add esp, 0xc
xor edi, edi
test eax, eax
je 0x413f65
call eax
movzx edi, ax
push 0x46fb08
lea ecx, [ebp - 0x78]
call fcn.0040415e
sub esp, 0x18
lea eax, [ebp - 0x3c]
mov esi, esp
mov ecx, 0x471e78
mov edx, 0x4721e8
push eax
push ecx
push 0x472290
push ecx
lea eax, [ebp - 0x114]
push eax
push ecx
lea ecx, [ebp - 0x5c4]
call fcn.00419de4
push eax
push 0x471e78
movzx edx, di
lea ecx, [ebp - 0x5ac]
call fcn.00419c70
push eax
mov edi, 0x471e78
lea ecx, [ebp - 0xc]
push edi
push 0x472230
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.00419c70
push eax
push edi
call fcn.00419c20
mov edx, eax
lea ecx, [ebp - 0x57c]
call fcn.00419c70
push eax
movzx eax, byte [0x46e9c4]
lea ecx, [ebp - 0x564]
push edi
push eax
push edi
call fcn.00419bd0
mov edx, eax
lea ecx, [ebp - 0x54c]
call fcn.00419de4
push eax
push edi
mov edx, 0x471cfc
lea ecx, [ebp - 0x534]
call fcn.00419de4
push eax
push edi
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x51c]
call fcn.00419de4
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x504]
call fcn.00419de4
push eax
push edi
push str.4.0.1_Pro
push edi
lea eax, [ebp - 0x9c]
mov edx, 0x4725d8
push eax
push edi
lea ecx, [ebp - 0x4ec]
call fcn.00419de4
push eax
push edi
push 0x472910
push edi
lea ecx, [ebp - 0x4d4]
call fcn.0040e40a
push eax
push edi
mov edx, 0x472260
lea ecx, [ebp - 0x4bc]
call fcn.00419de4
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.00408209
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b4]
call fcn.00402ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x39c]
call fcn.00408209
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.0040826c
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.00408209
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, 0x4724a8
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 0x414629
mov ecx, esi
call fcn.00404bf0
mov eax, dword [0x46fd28]
test eax, eax
je 0x414569
cmp byte [0x46fd16], 0
je 0x414569
call eax
mov byte [0x46fd16], 0
cmp byte [0x472052], 0
je 0x41457c
mov ecx, 0x472008
call fcn.00409f9a
call fcn.00405a4b
sub esp, 0x18
mov ecx, esp
push str.Disconnected
call fcn.00402073
sub esp, 0x18
mov ecx, esp
push 0x463020
call fcn.00402073
call fcn.0041960a
add esp, 0x30
cmp byte [0x471a8f], 0
je 0x4145c2
xor eax, eax
push eax
push eax
push eax
push fcn.00418dfd
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, 0x471ffc
mov ecx, esi
call fcn.00404e06
lea ecx, [ebp - 0x48]
inc ebx
call fcn.004021da
cmp ebx, eax
jb 0x41461c
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push eax
call fcn.004399c1
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00401e6d
jmp 0x413be6