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 [str.qianniaodun]
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 str.invalid_stoi_argument
call fcn.00484a0d
push str.stoi_argument_out_of_range
call fcn.00484a4d
push str.invalid_stoi_argument
call fcn.00484a0d
push str.stoi_argument_out_of_range
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