Function at 0x409f00
Capabilities:
Check if file exists
Create directory
Encode data using xor
Get common file path
Get file attributes
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cc4ad
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x798
mov eax, dword [0x4f6440]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x630], edx
mov esi, ecx
mov edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x63c], 0
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x634], eax
mov eax, edi
jbe 0x409f72
mov eax, dword [edi]
cmp dword [esi + 0x14], 0xf
jbe 0x409f7a
mov ecx, dword [esi]
push dword [edi + 0x10]
mov edx, dword [esi + 0x10]
push eax
call fcn.004266b0
add esp, 8
test al, al
jne 0x40c111
cmp dword [edi + 0x14], 0xf
mov ecx, edi
jbe 0x409f9b
mov ecx, dword [edi]
mov edx, dword [edi + 0x10]
push 0
push 0x4ea292
call fcn.004266b0
add esp, 8
test al, al
jne 0x40c111
call fcn.004a54a3
cmp dword [esi + 0x14], 0xf
mov ecx, eax
mov dword [ebp - 0x644], ecx
mov eax, esi
mov dword [ebp - 0x628], esi
jbe 0x409fd8
mov eax, dword [esi]
mov dword [ebp - 0x628], eax
mov dword [ecx], 0
lea ecx, [ebp - 0x638]
push 0xa
push ecx
push eax
call fcn.004a97db
mov ecx, dword [ebp - 0x628]
add esp, 0xc
mov dword [ebp - 0x63c], eax
cmp ecx, dword [ebp - 0x638]
je 0x40c131
mov eax, dword [ebp - 0x644]
cmp dword [eax], 0x22
je 0x40c13b
call fcn.004a54a3
cmp dword [edi + 0x14], 0xf
mov ecx, eax
mov dword [ebp - 0x648], ecx
mov eax, edi
mov dword [ebp - 0x628], edi
jbe 0x40a03a
mov eax, dword [edi]
mov dword [ebp - 0x628], eax
mov dword [ecx], 0
lea ecx, [ebp - 0x644]
push 0xa
push ecx
push eax
call fcn.004a97db
mov ecx, dword [ebp - 0x628]
add esp, 0xc
mov edx, eax
cmp ecx, dword [ebp - 0x644]
je 0x40c145
mov eax, dword [ebp - 0x648]
cmp dword [eax], 0x22
je 0x40c14f
cmp dword [ebp - 0x63c], edx
jg 0x40c111
xorps xmm0, xmm0
mov byte [ebp - 0x4b0], 0
movups xmmword [ebp - 0x560], xmm0
xor ecx, ecx
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ecx + 0x4eaae0]
xor al, 0x5a
mov byte [ebp + ecx - 0x560], al
inc ecx
cmp ecx, 0xf
jb 0x40a0a0
movups xmm0, xmmword [0x4eaaf0]
xor eax, eax
mov byte [ebp - 0x551], 0
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor ecx, ecx
xorps xmm1, xmm0
mov word [ebp - 0x490], ax
movups xmmword [ebp - 0x4a0], xmm1
lea edx, [eax + 2]
mov al, byte [ecx + 0x4eab00]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x491], al
sub edx, 1
jne 0x40a0e2
push 0x4eab04
lea ecx, [ebp - 0x620]
mov byte [ebp - 0x48e], dl
call fcn.00416f60
xorps xmm0, xmm0
mov byte [ebp - 0x4cc], 0
movq qword [ebp - 0x550], xmm0
xor ecx, ecx
mov dword [ebp - 0x548], 0
mov word [ebp - 0x544], 0
mov byte [ebp - 0x542], 0
nop dword [eax]
mov al, byte [ecx + 0x4eab2c]
xor al, 0x5a
mov byte [ebp + ecx - 0x550], al
inc ecx
cmp ecx, 0xe
jb 0x40a140
movaps xmm2, xmmword [str.ZZZZZZZZZZZZZZZZ]
lea ecx, [ebp - 0x5f8]
xorps xmm0, xmm0
mov byte [ebp - 0x542], 0
movlpd qword [ebp - 0x454], xmm0
movlpd qword [ebp - 0x44c], xmm0
movups xmm0, xmmword [0x4eab3c]
push 0x4eab50
mov byte [ebp - 0x621], 0xe4
xorps xmm2, xmm0
mov byte [ebp - 0x443], 0
call fcn.00416f60
movaps xmm3, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm0, xmm0
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor eax, eax
movlpd qword [ebp - 0x50c], xmm0
xor ecx, ecx
movlpd qword [ebp - 0x504], xmm0
movups xmm0, xmmword [str.Automatic_Update]
mov byte [ebp - 0x4fc], 0
lea edx, [eax + 0xa]
mov word [ebp - 0x564], ax
xorps xmm3, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x56c], xmm0
movups xmm0, xmmword [str.Your_current_version_is]
xorps xmm1, xmm0
movups xmmword [ebp - 0x57c], xmm1
nop word [eax + eax]
mov al, byte [ecx + 0x4eab9c]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x56d], al
sub edx, 1
jne 0x40a200
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0x464], xmm0
movups xmm0, xmmword [0x4eaba8]
mov byte [ebp - 0x562], dl
xor ecx, ecx
mov word [ebp - 0x45c], ax
xorps xmm1, xmm0
mov byte [ebp - 0x45a], al
movups xmmword [ebp - 0x474], xmm1
lea edx, [eax + 0xb]
mov al, byte [ecx + 0x4eabb8]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x465], al
sub edx, 1
jne 0x40a254
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm0, xmm0
movlpd qword [ebp - 0x590], xmm0
xor eax, eax
movups xmm0, xmmword [0x4eabc8]
mov byte [ebp - 0x459], dl
xor ecx, ecx
mov word [ebp - 0x588], ax
xorps xmm0, xmm1
lea edx, [eax + 0xa]
movups xmmword [ebp - 0x5d0], xmm0
movups xmm0, xmmword [0x4eabd8]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5c0], xmm0
movups xmm0, xmmword [0x4eabe8]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5b0], xmm0
movups xmm0, xmmword [0x4eabf8]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5a0], xmm0
mov al, byte [ecx + 0x4eac08]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x591], al
sub edx, 1
jne 0x40a2d5
xorps xmm0, xmm0
mov byte [ebp - 0x586], dl
movups xmmword [ebp - 0x528], xmm0
mov dword [ebp - 0x518], edx
mov dword [ebp - 0x514], 0xf
mov byte [ebp - 0x528], dl
mov dword [ebp - 4], edx
movups xmmword [ebp - 0x540], xmm0
mov dword [ebp - 0x530], edx
mov dword [ebp - 0x52c], 0xf
mov byte [ebp - 0x540], dl
mov byte [ebp - 4], 1
mov eax, dword [0x4f9a5c]
cmp eax, 2
jne 0x40a642
xor eax, eax
nop word [eax + eax]
xor byte [ebp + eax - 0x550], 0x5a
inc eax
cmp eax, 0xe
jb 0x40a350
mov al, byte [ebp - 0x621]
movaps xmm0, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor al, 0x5a
xorps xmm0, xmm2
mov byte [ebp - 0x444], al
movaps xmm2, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor eax, eax
movups xmmword [ebp - 0x454], xmm0
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x5f8]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x5f8], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x40a390
cmp eax, 0x27
jae 0x40a3c1
xor byte [ebp + eax - 0x5f8], 0x5a
inc eax
cmp eax, 0x27
jb 0x40a3b3
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x4d4], 0xd384d4d7
mov dword [ebp - 0x4d0], 0xc2d0fcb8
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a3e0
sub ecx, edx
mov eax, closesocket
mov edx, dword [esi + 0x10]
sub eax, edx
cmp eax, ecx
jb 0x40c159
cmp dword [esi + 0x14], 0xf
jbe 0x40a403
mov esi, dword [esi]
push edx
push esi
push ecx
lea eax, [ebp - 0x550]
push eax
push ecx
push dword [ebp - 0x634]
lea ecx, [ebp - 0x4f8]
call fcn.004209d0
lea eax, [ebp - 0x454]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x4f8]
call fcn.004198a0
mov dword [ebp - 0x430], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x42c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x440], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x430], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea edx, [ebp - 0x440]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x48c]
call fcn.0041d6b0
add esp, 4
lea ecx, [ebp - 0x5f8]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.004198a0
mov edi, 0x8c
mov dword [ebp - 0x628], edi
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x514]
movq qword [ebp - 0x640], xmm1
movups xmmword [ebp - 0x4c0], xmm0
cmp ecx, 0xf
jbe 0x40a522
mov edx, dword [ebp - 0x528]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a509
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c15e
push ecx
push edx
call fcn.0049f19c
movups xmm0, xmmword [ebp - 0x4c0]
add esp, 8
movq xmm1, qword [ebp - 0x640]
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x478]
movq qword [ebp - 0x518], xmm1
movups xmmword [ebp - 0x528], xmm0
cmp ecx, 0xf
jbe 0x40a56f
mov edx, dword [ebp - 0x48c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a565
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c15e
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0xf
mov byte [ebp - 0x48c], 0
cmp ecx, 0xf
jbe 0x40a5c8
mov edx, dword [ebp - 0x440]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a5be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c15e
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0xf
mov byte [ebp - 0x440], 0
cmp ecx, 0xf
jbe 0x40a621
mov edx, dword [ebp - 0x4f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a617
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c15e
push ecx
push edx
call fcn.0049f19c
add esp, 8
lea ecx, [ebp - 0x4d4]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a630
lea eax, [ebp - 0x4d4]
jmp 0x40ac9d
cmp eax, 3
jne 0x40a994
movups xmm0, xmmword [ebp - 0x57c]
mov eax, 0x10
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm1, xmm0
movups xmmword [ebp - 0x57c], xmm1
nop dword [eax + eax]
xor byte [ebp + eax - 0x57c], 0x5a
inc eax
cmp eax, 0x1a
jb 0x40a670
movups xmm0, xmmword [ebp - 0x474]
mov eax, 0x10
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm1, xmm0
movups xmmword [ebp - 0x474], xmm1
nop dword [eax + eax]
xor byte [ebp + eax - 0x474], 0x5a
inc eax
cmp eax, 0x1b
jb 0x40a6a0
movaps xmm2, xmmword [str.ZZZZZZZZZZZZZZZZ]
mov eax, 0x40
movups xmm0, xmmword [ebp - 0x5d0]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmm0, xmmword [ebp - 0x5c0]
movups xmmword [ebp - 0x5d0], xmm1
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmm0, xmmword [ebp - 0x5b0]
movups xmmword [ebp - 0x5c0], xmm1
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmm0, xmmword [ebp - 0x5a0]
movups xmmword [ebp - 0x5b0], xmm1
xorps xmm2, xmm0
movups xmmword [ebp - 0x5a0], xmm2
nop word [eax + eax]
xor byte [ebp + eax - 0x5d0], 0x5a
inc eax
cmp eax, 0x4a
jb 0x40a710
movaps xmm0, xmmword [str.ZZZZZZZZZZZZZZZZ]
lea ecx, [ebp - 0x57c]
xorps xmm0, xmm3
lea edx, [ecx + 1]
movups xmmword [ebp - 0x50c], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a738
sub ecx, edx
mov eax, closesocket
mov edx, dword [esi + 0x10]
sub eax, edx
cmp eax, ecx
jb 0x40c163
cmp dword [esi + 0x14], 0xf
jbe 0x40a75b
mov esi, dword [esi]
push edx
push esi
push ecx
lea eax, [ebp - 0x57c]
push eax
push ecx
push dword [ebp - 0x634]
lea ecx, [ebp - 0x4f8]
call fcn.004209d0
lea eax, [ebp - 0x474]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x4f8]
call fcn.004198a0
mov dword [ebp - 0x430], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x42c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x440], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x430], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea edx, [ebp - 0x440]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x48c]
call fcn.0041d6b0
add esp, 4
lea ecx, [ebp - 0x5d0]
mov byte [ebp - 4], 7
push ecx
mov ecx, eax
call fcn.004198a0
mov edi, 0x9800
mov dword [ebp - 0x628], edi
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x514]
movq qword [ebp - 0x640], xmm1
movups xmmword [ebp - 0x4c0], xmm0
cmp ecx, 0xf
jbe 0x40a87a
mov edx, dword [ebp - 0x528]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a861
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c168
push ecx
push edx
call fcn.0049f19c
movups xmm0, xmmword [ebp - 0x4c0]
add esp, 8
movq xmm1, qword [ebp - 0x640]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x478]
movq qword [ebp - 0x518], xmm1
movups xmmword [ebp - 0x528], xmm0
cmp ecx, 0xf
jbe 0x40a8c7
mov edx, dword [ebp - 0x48c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a8bd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c168
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0xf
mov byte [ebp - 0x48c], 0
cmp ecx, 0xf
jbe 0x40a920
mov edx, dword [ebp - 0x440]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a916
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c168
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0xf
mov byte [ebp - 0x440], 0
cmp ecx, 0xf
jbe 0x40a979
mov edx, dword [ebp - 0x4f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a96f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c168
push ecx
push edx
call fcn.0049f19c
add esp, 8
lea ecx, [ebp - 0x50c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a982
lea eax, [ebp - 0x50c]
jmp 0x40ac9d
xor eax, eax
nop word [eax + eax]
xor byte [ebp + eax - 0x560], 0x5a
inc eax
cmp eax, 0xf
jb 0x40a9a0
movups xmm0, xmmword [ebp - 0x4a0]
mov eax, 0x10
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm1, xmm0
movups xmmword [ebp - 0x4a0], xmm1
nop dword [eax + eax]
xor byte [ebp + eax - 0x4a0], 0x5a
inc eax
cmp eax, 0x12
jb 0x40a9d0
movaps xmm2, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor eax, eax
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x620]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x620], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x40a9f0
cmp eax, 0x27
jae 0x40aa21
xor byte [ebp + eax - 0x620], 0x5a
inc eax
cmp eax, 0x27
jb 0x40aa13
lea ecx, [ebp - 0x560]
mov dword [ebp - 0x4b8], 0xafb6d4d7
mov dword [ebp - 0x4b4], 0xc2d0fcb8
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aa40
sub ecx, edx
mov eax, closesocket
mov edx, dword [esi + 0x10]
sub eax, edx
cmp eax, ecx
jb 0x40c16d
cmp dword [esi + 0x14], 0xf
jbe 0x40aa63
mov esi, dword [esi]
push edx
push esi
push ecx
lea eax, [ebp - 0x560]
push eax
push ecx
push dword [ebp - 0x634]
lea ecx, [ebp - 0x4f8]
call fcn.004209d0
lea eax, [ebp - 0x4a0]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x4f8]
call fcn.004198a0
mov dword [ebp - 0x430], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x42c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x440], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x430], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea edx, [ebp - 0x440]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x48c]
call fcn.0041d6b0
add esp, 4
lea ecx, [ebp - 0x620]
mov byte [ebp - 4], 0xa
push ecx
mov ecx, eax
call fcn.004198a0
mov edi, 0x700
mov dword [ebp - 0x628], edi
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x514]
movq qword [ebp - 0x640], xmm1
movups xmmword [ebp - 0x4d8], xmm0
cmp ecx, 0xf
jbe 0x40ab82
mov edx, dword [ebp - 0x528]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ab69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c172
push ecx
push edx
call fcn.0049f19c
movups xmm0, xmmword [ebp - 0x4d8]
add esp, 8
movq xmm1, qword [ebp - 0x640]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x478]
movq qword [ebp - 0x518], xmm1
movups xmmword [ebp - 0x528], xmm0
cmp ecx, 0xf
jbe 0x40abcf
mov edx, dword [ebp - 0x48c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40abc5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c172
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0xf
mov byte [ebp - 0x48c], 0
cmp ecx, 0xf
jbe 0x40ac28
mov edx, dword [ebp - 0x440]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ac1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c172
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0xf
mov byte [ebp - 0x440], 0
cmp ecx, 0xf
jbe 0x40ac81
mov edx, dword [ebp - 0x4f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ac77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c172
push ecx
push edx
call fcn.0049f19c
add esp, 8
lea ecx, [ebp - 0x4b8]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ac90
lea eax, [ebp - 0x4b8]
sub ecx, edx
push ecx
push eax
lea ecx, [ebp - 0x540]
call fcn.0041c000
cmp dword [ebp - 0x52c], 0xf
lea ecx, [ebp - 0x540]
push 0x41
cmova ecx, dword [ebp - 0x540]
lea eax, [ebp - 0x528]
cmp dword [ebp - 0x514], 0xf
push ecx
cmova eax, dword [ebp - 0x528]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esi, eax
lea eax, [ebp - 0x220]
push eax
push 0
push 0
push 0x1c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x40ad33
push str.GameShield_
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40ad33
push eax
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp esi, 1
jne 0x40c177
mov esi, dword [ebp - 0x62c]
mov eax, esi
cmp dword [esi + 0x14], 7
jbe 0x40ad4c
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x40b49c
cmp dword [esi + 0x14], 7
jbe 0x40ad64
mov esi, dword [esi]
sub esp, 0xc
lea ecx, [ebp - 0xd0]
push esi
call fcn.00416cf0
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xd4], eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x74], 0
je 0x40b428
push ecx
lea ecx, [ebp - 0x6f8]
call fcn.004180b0
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x6e8]
call fcn.004183e0
lea eax, [ebp - 0x48c]
push eax
lea ecx, [ebp - 0x6f8]
call fcn.00417db0
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xd
call fcn.0041b780
test eax, eax
jne 0x40ae18
mov eax, dword [ebp - 0xd0]
lea ecx, [ebp - 0xd0]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00402dc0
sub esp, 8
lea eax, [ebp - 0x48c]
lea ecx, [ebp - 0x7a8]
push eax
call fcn.00417ea0
xorps xmm0, xmm0
mov dword [ebp - 0x430], 0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x42c], 0xf
mov byte [ebp - 0x440], 0
push 0x7c
lea edx, [ebp - 0x440]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x7a8]
call fcn.00423490
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x40b379
xorps xmm0, xmm0
mov dword [ebp - 0x4d0], 0
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x4cc], 0
movups xmmword [ebp - 0x4e0], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40aea3
sub ecx, edx
lea eax, [ebp - 0x428]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x4e0]
call fcn.0041ed10
push 0
push 0
push 0
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x4e0]
cmp dword [ebp - 0x4cc], 7
mov edi, dword [ebp - 0x4d0]
cmova eax, dword [ebp - 0x4e0]
push 0
push edi
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.0049f202
add esp, 4
mov dword [ebp - 0x638], eax
cmp dword [ebp - 0x4cc], 7
lea ecx, [ebp - 0x4e0]
cmova ecx, dword [ebp - 0x4e0]
push 0
push 0
push esi
push eax
push edi
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edx, dword [ebp - 0x638]
xorps xmm0, xmm0
mov ecx, edx
mov byte [edx + esi], 0
movups xmmword [ebp - 0x4c4], xmm0
mov dword [ebp - 0x4b4], 0
lea esi, [ecx + 1]
mov dword [ebp - 0x4b0], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40af60
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x4c4]
call fcn.0041f3b0
mov edi, dword [ebp - 0x628]
push dword [ebp - 0x638]
or edi, 0x40000
call fcn.0049f1fd
add esp, 4
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x4c4]
mov esi, dword [ebp - 0x4b0]
mov eax, esi
mov edx, dword [ebp - 0x4b4]
sub eax, edx
cmp eax, 1
jb 0x40afd7
cmp esi, 0xf
lea eax, [edx + 1]
mov dword [ebp - 0x4b4], eax
cmova ecx, dword [ebp - 0x4c4]
mov al, byte [0x4ea944]
mov byte [ecx + edx], al
lea eax, [ebp - 0x4c4]
mov byte [ecx + edx + 1], 0
jmp 0x40aff2
push 1
push 0x4ea944
mov byte [ebp - 0x62c], 0
push dword [ebp - 0x62c]
push 1
call fcn.0041f170
mov dword [ebp - 0x448], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x458], xmm0
mov dword [ebp - 0x444], 0
or edi, 0x10000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x458], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x448], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x440]
cmp dword [ebp - 0x42c], 0xf
mov eax, dword [ebp - 0x444]
cmova edx, dword [ebp - 0x440]
mov esi, dword [ebp - 0x448]
sub eax, esi
mov ecx, dword [ebp - 0x430]
push ecx
push edx
cmp ecx, eax
ja 0x40b0aa
cmp dword [ebp - 0x444], 0xf
lea eax, [ecx + esi]
mov dword [ebp - 0x448], eax
lea eax, [ebp - 0x458]
cmova eax, dword [ebp - 0x458]
add esi, eax
push esi
call fcn.004a0e20
mov eax, dword [ebp - 0x430]
add esp, 0xc
mov byte [eax + esi], 0
lea eax, [ebp - 0x458]
jmp 0x40b0c3
mov byte [ebp - 0x62c], 0
push dword [ebp - 0x62c]
push ecx
lea ecx, [ebp - 0x458]
call fcn.0041f170
mov dword [ebp - 0x460], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x470], xmm0
mov dword [ebp - 0x45c], 0
or edi, 0x20000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x470], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x460], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x444]
cmp ecx, 0xf
jbe 0x40b14d
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b143
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c17e
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0xf
mov byte [ebp - 0x458], 0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x4b0]
cmp ecx, 0xf
jbe 0x40b1a6
mov edx, dword [ebp - 0x4c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b19c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c17e
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 0xf
mov byte [ebp - 0x4c4], 0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x4cc]
cmp ecx, 7
jbe 0x40b205
mov edx, dword [ebp - 0x4e0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b1fb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c17e
push ecx
push edx
call fcn.0049f19c
add esp, 8
xor eax, eax
mov dword [ebp - 0x4d0], 0
cmp dword [ebp - 0x45c], 0xf
mov word [ebp - 0x4e0], ax
lea eax, [ebp - 0x470]
cmova eax, dword [ebp - 0x470]
push eax
mov dword [ebp - 0x4cc], 7
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40b33b
lea ecx, [ebp - 0x5d0]
call fcn.00417320
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x470]
cmp dword [ebp - 0x45c], 0xf
mov eax, dword [ebp - 0x460]
cmova ecx, dword [ebp - 0x470]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x5d0]
call fcn.0041b2d0
lea ecx, [ebp - 0x5d0]
mov byte [ebp - 4], 0x16
or edi, 0x180000
call fcn.00417260
lea edx, [ebp - 0x62c]
lea ecx, [ebp - 0x458]
call fcn.004085f0
mov ecx, dword [ebp - 0x444]
mov byte [ebp - 0x621], al
cmp ecx, 7
jbe 0x40b2f7
mov edx, dword [ebp - 0x458]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b2e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c183
push ecx
push edx
call fcn.0049f19c
mov al, byte [ebp - 0x621]
add esp, 8
test al, al
je 0x40b33b
push dword [ebp - 0x62c]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x62c], eax
test eax, eax
je 0x40b33b
push 1
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [ebp - 0x62c]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x40b33b
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x45c]
cmp ecx, 0xf
jbe 0x40b379
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b36f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c183
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x42c]
cmp eax, 0xf
jbe 0x40b3b9
mov edx, dword [ebp - 0x440]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b3af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c188
push ecx
push edx
call fcn.0049f19c
add esp, 8
lea ecx, [ebp - 0x7a8]
call fcn.00404e20
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x478]
cmp ecx, 0xf
jbe 0x40b402
mov edx, dword [ebp - 0x48c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b3f8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c188
push ecx
push edx
call fcn.0049f19c
add esp, 8
lea ecx, [ebp - 0x6f8]
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 0xf
mov byte [ebp - 0x48c], 0
call fcn.00404e20
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xd4], eax
lea ecx, [ebp - 0xc0]
call fcn.00416c00
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [ebp + ecx - 0xd4], eax
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x18
push eax
mov dword [ebp - 0x60], vtable.std::ios_base.0
call fcn.0048ab6f
add esp, 4
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x630]
lea ecx, [ebp - 0x470]
call fcn.00404680
mov esi, eax
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x19
call fcn.004099c0
push esi
push eax
push dword [ebp - 0x634]
lea ecx, [ebp - 0x4f8]
mov byte [ebp - 4], 0x1a
call fcn.004203c0
or edi, 0x10
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x478]
cmp ecx, 7
jbe 0x40b51c
mov edx, dword [ebp - 0x48c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b512
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c18d
push ecx
push edx
call fcn.0049f19c
add esp, 8
xor eax, eax
mov dword [ebp - 0x47c], 0
mov dword [ebp - 0x478], 7
mov word [ebp - 0x48c], ax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x45c]
cmp ecx, 7
jbe 0x40b57d
mov edx, dword [ebp - 0x470]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b573
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c18d
push ecx
push edx
call fcn.0049f19c
add esp, 8
xor eax, eax
mov dword [ebp - 0x460], 0
cmp dword [ebp - 0x4e4], 7
mov word [ebp - 0x470], ax
lea eax, [ebp - 0x4f8]
cmova eax, dword [ebp - 0x4f8]
or edi, 0x20
push 0x104
push eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x45c], 7
push eax
call fcn.004af264
add esp, 0xc
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x440], xmm0
test eax, eax
je 0x40b60a
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b5f1
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
jmp 0x40b611
push 0
push 0x4ea3c4
lea ecx, [ebp - 0x440]
call fcn.0041ed10
lea edx, [ebp - 0x630]
lea ecx, [ebp - 0x440]
call fcn.004085f0
mov ecx, dword [ebp - 0x42c]
mov byte [ebp - 0x621], al
cmp ecx, 7
jbe 0x40b679
mov edx, dword [ebp - 0x440]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b669
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
mov al, byte [ebp - 0x621]
add esp, 8
test al, al
je 0x40b6bd
push dword [ebp - 0x630]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x630], eax
test eax, eax
je 0x40b6bd
push 1
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [ebp - 0x630]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x40b6bd
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
mov dword [ebp - 0x430], 0
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x42c], 0
movups xmmword [ebp - 0x440], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b6e4
sub ecx, edx
lea eax, [ebp - 0x428]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x440]
call fcn.0041ed10
push 0x17
push str.qianniaodun_restart.exe
lea ecx, [ebp - 0x440]
mov byte [ebp - 4], 0x1e
call fcn.0041d0a0
mov dword [ebp - 0x494], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4a4], xmm0
mov dword [ebp - 0x490], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x40
movups xmmword [ebp - 0x4a4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x494], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x42c]
cmp ecx, 7
jbe 0x40b7ab
mov edx, dword [ebp - 0x440]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b7a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c192
push ecx
push edx
call fcn.0049f19c
add esp, 8
xor eax, eax
mov dword [ebp - 0x430], 0
cmp dword [ebp - 0x490], 7
mov word [ebp - 0x440], ax
lea eax, [ebp - 0x4a4]
cmova eax, dword [ebp - 0x4a4]
push eax
mov dword [ebp - 0x42c], 7
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40bb63
xorps xmm0, xmm0
mov dword [ebp - 0x47c], 0
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x478], 0
movups xmmword [ebp - 0x48c], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b813
sub ecx, edx
lea eax, [ebp - 0x428]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x48c]
call fcn.0041ed10
push 0xb
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x48c]
or edi, 1
push 0x4ea988
mov dword [ebp - 0x63c], edi
call fcn.0041d0a0
mov dword [ebp - 0x460], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x470], xmm0
mov dword [ebp - 0x45c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x2002
push ecx
movups xmmword [ebp - 0x470], xmm0
mov dword [ebp - 0x628], edi
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x460], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x470]
cmp dword [ebp - 0x45c], 7
cmova eax, dword [ebp - 0x470]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x40b8ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp - 0x628]
test al, 2
je 0x40b944
mov ecx, dword [ebp - 0x45c]
and eax, 0xfffffffd
mov dword [ebp - 0x628], eax
cmp ecx, 7
jbe 0x40b927
mov edx, dword [ebp - 0x470]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b917
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c197
push ecx
push edx
call fcn.0049f19c
mov eax, dword [ebp - 0x628]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 7
mov word [ebp - 0x470], cx
mov dword [ebp - 4], 0x20
test al, 1
je 0x40b98f
mov ecx, dword [ebp - 0x478]
cmp ecx, 7
jbe 0x40b98f
mov edx, dword [ebp - 0x48c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b985
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c197
push ecx
push edx
call fcn.0049f19c
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x448], 0
push 0x30
movups xmmword [ebp - 0x458], xmm0
mov dword [ebp - 0x444], 0
call fcn.0049f1cd
movups xmm0, xmmword [str.http:__www.aqianniao.com_test_restart1.exe]
mov ecx, eax
mov dword [ebp - 0x448], 0x2a
mov dword [ebp - 0x458], ecx
add esp, 4
mov dword [ebp - 0x444], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x4eac54]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x4eac64]
movq qword [ecx + 0x20], xmm0
mov ax, word [0x4eac6c]
mov word [ecx + 0x28], ax
mov byte [ecx + 0x2a], 0
push 0
push 0
push 0
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x4a4]
cmp dword [ebp - 0x490], 7
mov edi, dword [ebp - 0x494]
cmova eax, dword [ebp - 0x4a4]
push 0
push edi
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.0049f202
add esp, 4
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x490], 7
lea ecx, [ebp - 0x4a4]
cmova ecx, dword [ebp - 0x4a4]
push 0
push 0
push esi
push eax
push edi
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, dword [ebp - 0x630]
xorps xmm0, xmm0
mov ecx, edi
mov byte [edi + esi], 0
movups xmmword [ebp - 0x470], xmm0
mov dword [ebp - 0x460], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x45c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40baa0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x470]
call fcn.0041f3b0
push edi
call fcn.0049f1fd
add esp, 4
lea edx, [ebp - 0x470]
lea ecx, [ebp - 0x458]
call fcn.00409730
mov ecx, dword [ebp - 0x45c]
cmp ecx, 0xf
jbe 0x40bb0a
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bb00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c19c
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
cmp ecx, 0xf
jbe 0x40bb63
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bb59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c19c
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ax, word [0x4eac78]
xorps xmm0, xmm0
movups xmmword [ebp - 0x510], xmm0
mov dword [ebp - 0x500], 0xa
movq xmm0, qword [str.._temp.zip]
mov dword [ebp - 0x4fc], 0xf
movq qword [ebp - 0x510], xmm0
mov word [ebp - 0x508], ax
mov byte [ebp - 0x506], 0
mov ecx, dword [ebp - 0x634]
lea edx, [ebp - 0x510]
mov byte [ebp - 4], 0x23
call fcn.00408e80
test al, al
je 0x40bfbb
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
lea eax, [ebp - 0x4c8]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x40bc0a
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x4c8]
push eax
call edi
lea eax, [ebp - 0x4c8]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0x4c8]
push eax
call esi
test eax, eax
jne 0x40bbe1
mov ax, word [0x4eac84]
xorps xmm0, xmm0
movups xmmword [ebp - 0x458], xmm0
mov edi, 0xf
mov word [ebp - 0x450], ax
movq xmm0, qword [str.qianniaodun]
mov al, byte [0x4eac86]
mov dword [ebp - 0x448], 0xb
mov dword [ebp - 0x444], edi
movq qword [ebp - 0x458], xmm0
mov byte [ebp - 0x44e], al
mov byte [ebp - 0x44d], 0
mov byte [ebp - 4], 0x24
mov ecx, 0x4f6f00
cmp dword [0x4f6f14], edi
mov edx, dword [0x4f6f10]
cmova ecx, dword [0x4f6f00]
push 1
push 0x4eaadc
call fcn.004266b0
add esp, 8
test al, al
jne 0x40bcab
push 0xa
lea esi, [ebp - 0x458]
mov dword [ebp - 0x448], 0xa
push str.gameshield
push esi
call fcn.004a0e20
add esp, 0xc
mov byte [esi + 0xa], 0
movq xmm0, qword [str.._TempFolder]
mov eax, dword [0x4eac9c]
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 0xc
mov dword [ebp - 0x42c], 0xf
movq qword [ebp - 0x440], xmm0
mov dword [ebp - 0x438], eax
mov byte [ebp - 0x434], 0
xorps xmm0, xmm0
mov dword [ebp - 0x47c], 0
movups xmmword [ebp - 0x48c], xmm0
mov dword [ebp - 0x478], 0xf
mov byte [ebp - 0x48c], 0
lea eax, [ebp - 0x48c]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x440]
push eax
lea edx, [ebp - 0x458]
lea ecx, [ebp - 0x510]
call fcn.004063c0
mov byte [ebp - 4], 0x25
add esp, 8
mov ecx, dword [ebp - 0x478]
mov byte [ebp - 0x621], al
cmp ecx, 0xf
jbe 0x40bd7a
mov edx, dword [ebp - 0x48c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bd70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c1a1
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x42c]
cmp ecx, 0xf
jbe 0x40bdb8
mov edx, dword [ebp - 0x440]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bdae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c1a1
push ecx
push edx
call fcn.0049f19c
add esp, 8
cmp byte [ebp - 0x621], 0
jne 0x40c1a6
mov ecx, dword [ebp - 0x444]
cmp ecx, 0xf
jbe 0x40bdff
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bdf5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0xf
mov byte [ebp - 0x458], 0
cmp ecx, 0xf
jbe 0x40be54
mov edx, dword [ebp - 0x510]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40be4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x490]
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 0xf
mov byte [ebp - 0x510], 0
cmp ecx, 7
jbe 0x40beaf
mov edx, dword [ebp - 0x4a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40bea5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x4e4]
xor eax, eax
mov dword [ebp - 0x494], 0
mov dword [ebp - 0x490], 7
mov word [ebp - 0x4a4], ax
cmp ecx, 7
jbe 0x40bf0c
mov edx, dword [ebp - 0x4f8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40bf02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x52c]
xor eax, eax
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 7
mov word [ebp - 0x4f8], ax
cmp ecx, 0xf
jbe 0x40bf63
mov edx, dword [ebp - 0x540]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bf59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x52c], 0xf
mov byte [ebp - 0x540], 0
cmp ecx, 0xf
jbe 0x40c111
mov edx, dword [ebp - 0x528]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c107
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
jmp 0x40c107
mov ecx, dword [ebp - 0x4fc]
cmp ecx, 0xf
jbe 0x40bff5
mov edx, dword [ebp - 0x510]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bfeb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x490]
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 0xf
mov byte [ebp - 0x510], 0
cmp ecx, 7
jbe 0x40c050
mov edx, dword [ebp - 0x4a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c046
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x4e4]
xor eax, eax
mov dword [ebp - 0x494], 0
mov dword [ebp - 0x490], 7
mov word [ebp - 0x4a4], ax
cmp ecx, 7
jbe 0x40c0ad
mov edx, dword [ebp - 0x4f8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c0a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
push ecx
push edx
call fcn.0049f19c
add esp, 8
mov ecx, dword [ebp - 0x52c]
xor eax, eax
mov dword [ebp - 0x4e8], 0
mov dword [ebp - 0x4e4], 7
mov word [ebp - 0x4f8], ax
cmp ecx, 0xf
jbe 0x40bf63
mov edx, dword [ebp - 0x540]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bf59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40c258
jmp 0x40bf59
push ecx
push edx
call fcn.0049f19c
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0049f18e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str.invalid_stoi_argument
call fcn.0048677d
push str.stoi_argument_out_of_range
call fcn.004867bd
push str.invalid_stoi_argument
call fcn.0048677d
push str.stoi_argument_out_of_range
call fcn.004867bd
call fcn.00401360
call fcn.004a47f6
call fcn.00401360
call fcn.004a47f6
call fcn.00401360
call fcn.004a47f6
push 0
call fcn.004afc2c
call fcn.004a47f6
call fcn.004a47f6
call fcn.004a47f6
call fcn.004a47f6
call fcn.004a47f6
call fcn.004a47f6
call fcn.004a47f6
call fcn.004a47f6
lea ecx, [ebp - 0x510]
call fcn.004197c0
push eax
call fcn.004af433
add esp, 4
lea ecx, [ebp - 0x48c]
call fcn.00409c00
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x27
call fcn.0041e130
test al, al
je 0x40c251
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x470]
call fcn.00419480
push str.qianniaodun_restart.exe
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x440]
call fcn.0041d7f0
add esp, 4
lea edx, [ebp - 0x48c]
mov byte [ebp - 4], 0x29
mov ecx, eax
call fcn.00409120
lea ecx, [ebp - 0x440]
mov byte [ebp - 0x621], al
call fcn.00419390
lea ecx, [ebp - 0x470]
call fcn.00419390
cmp byte [ebp - 0x621], 0
jne 0x40c246
push str.._TempFolder
call fcn.004af433
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call fcn.004afc2c
call fcn.004a47f6
int3