Function at 0xa3980
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9cc
lea ecx, [ebp - 0x60]
push ebx
push esi
push edi
call fcn.000920bf
lea ecx, [ebp - 0x114]
call fcn.000a9894
lea ecx, [ebp - 0x5dc]
call fcn.000920bf
mov edi, 0x101ffc
push 0x29
mov ecx, edi
call fcn.00091e45
mov ecx, eax
call fcn.00091f8b
push eax
call fcn.000c9867
pop ecx
test eax, eax
je 0xa39d7
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 0x18
mov ecx, esp
push 0xf9390
call fcn.00092073
push 0
mov ecx, edi
call fcn.00091e45
sub esp, 0x18
mov ecx, esp
push eax
call fcn.000920d6
lea ecx, [ebp - 0x48]
call fcn.000a9d87
add esp, 0x30
xor ebx, ebx
call fcn.0009487e
push 0x3a
mov ecx, edi
call fcn.00091e45
mov edx, 0xf3050
mov ecx, eax
call fcn.0009fbab
test al, al
je 0xa3a97
push 0x3a
mov ecx, edi
call fcn.00091e45
mov ecx, eax
call fcn.0009245c
push eax
push 0x3a
mov ecx, edi
call fcn.00091e45
mov ecx, eax
call fcn.00091f8b
push eax
push 0x39
mov ecx, edi
call fcn.00091e45
mov ecx, eax
call fcn.0009245c
push eax
push 0x39
mov ecx, edi
call fcn.00091e45
mov ecx, eax
call fcn.00091f8b
push eax
push 0x38
mov ecx, edi
call fcn.00091e45
mov ecx, eax
call fcn.0009245c
push 0x38
mov ecx, edi
mov esi, eax
call fcn.00091e45
mov ecx, eax
call fcn.00091f8b
mov edx, esi
mov ecx, eax
call fcn.0009471d
add esp, 0x10
sub esp, 0x18
mov byte [0x1024d9], 1
mov ecx, esp
push 0xf9394
call fcn.00092073
push ebx
lea ecx, [ebp - 0x48]
call fcn.00091e45
sub esp, 0x18
mov ecx, esp
push eax
call fcn.000920d6
lea ecx, [ebp - 0xc]
call fcn.000a9d87
add esp, 0x30
lea ecx, [ebp - 0xc]
push 1
call fcn.00091e45
push eax
push 0xf9394
push 0
lea ecx, [ebp - 0xc]
call fcn.00091e45
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.0009822a
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00092ef0
pop ecx
push eax
mov ecx, 0x1024dc
call fcn.00091fc2
lea ecx, [ebp - 0x24]
call fcn.00091fb8
lea ecx, [ebp - 0x3c]
call fcn.00091fb8
push 2
lea ecx, [ebp - 0xc]
call fcn.00091e45
mov edx, 0xf30c0
mov ecx, eax
call fcn.00095ae5
lea ecx, [ebp - 0x60]
test al, al
je 0xa3b42
mov byte [0xffad4], 0
push str.TLS_Off
jmp 0xa3b4e
mov byte [0xffad4], 1
push str.TLS_On
call fcn.00095a86
sub esp, 0x18
lea eax, [ebp - 0x60]
mov esi, esp
lea ecx, [ebp - 0x3c]
mov edx, str.Connecting__
push 0x1024dc
push 0xf93a8
push eax
call fcn.000952fe
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00098209
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00092ef0
sub esp, 0x14
mov ecx, esp
push 0xf2f54
call fcn.00092073
call fcn.000a94da
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00091fb8
lea ecx, [ebp - 0x3c]
call fcn.00091fb8
push ecx
push ecx
push 1
lea ecx, [ebp - 0xc]
call fcn.00091e45
mov ecx, eax
call fcn.00091f8b
push 0
lea ecx, [ebp - 0xc]
mov esi, eax
call fcn.00091e45
mov ecx, eax
call fcn.00091f8b
mov edx, esi
mov ecx, eax
call fcn.000a393f
test eax, eax
je 0xa3c2b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.000aa86b
sub esp, 0x18
mov edx, str.Connection_Error:
mov ecx, esp
push eax
call fcn.000952dd
sub esp, 0x14
mov ecx, esp
push 0xf2eb8
call fcn.00092073
call fcn.000a94da
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00091fb8
mov esi, 0x1024a8
jmp 0xa4493
mov esi, 0x1024a8
mov ecx, esi
call fcn.0009480d
test al, al
jne 0xa3c66
sub esp, 0x18
mov ecx, esp
push str.Connection_Error:_Unable_to_create_socket
call fcn.00092073
sub esp, 0x18
mov ecx, esp
push 0xf2eb8
call fcn.00092073
call fcn.000a94da
add esp, 0x30
jmp 0xa4493
push 0
push 0x3c
mov ecx, esi
call fcn.00094f31
push ecx
mov ecx, esi
call fcn.000948a8
test al, al
je 0xa4493
push 1
lea ecx, [ebp - 0xc]
call fcn.00091e45
sub esp, 0x18
lea ecx, [ebp - 0xc]
mov esi, esp
push eax
push 0xf9394
push 0
call fcn.00091e45
push eax
lea eax, [ebp - 0x60]
mov edx, str.Connected___
push 0xf93a8
push eax
lea ecx, [ebp - 0xfc]
call fcn.000952fe
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00098209
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x78]
call fcn.00098209
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00092ef0
sub esp, 0x14
mov ecx, esp
push 0xf2f54
call fcn.00092073
call fcn.000a94da
add esp, 0x30
lea ecx, [ebp - 0x78]
call fcn.00091fb8
lea ecx, [ebp - 0xcc]
call fcn.00091fb8
lea ecx, [ebp - 0xe4]
call fcn.00091fb8
lea ecx, [ebp - 0xfc]
call fcn.00091fb8
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.000a97c1
push edx
push eax
lea eax, [ebp - 0x9c]
push str._I64u
push eax
call fcn.000a3013
add esp, 0x10
lea ecx, [ebp - 0x24]
push 0x102068
call fcn.00098098
push 0xa
lea eax, [ebp - 0x84]
push eax
push dword [0xfe9c0]
call fcn.000cf34f
add esp, 0xc
mov ecx, 0x101ffc
push 1
call fcn.00091e45
push eax
lea ecx, [ebp - 0xb4]
call fcn.000920d6
mov esi, 0x102248
mov ecx, esi
call fcn.0009245c
push eax
mov ecx, esi
call fcn.00091f8b
push eax
push 0x104
lea eax, [ebp - 0x9c8]
mov esi, 0x102200
push eax
push str.name
mov ecx, esi
call fcn.00091f8b
mov edx, eax
call fcn.000a20e8
add esp, 0x14
test al, al
je 0xa3de8
lea eax, [ebp - 0x9c8]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00095a86
push ecx
push str.hlight
mov ecx, esi
call fcn.00091f8b
push eax
mov edx, 0x80000001
lea ecx, [ebp - 0x3c]
call fcn.000a1f91
mov eax, dword [0xffd20]
add esp, 0xc
xor edi, edi
test eax, eax
je 0xa3e16
call eax
movzx edi, ax
push 0xffb08
lea ecx, [ebp - 0x78]
call fcn.0009415e
sub esp, 0x18
lea eax, [ebp - 0x3c]
mov esi, esp
mov ecx, 0x101e78
mov edx, 0x1021e8
push eax
push ecx
push 0x102290
push ecx
lea eax, [ebp - 0x114]
push eax
push ecx
lea ecx, [ebp - 0x5c4]
call fcn.000a9c8a
push eax
push 0x101e78
movzx edx, di
lea ecx, [ebp - 0x5ac]
call fcn.000a9b16
push eax
mov edi, 0x101e78
lea ecx, [ebp - 0xc]
push edi
push 0x102230
push edi
push 0
call fcn.00091e45
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.000a9b16
push eax
push edi
call fcn.000a9ac6
mov edx, eax
lea ecx, [ebp - 0x57c]
call fcn.000a9b16
push eax
movzx eax, byte [0xfe9c4]
lea ecx, [ebp - 0x564]
push edi
push eax
push edi
call fcn.000a9a77
mov edx, eax
lea ecx, [ebp - 0x54c]
call fcn.000a9c8a
push eax
push edi
mov edx, 0x101cfc
lea ecx, [ebp - 0x534]
call fcn.000a9c8a
push eax
push edi
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x51c]
call fcn.000a9c8a
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x504]
call fcn.000a9c8a
push eax
push edi
push str.3.8.0_Pro
push edi
lea eax, [ebp - 0x9c]
mov edx, 0x1025d8
push eax
push edi
lea ecx, [ebp - 0x4ec]
call fcn.000a9c8a
push eax
push edi
push 0x102910
push edi
lea ecx, [ebp - 0x4d4]
call fcn.0009e2bb
push eax
push edi
mov edx, 0x102260
lea ecx, [ebp - 0x4bc]
call fcn.000a9c8a
push eax
push edi
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x4a4]
call fcn.00092f11
pop ecx
mov edx, eax
lea ecx, [ebp - 0x48c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x474]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x45c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x444]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x42c]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x414]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3fc]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3e4]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3cc]
call fcn.00098209
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b4]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x39c]
call fcn.00098209
pop ecx
mov edx, eax
lea ecx, [ebp - 0x384]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x36c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x354]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x33c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x324]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x30c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2f4]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2dc]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2c4]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2ac]
call fcn.0009826c
pop ecx
mov edx, eax
lea ecx, [ebp - 0x294]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x27c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x234]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x21c]
call fcn.00098209
pop ecx
mov edx, eax
lea ecx, [ebp - 0x204]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1ec]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1d4]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1bc]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1a4]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x18c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x174]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x15c]
call fcn.00092e81
pop ecx
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0x12c]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00092ef0
pop ecx
mov edx, eax
lea ecx, [ebp - 0xfc]
call fcn.00092ef0
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00092ef0
pop ecx
mov esi, 0x1024a8
push 0x4b
mov ecx, esi
call fcn.00094a81
lea ecx, [ebp - 0xfc]
call fcn.00091fb8
lea ecx, [ebp - 0xe4]
call fcn.00091fb8
lea ecx, [ebp - 0xcc]
call fcn.00091fb8
lea ecx, [ebp - 0x12c]
call fcn.00091fb8
lea ecx, [ebp - 0x144]
call fcn.00091fb8
lea ecx, [ebp - 0x15c]
call fcn.00091fb8
lea ecx, [ebp - 0x174]
call fcn.00091fb8
lea ecx, [ebp - 0x18c]
call fcn.00091fb8
lea ecx, [ebp - 0x1a4]
call fcn.00091fb8
lea ecx, [ebp - 0x1bc]
call fcn.00091fb8
lea ecx, [ebp - 0x1d4]
call fcn.00091fb8
lea ecx, [ebp - 0x1ec]
call fcn.00091fb8
lea ecx, [ebp - 0x204]
call fcn.00091fb8
lea ecx, [ebp - 0x21c]
call fcn.00091fb8
lea ecx, [ebp - 0x234]
call fcn.00091fb8
lea ecx, [ebp - 0x24c]
call fcn.00091fb8
lea ecx, [ebp - 0x264]
call fcn.00091fb8
lea ecx, [ebp - 0x27c]
call fcn.00091fb8
lea ecx, [ebp - 0x294]
call fcn.00091fb8
lea ecx, [ebp - 0x2ac]
call fcn.00091fb8
lea ecx, [ebp - 0x2c4]
call fcn.00091fb8
lea ecx, [ebp - 0x2dc]
call fcn.00091fb8
lea ecx, [ebp - 0x2f4]
call fcn.00091fb8
lea ecx, [ebp - 0x30c]
call fcn.00091fb8
lea ecx, [ebp - 0x324]
call fcn.00091fb8
lea ecx, [ebp - 0x33c]
call fcn.00091fb8
lea ecx, [ebp - 0x354]
call fcn.00091fb8
lea ecx, [ebp - 0x36c]
call fcn.00091fb8
lea ecx, [ebp - 0x384]
call fcn.00091fb8
lea ecx, [ebp - 0x39c]
call fcn.00091fb8
lea ecx, [ebp - 0x3b4]
call fcn.00091fb8
lea ecx, [ebp - 0x3cc]
call fcn.00091fb8
lea ecx, [ebp - 0x3e4]
call fcn.00091fb8
lea ecx, [ebp - 0x3fc]
call fcn.00091fb8
lea ecx, [ebp - 0x414]
call fcn.00091fb8
lea ecx, [ebp - 0x42c]
call fcn.00091fb8
lea ecx, [ebp - 0x444]
call fcn.00091fb8
lea ecx, [ebp - 0x45c]
call fcn.00091fb8
lea ecx, [ebp - 0x474]
call fcn.00091fb8
lea ecx, [ebp - 0x48c]
call fcn.00091fb8
lea ecx, [ebp - 0x4a4]
call fcn.00091fb8
lea ecx, [ebp - 0x4bc]
call fcn.00091fb8
lea ecx, [ebp - 0x4d4]
call fcn.00091fb8
lea ecx, [ebp - 0x4ec]
call fcn.00091fb8
lea ecx, [ebp - 0x504]
call fcn.00091fb8
lea ecx, [ebp - 0x51c]
call fcn.00091fb8
lea ecx, [ebp - 0x534]
call fcn.00091fb8
lea ecx, [ebp - 0x54c]
call fcn.00091fb8
lea ecx, [ebp - 0x564]
call fcn.00091ee9
lea ecx, [ebp - 0x57c]
call fcn.00091fb8
lea ecx, [ebp - 0x594]
call fcn.00091fb8
lea ecx, [ebp - 0x5ac]
call fcn.00091fb8
lea ecx, [ebp - 0x5c4]
call fcn.00091fb8
lea ecx, [ebp - 0x78]
call fcn.00091ee9
push 1
push 0xa44da
mov ecx, esi
call fcn.00094bf0
mov eax, dword [0xffd24]
test eax, eax
je 0xa441a
cmp byte [0xffd12], 0
je 0xa441a
call eax
mov byte [0xffd12], 0
cmp byte [0x102052], 0
je 0xa442d
mov ecx, 0x102008
call fcn.00099f9a
call fcn.00095a4b
sub esp, 0x18
mov ecx, esp
push str.Disconnected
call fcn.00092073
sub esp, 0x18
mov ecx, esp
push 0xf300c
call fcn.00092073
call fcn.000a94da
add esp, 0x30
cmp byte [0x101a8f], 0
je 0xa4473
xor eax, eax
push eax
push eax
push eax
push fcn.000a8ccd
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x3c]
call fcn.00091fb8
lea ecx, [ebp - 0xb4]
call fcn.00091fb8
lea ecx, [ebp - 0x24]
call fcn.00091ee9
mov edi, 0x101ffc
mov ecx, esi
call fcn.00094e06
lea ecx, [ebp - 0x48]
inc ebx
call fcn.000921da
cmp ebx, eax
jb 0xa44cd
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00091e45
mov ecx, eax
call fcn.00091f8b
push eax
call fcn.000c9867
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00091e6d
jmp 0xa3a97