Function at 0x413980
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.00419894
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.00439867
pop ecx
test eax, eax
je 0x4139d7
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.00419d87
add esp, 0x30
xor ebx, ebx
call fcn.0040487e
push 0x3a
mov ecx, edi
call fcn.00401e45
mov edx, 0x463050
mov ecx, eax
call fcn.0040fbab
test al, al
je 0x413a97
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.00419d87
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, 0x4630c0
mov ecx, eax
call fcn.00405ae5
lea ecx, [ebp - 0x60]
test al, al
je 0x413b42
mov byte [0x46fad4], 0
push str.TLS_Off
jmp 0x413b4e
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 0x462f54
call fcn.00402073
call fcn.004194da
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.0041393f
test eax, eax
je 0x413c2b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.0041a86b
sub esp, 0x18
mov edx, str.Connection_Error:
mov ecx, esp
push eax
call fcn.004052dd
sub esp, 0x14
mov ecx, esp
push 0x462eb8
call fcn.00402073
call fcn.004194da
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fb8
mov esi, 0x4724a8
jmp 0x414493
mov esi, 0x4724a8
mov ecx, esi
call fcn.0040480d
test al, al
jne 0x413c66
sub esp, 0x18
mov ecx, esp
push str.Connection_Error:_Unable_to_create_socket
call fcn.00402073
sub esp, 0x18
mov ecx, esp
push 0x462eb8
call fcn.00402073
call fcn.004194da
add esp, 0x30
jmp 0x414493
push 0
push 0x3c
mov ecx, esi
call fcn.00404f31
push ecx
mov ecx, esi
call fcn.004048a8
test al, al
je 0x414493
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 0x462f54
call fcn.00402073
call fcn.004194da
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.004197c1
push edx
push eax
lea eax, [ebp - 0x9c]
push str._I64u
push eax
call fcn.00413013
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.0043f34f
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.004120e8
add esp, 0x14
test al, al
je 0x413de8
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.00411f91
mov eax, dword [0x46fd20]
add esp, 0xc
xor edi, edi
test eax, eax
je 0x413e16
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.00419c8a
push eax
push 0x471e78
movzx edx, di
lea ecx, [ebp - 0x5ac]
call fcn.00419b16
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.00419b16
push eax
push edi
call fcn.00419ac6
mov edx, eax
lea ecx, [ebp - 0x57c]
call fcn.00419b16
push eax
movzx eax, byte [0x46e9c4]
lea ecx, [ebp - 0x564]
push edi
push eax
push edi
call fcn.00419a77
mov edx, eax
lea ecx, [ebp - 0x54c]
call fcn.00419c8a
push eax
push edi
mov edx, 0x471cfc
lea ecx, [ebp - 0x534]
call fcn.00419c8a
push eax
push edi
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x51c]
call fcn.00419c8a
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x504]
call fcn.00419c8a
push eax
push edi
push str.3.8.0_Pro
push edi
lea eax, [ebp - 0x9c]
mov edx, 0x4725d8
push eax
push edi
lea ecx, [ebp - 0x4ec]
call fcn.00419c8a
push eax
push edi
push 0x472910
push edi
lea ecx, [ebp - 0x4d4]
call fcn.0040e2bb
push eax
push edi
mov edx, 0x472260
lea ecx, [ebp - 0x4bc]
call fcn.00419c8a
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 0x4144da
mov ecx, esi
call fcn.00404bf0
mov eax, dword [0x46fd24]
test eax, eax
je 0x41441a
cmp byte [0x46fd12], 0
je 0x41441a
call eax
mov byte [0x46fd12], 0
cmp byte [0x472052], 0
je 0x41442d
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 0x46300c
call fcn.00402073
call fcn.004194da
add esp, 0x30
cmp byte [0x471a8f], 0
je 0x414473
xor eax, eax
push eax
push eax
push eax
push fcn.00418ccd
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 0x4144cd
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00401e45
mov ecx, eax
call fcn.00401f8b
push eax
call fcn.00439867
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00401e6d
jmp 0x413a97