Function at 0x40c230
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x697ec0
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x75f140]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
push ecx
mov dword [ebp - 0x14], 0
mov esi, esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
mov dword [ebp - 0x44], esp
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xc8]
mov dword [ebp - 4], 0
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpExeUrl
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00402960
test al, al
jne 0x40c2d3
push 8
push str.UpExeUrl
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 2
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7c3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.00402960
test al, al
jne 0x40c318
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 2
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea edi, [ebx + 0xcc]
mov dword [ebp - 4], 4
push edi
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7cd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push 0x6c21cc
mov ecx, esi
mov byte [ebp - 4], 5
call fcn.00402960
test al, al
jne 0x40c39c
push 7
push 0x6c21cc
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 6
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7d7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.00402960
test al, al
jne 0x40c3e1
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 6
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xd0]
mov dword [ebp - 4], 8
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7e1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.CompelUp
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.00402960
test al, al
jne 0x40c465
push 8
push str.CompelUp
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7eb
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0xb
call fcn.00402960
test al, al
jne 0x40c4aa
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0xa
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xec]
mov dword [ebp - 4], 0xc
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7f5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.Moreopen
mov ecx, esi
mov byte [ebp - 4], 0xd
call fcn.00402960
test al, al
jne 0x40c52e
push 8
push str.Moreopen
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7ff
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.00402960
test al, al
jne 0x40c573
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0xe
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xd8]
mov dword [ebp - 4], 0x10
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d809
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.CheckFileAddr
mov ecx, esi
mov byte [ebp - 4], 0x11
call fcn.00402960
test al, al
jne 0x40c5f7
push 0xd
push str.CheckFileAddr
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d813
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.00402960
test al, al
jne 0x40c63c
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x12
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xdc]
mov dword [ebp - 4], 0x14
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d81d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.CheckDirName
mov ecx, esi
mov byte [ebp - 4], 0x15
call fcn.00402960
test al, al
jne 0x40c6c0
push 0xc
push str.CheckDirName
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d827
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x17
call fcn.00402960
test al, al
jne 0x40c705
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x16
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xe0]
mov dword [ebp - 4], 0x18
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d831
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ForceCheckFile
mov ecx, esi
mov byte [ebp - 4], 0x19
call fcn.00402960
test al, al
jne 0x40c789
push 0xe
push str.ForceCheckFile
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d83b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x1b
call fcn.00402960
test al, al
jne 0x40c7ce
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x1a
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xe4]
mov dword [ebp - 4], 0x1c
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d845
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.SFJZXNJ
mov ecx, esi
mov byte [ebp - 4], 0x1d
call fcn.00402960
test al, al
jne 0x40c852
push 7
push str.SFJZXNJ
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d84f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x1f
call fcn.00402960
test al, al
jne 0x40c897
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x1e
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xe8]
mov dword [ebp - 4], 0x20
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d859
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.sfjzsdrj
mov ecx, esi
mov byte [ebp - 4], 0x21
call fcn.00402960
test al, al
jne 0x40c91b
push 8
push str.sfjzsdrj
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d863
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x23
call fcn.00402960
test al, al
jne 0x40c960
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x22
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xf0]
mov dword [ebp - 4], 0x24
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d86d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.homepage
mov ecx, esi
mov byte [ebp - 4], 0x25
call fcn.00402960
test al, al
jne 0x40c9e4
push 8
push str.homepage
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d877
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.00402960
test al, al
jne 0x40ca29
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x26
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xf4]
mov dword [ebp - 4], 0x28
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d881
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.regpage
mov ecx, esi
mov byte [ebp - 4], 0x29
call fcn.00402960
test al, al
jne 0x40caad
push 7
push str.regpage
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d88b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.00402960
test al, al
jne 0x40caf2
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x2a
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xf8]
mov dword [ebp - 4], 0x2c
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d895
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.paypage
mov ecx, esi
mov byte [ebp - 4], 0x2d
call fcn.00402960
test al, al
jne 0x40cb76
push 7
push str.paypage
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d89f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x2f
call fcn.00402960
test al, al
jne 0x40cbbb
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x2e
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0xfc]
mov dword [ebp - 4], 0x30
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8a9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.notice
mov ecx, esi
mov byte [ebp - 4], 0x31
call fcn.00402960
test al, al
jne 0x40cc3f
push 6
push str.notice
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8b3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x33
call fcn.00402960
test al, al
jne 0x40cc84
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x32
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0x100]
mov dword [ebp - 4], 0x34
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8bd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.DelFileList
mov ecx, esi
mov byte [ebp - 4], 0x35
call fcn.00402960
test al, al
jne 0x40cd08
push 0xb
push str.DelFileList
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8c7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x37
call fcn.00402960
test al, al
jne 0x40cd4d
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x36
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0x104]
mov dword [ebp - 4], 0x38
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8d1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.KillList
mov ecx, esi
mov byte [ebp - 4], 0x39
call fcn.00402960
test al, al
jne 0x40cdd1
push 8
push str.KillList
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x3a
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8db
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x3b
call fcn.00402960
test al, al
jne 0x40ce16
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x3a
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebx + 0x740]
mov dword [ebp - 4], 0x3c
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8e5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.killWndList
mov ecx, esi
mov byte [ebp - 4], 0x3d
call fcn.00402960
test al, al
jne 0x40ce9a
push 0xb
push str.killWndList
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x3e
mov dword [ebp - 0x3c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8ef
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.UpdataSet
mov ecx, esi
mov byte [ebp - 4], 0x3f
call fcn.00402960
test al, al
jne 0x40cedf
push 9
push str.UpdataSet
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x3e
mov ecx, ebx
mov dword [ebp - 4], 0xffffffff
call fcn.0040f950
push dword [edi]
call fcn.0066b052
fstp qword [ebp - 0x5c]
push str.2.00
call fcn.0066b052
add esp, 8
mov ecx, ebx
fstp qword [ebp - 0x54]
push str.2.00
push 0x3ff
call fcn.00434273
mov ecx, eax
call fcn.00434f59
push dword [edi]
mov ecx, ebx
push 0x3fe
call fcn.00434273
mov ecx, eax
call fcn.00434f59
movsd xmm0, qword [ebp - 0x5c]
comisd xmm0, xmmword [ebp - 0x54]
jbe 0x40d0a4
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8f9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 0x6c2280
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0x40
call fcn.00402960
test al, al
jne 0x40cf89
push 1
push 0x6c2280
lea ecx, [ebp - 0x1c]
call fcn.00403730
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x40d8f9
push esi
push dword [ebx + 0xd0]
call fcn.00657b21
or edi, 0xffffffff
mov dword [ebp - 0x34], eax
add esp, 8
add esi, 0xfffffff0
mov ecx, edi
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x40cfca
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40cff4
push dword [ebp + 8]
mov ecx, ebx
call fcn.004143d0
test eax, eax
jne 0x40d087
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8f9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 0x6c228c
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0x41
call fcn.00402960
test al, al
jne 0x40d035
push 9
push 0x6c228c
lea ecx, [ebp - 0x1c]
call fcn.00403730
mov esi, dword [ebp - 0x1c]
mov ecx, ebx
push 4
push 0x6c2284
push esi
mov dword [ebp - 4], 0x42
call fcn.0042f07f
mov dword [ebp - 0x34], eax
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x40d070
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x34]
cmp eax, 6
jne 0x40d087
push dword [ebp + 8]
mov ecx, ebx
call fcn.004143d0
test eax, eax
je 0x40d79b
push 0
mov ecx, ebx
call fcn.0043587a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d8f9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push ecx
mov esi, esp
mov dword [ebp + 8], esp
mov dword [ebp - 0x44], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
mov dword [ebp - 4], 0x43
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x44
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x44], esp
mov dword [ebp - 0x40], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d903
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.ServerCount
mov ecx, esi
mov byte [ebp - 4], 0x45
call fcn.00402960
test al, al
jne 0x40d131
push 0xb
push str.ServerCount
mov ecx, esi
call fcn.00403730
push ecx
mov esi, esp
mov byte [ebp - 4], 0x46
mov dword [ebp - 0x40], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d90d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.IPLIST
mov ecx, esi
mov byte [ebp - 4], 0x47
call fcn.00402960
test al, al
jne 0x40d176
push 6
push str.IPLIST
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x46
mov ecx, ebx
mov byte [ebp - 4], 0x43
call fcn.0040f950
push dword [ebp - 0x1c]
call fcn.0065961f
add esp, 4
or edi, 0xffffffff
test eax, eax
jle 0x40d722
mov edi, 1
mov dword [ebp - 0x10], 0x76aea4
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], 0x76af40
push 0x560
mov dword [ebp - 0x44], edi
call fcn.0044902e
add esp, 4
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x48
test eax, eax
je 0x40d1d3
mov ecx, eax
call fcn.00403930
mov byte [ebp - 4], 0x43
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x49
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x34], eax
mov byte [ebp - 4], 0x4a
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x4b
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push edi
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x4c
push str.ServerName_i
push eax
call fcn.00402b50
add esp, 8
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4d
push eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov esi, esp
push eax
mov dword [ebp - 0x38], esi
call fcn.00407700
add eax, 0x10
mov dword [esi], eax
mov esi, esp
mov byte [ebp - 4], 0x4e
mov dword [ebp - 0x4c], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.IPLIST
mov ecx, esi
mov byte [ebp - 4], 0x4f
call fcn.00402960
test al, al
jne 0x40d2e6
push 6
push str.IPLIST
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x4e
mov ecx, ebx
mov byte [ebp - 4], 0x4c
call fcn.0040f950
push 0
push 0x6c1027
lea ecx, [ebp + 8]
call fcn.00403730
push edi
lea eax, [ebp + 8]
push str.ServerAddr_i
push eax
call fcn.00402b50
add esp, 8
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x50
push eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov esi, esp
push eax
mov dword [ebp - 0x38], esi
call fcn.00407700
add eax, 0x10
mov dword [esi], eax
mov esi, esp
mov byte [ebp - 4], 0x51
mov dword [ebp - 0x50], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.IPLIST
mov ecx, esi
mov byte [ebp - 4], 0x52
call fcn.00402960
test al, al
jne 0x40d39b
push 6
push str.IPLIST
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x51
mov ecx, ebx
mov byte [ebp - 4], 0x4c
call fcn.0040f950
push 0
push 0x6c1027
lea ecx, [ebp + 8]
call fcn.00403730
push edi
lea eax, [ebp + 8]
push str.port_i
push eax
call fcn.00402b50
add esp, 8
mov esi, esp
mov dword [ebp - 0x40], esp
mov dword [ebp - 0x3c], esi
mov eax, dword [ebx + 0xc4]
sub eax, 0x10
push eax
call fcn.00407700
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x53
push eax
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x3c], esp
mov esi, esp
mov dword [ebp - 0x38], esi
push eax
mov dword [ebp - 0x38], eax
call fcn.00407700
add eax, 0x10
mov dword [esi], eax
mov esi, esp
mov byte [ebp - 4], 0x54
mov dword [ebp - 0x58], esi
call fcn.0042a586
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push str.IPLIST
mov ecx, esi
mov byte [ebp - 4], 0x55
call fcn.00402960
test al, al
jne 0x40d453
push 6
push str.IPLIST
mov ecx, esi
call fcn.00403730
mov byte [ebp - 4], 0x54
mov ecx, ebx
mov byte [ebp - 4], 0x4c
call fcn.0040f950
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi - 0x10]
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0x56
mov dword [ebp - 0x40], eax
test ecx, ecx
je 0x40d481
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x40d497
call fcn.0042a586
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x40d7b9
mov eax, dword [ecx]
call dword [eax + 0xc]
or dword [ebp - 0x14], 1
lea esi, [eax + 0x10]
mov eax, dword [edi - 0xc]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
test edx, edx
js 0x40d7af
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x40d4d4
push edx
lea ecx, [ebp - 0x2c]
call fcn.00403440
mov esi, dword [ebp - 0x2c]
test esi, esi
jne 0x40d4ea
call fcn.0063dccb
mov dword [eax], 0x16
call fcn.0063db6a
jmp 0x40d4ed
mov byte [esi], 0x20
mov ecx, dword [ebp - 0x20]
lea eax, [esi + 1]
test ecx, ecx
je 0x40d51b
test eax, eax
jne 0x40d50d
call fcn.0063dccb
mov dword [eax], 0x16
call fcn.0063db6a
jmp 0x40d518
push ecx
push edi
push eax
call fcn.0062f5b0
add esp, 0xc
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + 1]
cmp eax, dword [esi - 8]
jg 0x40d7af
mov ecx, dword [ebp - 0x18]
mov dword [esi - 0xc], eax
push esi
mov byte [eax + esi], 0
call fcn.00434f59
and dword [ebp - 0x14], 0xfffffffe
add esi, 0xfffffff0
mov byte [ebp - 4], 0x4c
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40d557
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x18]
push 5
call fcn.00434fad
mov edx, dword [ebp - 0x10]
lea ecx, [edi - 0x10]
mov dword [edx - 4], 0
mov esi, dword [edx]
sub esi, 0x10
cmp ecx, esi
je 0x40d5ba
cmp dword [esi + 0xc], 0
jl 0x40d5af
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x40d5af
push ecx
call fcn.00407700
add esp, 4
lea edx, [esi + 0xc]
mov edi, eax
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40d5a5
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
lea eax, [edi + 0x10]
mov edi, dword [ebp - 0x10]
mov dword [edi], eax
jmp 0x40d5bd
push dword [edi - 0xc]
mov ecx, edx
push edi
call fcn.00403730
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x30]
mov esi, dword [edi + 8]
sub esi, 0x10
lea edx, [eax - 0x10]
mov dword [ebp - 0x3c], edx
cmp edx, esi
je 0x40d616
cmp dword [esi + 0xc], 0
jl 0x40d60a
mov ecx, dword [edx]
cmp ecx, dword [esi]
jne 0x40d60a
push edx
call fcn.00407700
add esp, 4
mov dword [ebp - 0x20], eax
or ecx, 0xffffffff
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40d602
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov dword [edi + 8], eax
jmp 0x40d616
push dword [eax - 0xc]
lea ecx, [edi + 8]
push eax
call fcn.00403730
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov esi, dword [edx + 4]
lea edi, [eax - 0x10]
sub esi, 0x10
cmp edi, esi
je 0x40d672
cmp dword [esi + 0xc], 0
jl 0x40d666
mov ecx, dword [edi]
cmp ecx, dword [esi]
jne 0x40d666
push edi
call fcn.00407700
add esp, 4
mov dword [ebp - 0x20], eax
or ecx, 0xffffffff
lea edx, [esi + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40d65b
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
add eax, 0x10
mov dword [ecx + 4], eax
jmp 0x40d672
push dword [eax - 0xc]
lea ecx, [edx + 4]
push eax
call fcn.00403730
mov eax, dword [ebp - 0x24]
push 0
push 0
dec eax
push eax
push 0x411420
push 0x2800
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [ebp - 0x38]
or esi, 0xffffffff
mov byte [ebp - 4], 0x4b
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d6ab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
mov eax, esi
mov byte [ebp - 4], 0x4a
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d6c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x49
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40d6de
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, esi
mov byte [ebp - 4], 0x43
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40d6f9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x24]
push dword [ebp - 0x1c]
add dword [ebp - 0x18], 0x560
inc edi
add dword [ebp - 0x10], 0x10
mov dword [ebp - 0x24], edi
call fcn.0065961f
add esp, 4
cmp dword [ebp - 0x44], eax
jl 0x40d1b1
or edi, 0xffffffff
push 0
push 0
push 0
push 0
push 0
push dword [ebx + 0xfc]
lea ecx, [ebx + 0x268]
call fcn.0043e373
push 0
lea ecx, [ebx + 0x570]
call fcn.00434fad
lea ecx, [ebx + 0x570]
mov dword [ebx + 0x5f0], 0xffffff
call fcn.0041b340
push str.____________
lea ecx, [ebx + 0x570]
call fcn.00434f59
push 5
lea ecx, [ebx + 0x570]
call fcn.00434fad
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x40d79b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
push 0x80004005
call fcn.00402130
int3