Function at 0x414f2a
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa2c
lea ecx, [ebp - 0x60]
push ebx
push esi
push edi
call fcn.004020df
lea ecx, [ebp - 0x114]
call fcn.0041b8b3
lea ecx, [ebp - 0x63c]
call fcn.004020df
mov edi, 0x4750e4
push 0x29
mov ecx, edi
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
push eax
call fcn.0043baac
pop ecx
test eax, eax
je 0x414f81
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 0x18
mov ecx, esp
push 0x46c668
call fcn.00402093
push 0
mov ecx, edi
call fcn.00401e65
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020f6
lea ecx, [ebp - 0x48]
call fcn.0041be1b
add esp, 0x30
xor ebx, ebx
call fcn.0040489e
push 0x38
mov ecx, edi
call fcn.00401e65
mov edx, 0x4660a4
mov ecx, eax
call fcn.0040b9bd
test al, al
je 0x415041
push 0x38
mov ecx, edi
call fcn.00401e65
mov ecx, eax
call fcn.0040247c
push eax
push 0x38
mov ecx, edi
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
push eax
push 0x37
mov ecx, edi
call fcn.00401e65
mov ecx, eax
call fcn.0040247c
push eax
push 0x37
mov ecx, edi
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
push eax
push 0x36
mov ecx, edi
call fcn.00401e65
mov ecx, eax
call fcn.0040247c
push 0x36
mov ecx, edi
mov esi, eax
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
mov edx, esi
mov ecx, eax
call fcn.0040473d
add esp, 0x10
sub esp, 0x18
mov byte [0x4755c9], 1
mov ecx, esp
push 0x46c66c
call fcn.00402093
push ebx
lea ecx, [ebp - 0x48]
call fcn.00401e65
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020f6
lea ecx, [ebp - 0xc]
call fcn.0041be1b
add esp, 0x30
lea ecx, [ebp - 0xc]
push 1
call fcn.00401e65
push eax
push 0x46c66c
push 0
lea ecx, [ebp - 0xc]
call fcn.00401e65
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.00406c1e
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00402f10
pop ecx
push eax
mov ecx, 0x4755cc
call fcn.00401fe2
lea ecx, [ebp - 0x24]
call fcn.00401fd8
lea ecx, [ebp - 0x3c]
call fcn.00401fd8
push 2
lea ecx, [ebp - 0xc]
call fcn.00401e65
mov edx, 0x46611c
mov ecx, eax
call fcn.00405b05
lea ecx, [ebp - 0x60]
test al, al
je 0x4150ec
mov byte [0x472ae4], 0
push str.TLS_Off
jmp 0x4150f8
mov byte [0x472ae4], 1
push str.TLS_On
call fcn.00405aa6
sub esp, 0x18
lea eax, [ebp - 0x60]
mov esi, esp
lea ecx, [ebp - 0x3c]
mov edx, str.Connecting__
push 0x4755cc
push 0x46c680
push eax
call fcn.0040531e
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00406383
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f10
sub esp, 0x14
mov ecx, esp
push 0x465fa4
call fcn.00402093
call fcn.0041b4ef
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fd8
lea ecx, [ebp - 0x3c]
call fcn.00401fd8
push ecx
push ecx
push 1
lea ecx, [ebp - 0xc]
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
push 0
lea ecx, [ebp - 0xc]
mov esi, eax
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
mov edx, esi
mov ecx, eax
call fcn.00414ee9
test eax, eax
je 0x4151d5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.0041cae1
sub esp, 0x18
mov edx, str.Connection_Error:
mov ecx, esp
push eax
call fcn.004052fd
sub esp, 0x14
mov ecx, esp
push 0x465f08
call fcn.00402093
call fcn.0041b4ef
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fd8
mov esi, 0x475598
jmp 0x415aa3
mov esi, 0x475598
mov ecx, esi
call fcn.0040482d
test al, al
jne 0x415210
sub esp, 0x18
mov ecx, esp
push str.Connection_Error:_Unable_to_create_socket
call fcn.00402093
sub esp, 0x18
mov ecx, esp
push 0x465f08
call fcn.00402093
call fcn.0041b4ef
add esp, 0x30
jmp 0x415aa3
push 0
push 0x3c
mov ecx, esi
call fcn.00404f51
push ecx
mov ecx, esi
call fcn.004048c8
test al, al
je 0x415aa3
push 1
lea ecx, [ebp - 0xc]
call fcn.00401e65
sub esp, 0x18
lea ecx, [ebp - 0xc]
mov esi, esp
push eax
push 0x46c66c
push 0
call fcn.00401e65
push eax
lea eax, [ebp - 0x60]
mov edx, str.Connected___
push 0x46c680
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040531e
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00406383
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x78]
call fcn.00406383
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f10
sub esp, 0x14
mov ecx, esp
push 0x465fa4
call fcn.00402093
call fcn.0041b4ef
add esp, 0x30
lea ecx, [ebp - 0x78]
call fcn.00401fd8
lea ecx, [ebp - 0xcc]
call fcn.00401fd8
lea ecx, [ebp - 0xe4]
call fcn.00401fd8
lea ecx, [ebp - 0xfc]
call fcn.00401fd8
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.0041b7e0
push edx
push eax
lea eax, [ebp - 0x9c]
push str._I64u
push eax
call fcn.004145bd
add esp, 0x10
lea ecx, [ebp - 0x24]
push 0x475158
call fcn.0040905c
push 0xa
lea eax, [ebp - 0x84]
push eax
push dword [0x4719d0]
call fcn.00441e81
add esp, 0xc
mov ecx, 0x4750e4
push 1
call fcn.00401e65
push eax
lea ecx, [ebp - 0xb4]
call fcn.004020f6
mov esi, 0x475338
mov ecx, esi
call fcn.0040247c
push eax
mov ecx, esi
call fcn.00401fab
push eax
push 0x104
lea eax, [ebp - 0xa28]
mov esi, 0x4752f0
push eax
push str.name
mov ecx, esi
call fcn.00401fab
mov edx, eax
call fcn.004136f8
add esp, 0x14
test al, al
je 0x415392
lea eax, [ebp - 0xa28]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00405aa6
push ecx
push str.hlight
mov ecx, esi
call fcn.00401fab
push eax
mov edx, 0x80000001
lea ecx, [ebp - 0x3c]
call fcn.004135a6
mov eax, dword [0x472d58]
add esp, 0xc
xor edi, edi
test eax, eax
je 0x4153c0
call eax
movzx edi, ax
push 0x472b38
lea ecx, [ebp - 0x78]
call fcn.0040417e
call fcn.0040dd89
mov edx, eax
lea ecx, [ebp - 0x624]
call fcn.0041bc42
sub esp, 0x18
mov ecx, 0x474ee0
mov esi, esp
mov edx, 0x4752d8
push eax
push ecx
lea eax, [ebp - 0x3c]
push eax
push ecx
push 0x475380
push ecx
lea eax, [ebp - 0x114]
push eax
push ecx
lea ecx, [ebp - 0x60c]
call fcn.0041bd1e
push eax
push 0x474ee0
movzx edx, di
lea ecx, [ebp - 0x5f4]
call fcn.0041bb8e
push eax
mov edi, 0x474ee0
lea ecx, [ebp - 0xc]
push edi
push 0x475320
push edi
push 0
call fcn.00401e65
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 - 0x5dc]
call fcn.0041bb8e
push eax
push edi
call fcn.0041bae6
mov edx, eax
lea ecx, [ebp - 0x5c4]
call fcn.0041bb8e
mov edx, dword [0x47513c]
lea ecx, [ebp - 0x5ac]
push eax
push edi
call fcn.0041bb8e
push eax
push edi
lea ecx, [ebp - 0x594]
call fcn.0041ba96
mov edx, eax
lea ecx, [ebp - 0x57c]
call fcn.0041bd1e
push eax
push edi
mov edx, 0x474d64
lea ecx, [ebp - 0x564]
call fcn.0041bd1e
push eax
push edi
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x54c]
call fcn.0041bd1e
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x534]
call fcn.0041bd1e
push eax
push edi
push str.4.9.4_Pro
push edi
lea eax, [ebp - 0x9c]
mov edx, 0x4756c8
push eax
push edi
lea ecx, [ebp - 0x51c]
call fcn.0041bd1e
push eax
push edi
push 0x475a00
push edi
lea ecx, [ebp - 0x504]
call fcn.0040f8d1
push eax
push edi
mov edx, 0x475350
lea ecx, [ebp - 0x4ec]
call fcn.0041bd1e
push eax
push edi
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x4d4]
call fcn.00402f31
pop ecx
mov edx, eax
lea ecx, [ebp - 0x4bc]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x4a4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x48c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x474]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x45c]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x444]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x42c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x414]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3fc]
call fcn.00406383
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3e4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3cc]
call fcn.00406383
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x39c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x384]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x36c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x354]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x33c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x324]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x30c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2f4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2dc]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2c4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2ac]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x294]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x27c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24c]
call fcn.00406383
pop ecx
mov edx, eax
lea ecx, [ebp - 0x234]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x21c]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x204]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1ec]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1d4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1bc]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1a4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x18c]
call fcn.00402ea1
pop ecx
mov edx, eax
lea ecx, [ebp - 0x174]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x15c]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0x12c]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00402f10
pop ecx
mov edx, eax
lea ecx, [ebp - 0xfc]
call fcn.00402f10
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402ea1
pop ecx
mov esi, 0x475598
push 0x4b
mov ecx, esi
call fcn.00404aa1
lea ecx, [ebp - 0xfc]
call fcn.00401fd8
lea ecx, [ebp - 0xe4]
call fcn.00401fd8
lea ecx, [ebp - 0xcc]
call fcn.00401fd8
lea ecx, [ebp - 0x12c]
call fcn.00401fd8
lea ecx, [ebp - 0x144]
call fcn.00401fd8
lea ecx, [ebp - 0x15c]
call fcn.00401fd8
lea ecx, [ebp - 0x174]
call fcn.00401fd8
lea ecx, [ebp - 0x18c]
call fcn.00401fd8
lea ecx, [ebp - 0x1a4]
call fcn.00401fd8
lea ecx, [ebp - 0x1bc]
call fcn.00401fd8
lea ecx, [ebp - 0x1d4]
call fcn.00401fd8
lea ecx, [ebp - 0x1ec]
call fcn.00401fd8
lea ecx, [ebp - 0x204]
call fcn.00401fd8
lea ecx, [ebp - 0x21c]
call fcn.00401fd8
lea ecx, [ebp - 0x234]
call fcn.00401fd8
lea ecx, [ebp - 0x24c]
call fcn.00401fd8
lea ecx, [ebp - 0x264]
call fcn.00401fd8
lea ecx, [ebp - 0x27c]
call fcn.00401fd8
lea ecx, [ebp - 0x294]
call fcn.00401fd8
lea ecx, [ebp - 0x2ac]
call fcn.00401fd8
lea ecx, [ebp - 0x2c4]
call fcn.00401fd8
lea ecx, [ebp - 0x2dc]
call fcn.00401fd8
lea ecx, [ebp - 0x2f4]
call fcn.00401fd8
lea ecx, [ebp - 0x30c]
call fcn.00401fd8
lea ecx, [ebp - 0x324]
call fcn.00401fd8
lea ecx, [ebp - 0x33c]
call fcn.00401fd8
lea ecx, [ebp - 0x354]
call fcn.00401fd8
lea ecx, [ebp - 0x36c]
call fcn.00401fd8
lea ecx, [ebp - 0x384]
call fcn.00401fd8
lea ecx, [ebp - 0x39c]
call fcn.00401fd8
lea ecx, [ebp - 0x3b4]
call fcn.00401fd8
lea ecx, [ebp - 0x3cc]
call fcn.00401fd8
lea ecx, [ebp - 0x3e4]
call fcn.00401fd8
lea ecx, [ebp - 0x3fc]
call fcn.00401fd8
lea ecx, [ebp - 0x414]
call fcn.00401fd8
lea ecx, [ebp - 0x42c]
call fcn.00401fd8
lea ecx, [ebp - 0x444]
call fcn.00401fd8
lea ecx, [ebp - 0x45c]
call fcn.00401fd8
lea ecx, [ebp - 0x474]
call fcn.00401fd8
lea ecx, [ebp - 0x48c]
call fcn.00401fd8
lea ecx, [ebp - 0x4a4]
call fcn.00401fd8
lea ecx, [ebp - 0x4bc]
call fcn.00401fd8
lea ecx, [ebp - 0x4d4]
call fcn.00401fd8
lea ecx, [ebp - 0x4ec]
call fcn.00401fd8
lea ecx, [ebp - 0x504]
call fcn.00401fd8
lea ecx, [ebp - 0x51c]
call fcn.00401fd8
lea ecx, [ebp - 0x534]
call fcn.00401fd8
lea ecx, [ebp - 0x54c]
call fcn.00401fd8
lea ecx, [ebp - 0x564]
call fcn.00401fd8
lea ecx, [ebp - 0x57c]
call fcn.00401fd8
lea ecx, [ebp - 0x594]
call fcn.00401f09
lea ecx, [ebp - 0x5ac]
call fcn.00401fd8
lea ecx, [ebp - 0x5c4]
call fcn.00401fd8
lea ecx, [ebp - 0x5dc]
call fcn.00401fd8
lea ecx, [ebp - 0x5f4]
call fcn.00401fd8
lea ecx, [ebp - 0x60c]
call fcn.00401fd8
lea ecx, [ebp - 0x624]
call fcn.00401fd8
lea ecx, [ebp - 0x78]
call fcn.00401f09
push 1
push 0x415aea
mov ecx, esi
call fcn.00404c10
mov eax, dword [0x472d5c]
test eax, eax
je 0x415a2a
cmp byte [0x472d4a], 0
je 0x415a2a
call eax
mov byte [0x472d4a], 0
cmp byte [0x47513a], 0
je 0x415a3d
mov ecx, 0x4750f0
call fcn.0040b051
call fcn.00405a6b
sub esp, 0x18
mov ecx, esp
push str.Disconnected
call fcn.00402093
sub esp, 0x18
mov ecx, esp
push 0x466060
call fcn.00402093
call fcn.0041b4ef
add esp, 0x30
cmp byte [0x474ad3], 0
je 0x415a83
xor eax, eax
push eax
push eax
push eax
push fcn.0041ad17
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x3c]
call fcn.00401fd8
lea ecx, [ebp - 0xb4]
call fcn.00401fd8
lea ecx, [ebp - 0x24]
call fcn.00401f09
mov edi, 0x4750e4
mov ecx, esi
call fcn.00404e26
lea ecx, [ebp - 0x48]
inc ebx
call fcn.004021fa
cmp ebx, eax
jb 0x415add
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
push eax
call fcn.0043baac
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00401e8d
jmp 0x415041