Function at 0x409d90
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 0x4c9bf2
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x778
mov eax, dword [0x4f3480]
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 - 0x608], edx
mov esi, ecx
mov edi, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x604], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x614], 0
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x60c], eax
mov eax, edi
jbe 0x409e02
mov eax, dword [edi]
cmp dword [esi + 0x14], 0xf
jbe 0x409e0a
mov ecx, dword [esi]
push dword [edi + 0x10]
mov edx, dword [esi + 0x10]
push eax
call fcn.00424d20
add esp, 8
test al, al
jne 0x40bd73
cmp dword [edi + 0x14], 0xf
mov ecx, edi
jbe 0x409e2b
mov ecx, dword [edi]
mov edx, dword [edi + 0x10]
push 0
push 0x4e7312
call fcn.00424d20
add esp, 8
test al, al
jne 0x40bd73
call fcn.004a35d3
cmp dword [esi + 0x14], 0xf
mov ecx, eax
mov dword [ebp - 0x61c], ecx
mov eax, esi
mov dword [ebp - 0x600], esi
jbe 0x409e68
mov eax, dword [esi]
mov dword [ebp - 0x600], eax
mov dword [ecx], 0
lea ecx, [ebp - 0x620]
push 0xa
push ecx
push eax
call fcn.004a790b
mov ecx, dword [ebp - 0x600]
add esp, 0xc
mov dword [ebp - 0x614], eax
cmp ecx, dword [ebp - 0x620]
je 0x40bd93
mov eax, dword [ebp - 0x61c]
cmp dword [eax], 0x22
je 0x40bd9d
call fcn.004a35d3
cmp dword [edi + 0x14], 0xf
mov ecx, eax
mov dword [ebp - 0x624], ecx
mov eax, edi
mov dword [ebp - 0x600], edi
jbe 0x409eca
mov eax, dword [edi]
mov dword [ebp - 0x600], eax
mov dword [ecx], 0
lea ecx, [ebp - 0x61c]
push 0xa
push ecx
push eax
call fcn.004a790b
mov ecx, dword [ebp - 0x600]
add esp, 0xc
mov edx, eax
cmp ecx, dword [ebp - 0x61c]
je 0x40bda7
mov eax, dword [ebp - 0x624]
cmp dword [eax], 0x22
je 0x40bdb1
cmp dword [ebp - 0x614], edx
jg 0x40bd73
xorps xmm0, xmm0
mov byte [ebp - 0x4a4], 0
movups xmmword [ebp - 0x564], xmm0
xor ecx, ecx
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ecx + 0x4e7ba8]
xor al, 0x5a
mov byte [ebp + ecx - 0x564], al
inc ecx
cmp ecx, 0xf
jb 0x409f30
movups xmm0, xmmword [0x4e7bb8]
xor eax, eax
mov byte [ebp - 0x555], 0
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor ecx, ecx
xorps xmm1, xmm0
mov word [ebp - 0x444], ax
movups xmmword [ebp - 0x454], xmm1
lea edx, [eax + 2]
mov al, byte [ecx + 0x4e7bc8]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x445], al
sub edx, 1
jne 0x409f72
push 0x4e7bcc
lea ecx, [ebp - 0x528]
mov byte [ebp - 0x442], dl
call fcn.004158b0
xorps xmm0, xmm0
mov byte [ebp - 0x48c], 0
movq qword [ebp - 0x538], xmm0
xor ecx, ecx
mov dword [ebp - 0x530], 0
mov word [ebp - 0x52c], 0
mov byte [ebp - 0x52a], 0
nop dword [eax]
mov al, byte [ecx + 0x4e7bf4]
xor al, 0x5a
mov byte [ebp + ecx - 0x538], al
inc ecx
cmp ecx, 0xe
jb 0x409fd0
movaps xmm2, xmmword [str.ZZZZZZZZZZZZZZZZ]
lea ecx, [ebp - 0x58c]
xorps xmm0, xmm0
mov byte [ebp - 0x52a], 0
movlpd qword [ebp - 0x484], xmm0
movlpd qword [ebp - 0x47c], xmm0
movups xmm0, xmmword [0x4e7c04]
push 0x4e7c18
mov byte [ebp - 0x5f9], 0xe4
xorps xmm2, xmm0
mov byte [ebp - 0x473], 0
call fcn.004158b0
movaps xmm3, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm0, xmm0
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor eax, eax
movlpd qword [ebp - 0x43c], xmm0
xor ecx, ecx
movlpd qword [ebp - 0x434], xmm0
movups xmm0, xmmword [str.Automatic_Update]
mov byte [ebp - 0x42c], 0
lea edx, [eax + 0xa]
mov word [ebp - 0x590], ax
xorps xmm3, xmm0
xorps xmm0, xmm0
movlpd qword [ebp - 0x598], xmm0
movups xmm0, xmmword [str.Your_current_version_is]
xorps xmm1, xmm0
movups xmmword [ebp - 0x5a8], xmm1
nop word [eax + eax]
mov al, byte [ecx + 0x4e7c64]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x599], al
sub edx, 1
jne 0x40a090
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0x544], xmm0
movups xmm0, xmmword [0x4e7c70]
mov byte [ebp - 0x58e], dl
xor ecx, ecx
mov word [ebp - 0x53c], ax
xorps xmm1, xmm0
mov byte [ebp - 0x53a], al
movups xmmword [ebp - 0x554], xmm1
lea edx, [eax + 0xb]
mov al, byte [ecx + 0x4e7c80]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x545], al
sub edx, 1
jne 0x40a0e4
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm0, xmm0
movlpd qword [ebp - 0x5b8], xmm0
xor eax, eax
movups xmm0, xmmword [0x4e7c90]
mov byte [ebp - 0x539], dl
xor ecx, ecx
mov word [ebp - 0x5b0], ax
xorps xmm0, xmm1
lea edx, [eax + 0xa]
movups xmmword [ebp - 0x5f8], xmm0
movups xmm0, xmmword [0x4e7ca0]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5e8], xmm0
movups xmm0, xmmword [0x4e7cb0]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5d8], xmm0
movups xmm0, xmmword [0x4e7cc0]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5c8], xmm0
mov al, byte [ecx + 0x4e7cd0]
lea ecx, [ecx + 1]
xor al, 0x5a
mov byte [ebp + ecx - 0x5b9], al
sub edx, 1
jne 0x40a165
xorps xmm0, xmm0
mov byte [ebp - 0x5ae], dl
movups xmmword [ebp - 0x4e8], xmm0
mov dword [ebp - 0x4d8], edx
mov dword [ebp - 0x4d4], 0xf
mov byte [ebp - 0x4e8], dl
mov dword [ebp - 4], edx
movups xmmword [ebp - 0x500], xmm0
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x4ec], 0xf
mov byte [ebp - 0x500], dl
mov byte [ebp - 4], 1
mov eax, dword [0x4f6a84]
cmp eax, 2
jne 0x40a4c6
xor eax, eax
nop word [eax + eax]
xor byte [ebp + eax - 0x538], 0x5a
inc eax
cmp eax, 0xe
jb 0x40a1e0
mov al, byte [ebp - 0x5f9]
movaps xmm0, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor al, 0x5a
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm0, xmm2
mov byte [ebp - 0x474], al
xor eax, eax
movups xmmword [ebp - 0x484], xmm0
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x58c]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x58c], xmm0
add eax, 0x10
cmp eax, 0x20
jb 0x40a220
cmp eax, 0x27
jae 0x40a24e
xor byte [ebp + eax - 0x58c], 0x5a
inc eax
cmp eax, 0x27
jb 0x40a240
lea ecx, [ebp - 0x538]
mov dword [ebp - 0x494], 0xd384d4d7
mov dword [ebp - 0x490], 0xc2d0fcb8
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a270
sub ecx, edx
mov eax, closesocket
mov edx, dword [esi + 0x10]
sub eax, edx
cmp eax, ecx
jb 0x40bdbb
cmp dword [esi + 0x14], 0xf
jbe 0x40a293
mov esi, dword [esi]
push edx
push esi
push ecx
lea eax, [ebp - 0x538]
push eax
push ecx
push dword [ebp - 0x60c]
lea ecx, [ebp - 0x4d0]
call fcn.0041ef20
lea eax, [ebp - 0x484]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x4d0]
call fcn.00418020
mov dword [ebp - 0x448], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x458], xmm0
mov dword [ebp - 0x444], 0
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
push edi
lea edx, [ebp - 0x458]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x470]
call fcn.0041bcf0
add esp, 4
lea ecx, [ebp - 0x58c]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.00418020
mov edi, 0x1c
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 - 0x4d4]
movq qword [ebp - 0x618], xmm1
movups xmmword [ebp - 0x4b0], xmm0
cmp ecx, 0xf
jbe 0x40a3ac
mov edx, dword [ebp - 0x4e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a393
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdc0
push ecx
push edx
call fcn.0049d2cb
movups xmm0, xmmword [ebp - 0x4b0]
add esp, 8
movq xmm1, qword [ebp - 0x618]
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x45c]
movq qword [ebp - 0x4d8], xmm1
movups xmmword [ebp - 0x4e8], xmm0
cmp ecx, 0xf
jbe 0x40a3f9
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a3ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdc0
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
cmp ecx, 0xf
jbe 0x40a452
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a448
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdc0
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0xf
mov byte [ebp - 0x458], 0
cmp ecx, 0xf
jbe 0x40a4ab
mov edx, dword [ebp - 0x4d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a4a1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdc0
push ecx
push edx
call fcn.0049d2cb
add esp, 8
lea ecx, [ebp - 0x494]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a4b4
lea eax, [ebp - 0x494]
jmp 0x40aaf1
cmp eax, 3
jne 0x40a802
movups xmm0, xmmword [ebp - 0x5a8]
mov eax, 0x10
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm1, xmm0
movups xmmword [ebp - 0x5a8], xmm1
nop dword [eax]
xor byte [ebp + eax - 0x5a8], 0x5a
inc eax
cmp eax, 0x1a
jb 0x40a4f0
movups xmm0, xmmword [ebp - 0x554]
mov eax, 0x10
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm1, xmm0
movups xmmword [ebp - 0x554], xmm1
nop dword [eax + eax]
xor byte [ebp + eax - 0x554], 0x5a
inc eax
cmp eax, 0x1b
jb 0x40a520
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
mov eax, 0x40
movups xmm0, xmmword [ebp - 0x5f8]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5f8], xmm0
movups xmm0, xmmword [ebp - 0x5e8]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5e8], xmm0
movups xmm0, xmmword [ebp - 0x5d8]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5d8], xmm0
movups xmm0, xmmword [ebp - 0x5c8]
xorps xmm0, xmm1
movups xmmword [ebp - 0x5c8], xmm0
nop
xor byte [ebp + eax - 0x5f8], 0x5a
inc eax
cmp eax, 0x4a
jb 0x40a580
movaps xmm0, xmmword [str.ZZZZZZZZZZZZZZZZ]
lea ecx, [ebp - 0x5a8]
xorps xmm0, xmm3
lea edx, [ecx + 1]
movups xmmword [ebp - 0x43c], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a5a8
sub ecx, edx
mov eax, closesocket
mov edx, dword [esi + 0x10]
sub eax, edx
cmp eax, ecx
jb 0x40bdc5
cmp dword [esi + 0x14], 0xf
jbe 0x40a5cb
mov esi, dword [esi]
push edx
push esi
push ecx
lea eax, [ebp - 0x5a8]
push eax
push ecx
push dword [ebp - 0x60c]
lea ecx, [ebp - 0x4d0]
call fcn.0041ef20
lea eax, [ebp - 0x554]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x4d0]
call fcn.00418020
mov dword [ebp - 0x448], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x458], xmm0
mov dword [ebp - 0x444], 0
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
push edi
lea edx, [ebp - 0x458]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x470]
call fcn.0041bcf0
add esp, 4
lea ecx, [ebp - 0x5f8]
mov byte [ebp - 4], 7
push ecx
mov ecx, eax
call fcn.00418020
mov edi, 0x9800
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 - 0x4d4]
movq qword [ebp - 0x618], xmm1
movups xmmword [ebp - 0x4b0], xmm0
cmp ecx, 0xf
jbe 0x40a6e4
mov edx, dword [ebp - 0x4e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a6cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdca
push ecx
push edx
call fcn.0049d2cb
movups xmm0, xmmword [ebp - 0x4b0]
add esp, 8
movq xmm1, qword [ebp - 0x618]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x45c]
movq qword [ebp - 0x4d8], xmm1
movups xmmword [ebp - 0x4e8], xmm0
cmp ecx, 0xf
jbe 0x40a731
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a727
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdca
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
cmp ecx, 0xf
jbe 0x40a78a
mov edx, dword [ebp - 0x458]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a780
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdca
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0xf
mov byte [ebp - 0x458], 0
cmp ecx, 0xf
jbe 0x40a7e3
mov edx, dword [ebp - 0x4d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a7d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdca
push ecx
push edx
call fcn.0049d2cb
add esp, 8
lea ecx, [ebp - 0x43c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a7f0
lea eax, [ebp - 0x43c]
jmp 0x40aaf1
xor eax, eax
xor byte [ebp + eax - 0x564], 0x5a
inc eax
cmp eax, 0xf
jb 0x40a804
movups xmm0, xmmword [ebp - 0x454]
mov eax, 0x10
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xorps xmm1, xmm0
movups xmmword [ebp - 0x454], xmm1
nop
xor byte [ebp + eax - 0x454], 0x5a
inc eax
cmp eax, 0x12
jb 0x40a830
movaps xmm1, xmmword [str.ZZZZZZZZZZZZZZZZ]
xor eax, eax
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x528]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x528], xmm0
add eax, 0x10
cmp eax, 0x20
jb 0x40a850
cmp eax, 0x27
jae 0x40a87e
xor byte [ebp + eax - 0x528], 0x5a
inc eax
cmp eax, 0x27
jb 0x40a870
lea ecx, [ebp - 0x564]
mov dword [ebp - 0x4ac], 0xafb6d4d7
mov dword [ebp - 0x4a8], 0xc2d0fcb8
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a8a0
sub ecx, edx
mov eax, closesocket
mov edx, dword [esi + 0x10]
sub eax, edx
cmp eax, ecx
jb 0x40bdcf
cmp dword [esi + 0x14], 0xf
jbe 0x40a8c3
mov esi, dword [esi]
push edx
push esi
push ecx
lea eax, [ebp - 0x564]
push eax
push ecx
push dword [ebp - 0x60c]
lea ecx, [ebp - 0x4d0]
call fcn.0041ef20
lea eax, [ebp - 0x454]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x4d0]
call fcn.00418020
mov dword [ebp - 0x478], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x488], xmm0
mov dword [ebp - 0x474], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x488], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x478], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea edx, [ebp - 0x488]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x470]
call fcn.0041bcf0
add esp, 4
lea ecx, [ebp - 0x528]
mov byte [ebp - 4], 0xa
push ecx
mov ecx, eax
call fcn.00418020
mov edi, 0x700
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 - 0x4d4]
movq qword [ebp - 0x618], xmm1
movups xmmword [ebp - 0x498], xmm0
cmp ecx, 0xf
jbe 0x40a9dc
mov edx, dword [ebp - 0x4e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a9c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdd4
push ecx
push edx
call fcn.0049d2cb
movups xmm0, xmmword [ebp - 0x498]
add esp, 8
movq xmm1, qword [ebp - 0x618]
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x45c]
movq qword [ebp - 0x4d8], xmm1
movups xmmword [ebp - 0x4e8], xmm0
cmp ecx, 0xf
jbe 0x40aa29
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40aa1f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdd4
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x474]
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
cmp ecx, 0xf
jbe 0x40aa82
mov edx, dword [ebp - 0x488]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40aa78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdd4
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0xf
mov byte [ebp - 0x488], 0
cmp ecx, 0xf
jbe 0x40aadb
mov edx, dword [ebp - 0x4d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40aad1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdd4
push ecx
push edx
call fcn.0049d2cb
add esp, 8
lea ecx, [ebp - 0x4ac]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aae4
lea eax, [ebp - 0x4ac]
sub ecx, edx
push ecx
push eax
lea ecx, [ebp - 0x500]
call fcn.0041a760
cmp dword [ebp - 0x4d4], 0xf
lea ecx, [ebp - 0x4e8]
push 0x41
cmova ecx, dword [ebp - 0x4e8]
lea eax, [ebp - 0x500]
cmp dword [ebp - 0x4ec], 0xf
cmova eax, dword [ebp - 0x500]
push eax
push ecx
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 0x40ab87
push 0x4e7b78
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 0x40ab87
push eax
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp esi, 1
jne 0x40bdd9
mov esi, dword [ebp - 0x604]
mov eax, esi
cmp dword [esi + 0x14], 0xf
jbe 0x40aba0
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40b13f
cmp dword [esi + 0x14], 0xf
jbe 0x40abb8
mov esi, dword [esi]
sub esp, 0xc
lea ecx, [ebp - 0xd0]
push esi
call fcn.00415640
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 0x40b0cb
push ecx
lea ecx, [ebp - 0x6d8]
call fcn.00416a00
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x6c8]
call fcn.00416d30
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x6d8]
call fcn.00416700
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xd
call fcn.00419ee0
test eax, eax
jne 0x40ac6c
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.00402db0
sub esp, 8
lea eax, [ebp - 0x470]
lea ecx, [ebp - 0x788]
push eax
call fcn.004167f0
xorps xmm0, xmm0
mov dword [ebp - 0x490], 0
movups xmmword [ebp - 0x4a0], xmm0
mov dword [ebp - 0x48c], 0xf
mov byte [ebp - 0x4a0], 0
push 0x7c
lea edx, [ebp - 0x4a0]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x788]
call fcn.00421b00
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x40b01c
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x57c]
call fcn.00417c50
lea edx, [ebp - 0x57c]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x4d0]
call fcn.004069b0
mov ecx, eax
mov byte [ebp - 4], 0x11
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x40ad29
cmp dword [ecx + 0x14], 0xf
lea eax, [edx + 1]
mov dword [ecx + 0x10], eax
mov esi, ecx
jbe 0x40ad1a
mov esi, dword [ecx]
mov al, byte [0x4e79f8]
mov byte [esi + edx], al
mov byte [esi + edx + 1], 0
jmp 0x40ad46
push 1
push 0x4e79f8
mov byte [ebp - 0x604], 0
push dword [ebp - 0x604]
push 1
call fcn.0041d820
mov ecx, eax
mov dword [ebp - 0x430], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x42c], 0
or edi, 0x10000
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x440], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x430], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x4a0]
cmp dword [ebp - 0x48c], 0xf
mov eax, dword [ebp - 0x42c]
cmova edx, dword [ebp - 0x4a0]
mov esi, dword [ebp - 0x430]
sub eax, esi
mov ecx, dword [ebp - 0x490]
push ecx
push edx
cmp ecx, eax
ja 0x40adfe
cmp dword [ebp - 0x42c], 0xf
lea eax, [esi + ecx]
mov dword [ebp - 0x430], eax
lea eax, [ebp - 0x440]
cmova eax, dword [ebp - 0x440]
add esi, eax
push esi
call fcn.0049ef50
mov eax, dword [ebp - 0x490]
add esp, 0xc
mov byte [esi + eax], 0
lea eax, [ebp - 0x440]
jmp 0x40ae17
mov byte [ebp - 0x604], 0
push dword [ebp - 0x604]
push ecx
lea ecx, [ebp - 0x440]
call fcn.0041d820
mov dword [ebp - 0x508], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x518], xmm0
mov dword [ebp - 0x504], 0
or edi, 0x20000
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x518], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x508], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x42c]
cmp ecx, 0xf
jbe 0x40aea1
mov edx, dword [ebp - 0x440]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ae97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bde0
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0xf
mov byte [ebp - 0x440], 0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x4bc]
cmp ecx, 0xf
jbe 0x40aefa
mov edx, dword [ebp - 0x4d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40aef0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bde0
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov dword [ebp - 0x4c0], 0
mov dword [ebp - 0x4bc], 0xf
mov byte [ebp - 0x4d0], 0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x568]
cmp ecx, 7
jbe 0x40af59
mov edx, dword [ebp - 0x57c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40af4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bde0
push ecx
push edx
call fcn.0049d2cb
add esp, 8
xor eax, eax
mov dword [ebp - 0x56c], 0
lea ecx, [ebp - 0x518]
mov dword [ebp - 0x568], 7
mov word [ebp - 0x57c], ax
call fcn.00417f60
mov ecx, eax
call fcn.00404660
test al, al
je 0x40afde
lea edx, [ebp - 0x518]
lea ecx, [ebp - 0x550]
call fcn.00409680
lea edx, [ebp - 0x604]
mov ecx, eax
call fcn.004081c0
lea ecx, [ebp - 0x550]
mov byte [ebp - 0x5f9], al
call fcn.00417b60
cmp byte [ebp - 0x5f9], 0
je 0x40afde
mov ecx, dword [ebp - 0x604]
call fcn.00408330
test al, al
je 0x40afde
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x504]
cmp ecx, 0xf
jbe 0x40b01c
mov edx, dword [ebp - 0x518]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b012
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bde5
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x48c]
cmp eax, 0xf
jbe 0x40b05c
mov edx, dword [ebp - 0x4a0]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b052
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdea
push ecx
push edx
call fcn.0049d2cb
add esp, 8
lea ecx, [ebp - 0x788]
call fcn.004047e0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x45c]
cmp ecx, 0xf
jbe 0x40b0a5
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b09b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdea
push ecx
push edx
call fcn.0049d2cb
add esp, 8
lea ecx, [ebp - 0x6d8]
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
call fcn.004047e0
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.00415550
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], 0x17
push eax
mov dword [ebp - 0x60], vtable.std::ios_base.0
call fcn.00488dc1
add esp, 4
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x608]
lea ecx, [ebp - 0x470]
call fcn.00405d10
mov esi, eax
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x18
call fcn.00409710
push esi
push eax
push dword [ebp - 0x60c]
lea ecx, [ebp - 0x4b8]
mov byte [ebp - 4], 0x19
call fcn.0041e950
or edi, 0x20
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x4bc]
cmp ecx, 7
jbe 0x40b1bf
mov edx, dword [ebp - 0x4d0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b1b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdef
push ecx
push edx
call fcn.0049d2cb
add esp, 8
xor eax, eax
mov dword [ebp - 0x4c0], 0
mov dword [ebp - 0x4bc], 7
mov word [ebp - 0x4d0], ax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x45c]
cmp ecx, 7
jbe 0x40b220
mov edx, dword [ebp - 0x470]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b216
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdef
push ecx
push edx
call fcn.0049d2cb
add esp, 8
xor eax, eax
mov dword [ebp - 0x460], 0
cmp dword [ebp - 0x4a4], 7
mov word [ebp - 0x470], ax
lea eax, [ebp - 0x4b8]
cmova eax, dword [ebp - 0x4b8]
or edi, 0x40
push 0x104
push eax
lea eax, [ebp - 0x220]
mov dword [ebp - 0x45c], 7
push eax
call fcn.004ac9a5
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 0x40b2ad
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b294
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
jmp 0x40b2b4
push 0
push 0x4e7478
lea ecx, [ebp - 0x440]
call fcn.0041d3c0
lea edx, [ebp - 0x608]
lea ecx, [ebp - 0x440]
call fcn.004081c0
mov ecx, dword [ebp - 0x42c]
mov byte [ebp - 0x5f9], al
cmp ecx, 7
jbe 0x40b31c
mov edx, dword [ebp - 0x440]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b30c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
mov al, byte [ebp - 0x5f9]
add esp, 8
test al, al
je 0x40b360
push dword [ebp - 0x608]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x608], eax
test eax, eax
je 0x40b360
push 1
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [ebp - 0x608]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x40b360
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
mov dword [ebp - 0x490], 0
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x48c], 0
movups xmmword [ebp - 0x4a0], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b387
sub ecx, edx
lea eax, [ebp - 0x428]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x4a0]
call fcn.0041d3c0
push 0x17
push str.qianniaodun_restart.exe
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 0x1d
call fcn.0041b730
mov dword [ebp - 0x448], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x458], xmm0
mov dword [ebp - 0x444], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x80
movups xmmword [ebp - 0x458], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x448], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x48c]
cmp ecx, 7
jbe 0x40b451
mov edx, dword [ebp - 0x4a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b447
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdf4
push ecx
push edx
call fcn.0049d2cb
add esp, 8
xor eax, eax
mov dword [ebp - 0x490], 0
cmp dword [ebp - 0x444], 7
mov word [ebp - 0x4a0], ax
lea eax, [ebp - 0x458]
cmova eax, dword [ebp - 0x458]
push eax
mov dword [ebp - 0x48c], 7
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40b815
xorps xmm0, xmm0
mov dword [ebp - 0x460], 0
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x45c], 0
movups xmmword [ebp - 0x470], xmm0
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b4c0
sub ecx, edx
lea eax, [ebp - 0x428]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x470]
call fcn.0041d3c0
push 0xb
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x470]
or edi, 1
push 0x4e7a3c
mov dword [ebp - 0x614], edi
call fcn.0041b730
mov dword [ebp - 0x430], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x42c], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
or edi, 0x2002
push ecx
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x600], edi
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x430], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x440]
cmp dword [ebp - 0x42c], 7
cmova eax, dword [ebp - 0x440]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x40b57b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp - 0x600]
test al, 2
je 0x40b5f1
mov ecx, dword [ebp - 0x42c]
and eax, 0xfffffffd
mov dword [ebp - 0x600], eax
cmp ecx, 7
jbe 0x40b5d4
mov edx, dword [ebp - 0x440]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b5c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdf9
push ecx
push edx
call fcn.0049d2cb
mov eax, dword [ebp - 0x600]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 7
mov word [ebp - 0x440], cx
mov dword [ebp - 4], 0x1f
test al, 1
je 0x40b63c
mov ecx, dword [ebp - 0x45c]
cmp ecx, 7
jbe 0x40b63c
mov edx, dword [ebp - 0x470]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b632
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdf9
push ecx
push edx
call fcn.0049d2cb
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x508], 0
push 0x30
movups xmmword [ebp - 0x518], xmm0
mov dword [ebp - 0x504], 0xf
call fcn.0049d2fc
movups xmm0, xmmword [str.http:__www.aqianniao.com_test_restart1.exe]
mov ecx, eax
mov dword [ebp - 0x508], 0x2a
mov dword [ebp - 0x518], ecx
add esp, 4
mov dword [ebp - 0x504], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x4e7d1c]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x4e7d2c]
movq qword [ecx + 0x20], xmm0
mov ax, word [0x4e7d34]
mov word [ecx + 0x28], ax
mov byte [ecx + 0x2a], 0
push 0
push 0
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x458]
cmp dword [ebp - 0x444], 7
mov ecx, dword [ebp - 0x448]
cmova eax, dword [ebp - 0x458]
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
push 0
push ecx
push eax
push 0
push 0
mov dword [ebp - 0x608], ecx
call edi
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.0049d331
add esp, 4
mov dword [ebp - 0x604], eax
cmp dword [ebp - 0x444], 7
lea ecx, [ebp - 0x458]
cmova ecx, dword [ebp - 0x458]
push 0
push 0
push esi
push eax
push dword [ebp - 0x608]
push ecx
push 0
push 0
call edi
mov edi, dword [ebp - 0x604]
xorps xmm0, xmm0
mov ecx, edi
mov byte [esi + edi], 0
movups xmmword [ebp - 0x440], xmm0
mov dword [ebp - 0x430], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x42c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b752
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x440]
call fcn.0041d980
push edi
call fcn.0049d32c
add esp, 4
lea edx, [ebp - 0x440]
lea ecx, [ebp - 0x518]
call fcn.00409480
mov ecx, dword [ebp - 0x42c]
cmp ecx, 0xf
jbe 0x40b7bc
mov edx, dword [ebp - 0x440]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b7b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdfe
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0xf
mov byte [ebp - 0x440], 0
cmp ecx, 0xf
jbe 0x40b815
mov edx, dword [ebp - 0x518]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b80b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40bdfe
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ax, word [0x4e7d40]
xorps xmm0, xmm0
movups xmmword [ebp - 0x488], xmm0
mov dword [ebp - 0x478], 0xa
movq xmm0, qword [str.._temp.zip]
mov dword [ebp - 0x474], 0xf
movq qword [ebp - 0x488], xmm0
mov word [ebp - 0x480], ax
mov byte [ebp - 0x47e], 0
mov ecx, dword [ebp - 0x60c]
lea edx, [ebp - 0x488]
mov byte [ebp - 4], 0x22
call fcn.00408bd0
test al, al
je 0x40bc1d
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
lea eax, [ebp - 0x580]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x40b8bc
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x580]
push eax
call edi
lea eax, [ebp - 0x580]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0x580]
push eax
call esi
test eax, eax
jne 0x40b893
movq xmm0, qword [str.._TempFolder]
mov eax, dword [0x4e7d4c]
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0x508], 0xc
mov dword [ebp - 0x504], 0xf
movq qword [ebp - 0x518], xmm0
mov dword [ebp - 0x510], eax
mov byte [ebp - 0x50c], 0
mov ax, word [0x4e7d5c]
xorps xmm0, xmm0
movups xmmword [ebp - 0x440], xmm0
mov word [ebp - 0x438], ax
movq xmm0, qword [0x4e7d54]
mov al, byte [0x4e7d5e]
mov dword [ebp - 0x430], 0xb
mov dword [ebp - 0x42c], 0xf
movq qword [ebp - 0x440], xmm0
mov byte [ebp - 0x436], al
mov byte [ebp - 0x435], 0
xorps xmm0, xmm0
mov dword [ebp - 0x460], 0
movups xmmword [ebp - 0x470], xmm0
mov dword [ebp - 0x45c], 0xf
mov byte [ebp - 0x470], 0
lea eax, [ebp - 0x470]
mov byte [ebp - 4], 0x25
push eax
lea eax, [ebp - 0x518]
push eax
lea edx, [ebp - 0x440]
lea ecx, [ebp - 0x488]
call fcn.00405ee0
mov byte [ebp - 4], 0x24
add esp, 8
mov ecx, dword [ebp - 0x45c]
mov byte [ebp - 0x5f9], al
cmp ecx, 0xf
jbe 0x40b9d8
mov edx, dword [ebp - 0x470]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40b9ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40be03
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x42c]
cmp ecx, 0xf
jbe 0x40ba16
mov edx, dword [ebp - 0x440]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ba0c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40be03
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x42c], 0xf
mov byte [ebp - 0x440], 0
cmp ecx, 0xf
jbe 0x40ba6f
mov edx, dword [ebp - 0x518]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40ba65
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40be03
push ecx
push edx
call fcn.0049d2cb
add esp, 8
cmp byte [ebp - 0x5f9], 0
jne 0x40be08
mov ecx, dword [ebp - 0x474]
cmp ecx, 0xf
jbe 0x40bab6
mov edx, dword [ebp - 0x488]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40baac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0xf
mov byte [ebp - 0x488], 0
cmp ecx, 7
jbe 0x40bb11
mov edx, dword [ebp - 0x458]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40bb07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ecx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 7
mov word [ebp - 0x458], ax
cmp ecx, 7
jbe 0x40bb6e
mov edx, dword [ebp - 0x4b8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40bb64
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ecx, dword [ebp - 0x4ec]
xor eax, eax
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 7
mov word [ebp - 0x4b8], ax
cmp ecx, 0xf
jbe 0x40bbc5
mov edx, dword [ebp - 0x500]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bbbb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ecx, dword [ebp - 0x4d4]
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x4ec], 0xf
mov byte [ebp - 0x500], 0
cmp ecx, 0xf
jbe 0x40bd73
mov edx, dword [ebp - 0x4e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bd69
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
jmp 0x40bd69
mov ecx, dword [ebp - 0x474]
cmp ecx, 0xf
jbe 0x40bc57
mov edx, dword [ebp - 0x488]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bc4d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x478], 0
mov dword [ebp - 0x474], 0xf
mov byte [ebp - 0x488], 0
cmp ecx, 7
jbe 0x40bcb2
mov edx, dword [ebp - 0x458]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40bca8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ecx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 7
mov word [ebp - 0x458], ax
cmp ecx, 7
jbe 0x40bd0f
mov edx, dword [ebp - 0x4b8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40bd05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
push ecx
push edx
call fcn.0049d2cb
add esp, 8
mov ecx, dword [ebp - 0x4ec]
xor eax, eax
mov dword [ebp - 0x4a8], 0
mov dword [ebp - 0x4a4], 7
mov word [ebp - 0x4b8], ax
cmp ecx, 0xf
jbe 0x40bbc5
mov edx, dword [ebp - 0x500]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bbbb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40beba
jmp 0x40bbbb
push ecx
push edx
call fcn.0049d2cb
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.0049d2bd
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x4e735c
call fcn.00484a0d
push 0x4e7374
call fcn.00484a4d
push 0x4e735c
call fcn.00484a0d
push 0x4e7374
call fcn.00484a4d
call fcn.00401350
call fcn.004a2926
call fcn.00401350
call fcn.004a2926
call fcn.00401350
call fcn.004a2926
push 0
call fcn.004ad378
call fcn.004a2926
call fcn.004a2926
call fcn.004a2926
call fcn.004a2926
call fcn.004a2926
call fcn.004a2926
call fcn.004a2926
call fcn.004a2926
lea ecx, [ebp - 0x488]
call fcn.00417f60
push eax
call fcn.004acb7f
add esp, 4
lea ecx, [ebp - 0x4d0]
call fcn.00409950
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x26
call fcn.0041c730
test al, al
je 0x40beb3
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x470]
call fcn.00417c50
push str.qianniaodun_restart.exe
mov edx, eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x550]
call fcn.0041be30
add esp, 4
lea edx, [ebp - 0x4d0]
mov byte [ebp - 4], 0x28
mov ecx, eax
call fcn.00408e70
lea ecx, [ebp - 0x550]
mov byte [ebp - 0x5f9], al
call fcn.00417b60
lea ecx, [ebp - 0x470]
call fcn.00417b60
cmp byte [ebp - 0x5f9], 0
jne 0x40bea8
push str.._TempFolder
call fcn.004acb7f
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call fcn.004ad378
call fcn.004a2926
int3