Function at 0x406aa0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get common file path

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 0x42c8c2
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1c0
mov eax, dword [0x43d054]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
mov dword [ebp - 4], 0
call fcn.004065e0
test eax, eax
jne 0x407e48
lea eax, [ebp - 0x120]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x406b63
lea ecx, [ebp - 0x120]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406b50
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
jmp 0x406b82
push str.APPDATA
call fcn.00418ae5
mov edx, eax
add esp, 4
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406b77
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x180]
call fcn.004026c0
lea ecx, [ebp - 0x168]
call fcn.00406760
mov byte [ebp - 4], 1
call fcn.00417d76
cdq
mov ecx, 0xa
idiv ecx
lea ecx, [ebp - 0x150]
add edx, 5
call fcn.004055c0
push ecx
lea edx, [ebp - 0x180]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1d0]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 3
push ecx
mov edx, eax
lea ecx, [ebp - 0x1a0]
call fcn.0040c910
add esp, 4
lea ecx, [ebp - 0x180]
push eax
call fcn.004024a0
mov edx, dword [ebp - 0x18c]
cmp edx, 0x10
jb 0x406c31
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406c27
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408ce5
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x406c8a
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406c80
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408ce5
push edx
push ecx
call fcn.0040ed7f
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x150]
mov ecx, esp
mov dword [ebp - 0x184], esp
push eax
call fcn.0040bb10
sub esp, 0x18
mov byte [ebp - 4], 4
lea eax, [ebp - 0x180]
mov ecx, esp
push eax
call fcn.0040bb10
mov byte [ebp - 4], 2
call fcn.00406800
add esp, 0x30
test al, al
je 0x406f0f
push ecx
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x1b8]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 5
push ecx
mov edx, eax
lea ecx, [ebp - 0x1a0]
call fcn.0040c910
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 6
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x406d2c
lea eax, [edx + 4]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0x10
jb 0x406d1e
mov eax, dword [ecx]
mov dword [eax + edx], 0x6578652e
mov byte [eax + edx + 4], 0
jmp 0x406d49
push 4
push str..exe
mov byte [ebp - 0x184], 0
push dword [ebp - 0x184]
push 4
call fcn.00402990
mov ecx, eax
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov edx, dword [ebp - 0x18c]
cmp edx, 0x10
jb 0x406db8
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406dae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x406e0d
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406e03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
cmp edx, 0x10
jb 0x406e62
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406e58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
cmp edx, 0x10
jb 0x406eb7
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406ead
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
mov edx, dword [ebp - 0x16c]
cmp edx, 0x10
jb 0x408cc5
mov ecx, dword [ebp - 0x180]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408869
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
jmp 0x408869
mov eax, dword fs:[0x2c]
mov byte [ebp - 0x185], 0x2e
mov edi, dword [eax]
mov eax, dword [0x450efc]
cmp eax, dword [edi + 4]
jle 0x406f74
push 0x450efc
call fcn.0040eec8
add esp, 4
cmp dword [0x450efc], 0xffffffff
jne 0x406f74
movaps xmm0, xmmword [0x439d70]
mov al, byte [ebp - 0x185]
push 0x42d000
movups xmmword [0x450ea8], xmm0
mov byte [0x450eb8], al
call fcn.0040f1da
add esp, 4
push 0x450efc
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450eb8]
test al, al
je 0x406f9d
movups xmm0, xmmword [0x450ea8]
xor al, 0x2e
movaps xmm1, xmmword [str.................]
pxor xmm1, xmm0
mov byte [0x450eb8], al
movups xmmword [0x450ea8], xmm1
mov ecx, 0x450ea8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406fd0
sub ecx, edx
push ecx
push 0x450ea8
lea ecx, [ebp - 0x138]
call fcn.004026c0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x124]
mov eax, edx
mov ecx, dword [ebp - 0x128]
sub eax, ecx
cmp eax, 1
jb 0x40702a
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x138]
cmovae eax, dword [ebp - 0x138]
mov word [eax + ecx], 0x5c
lea eax, [ebp - 0x138]
jmp 0x40704b
push 1
push 0x439b20
mov byte [ebp - 0x184], 0
lea ecx, [ebp - 0x138]
push dword [ebp - 0x184]
push 1
call fcn.00402990
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1b8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1a8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x1b8]
lea ecx, [ebp - 0x1a0]
call fcn.0040c910
add esp, 4
lea ecx, [ebp - 0x180]
push eax
call fcn.004024a0
mov edx, dword [ebp - 0x18c]
cmp edx, 0x10
jb 0x4070f6
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4070ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cef
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x40714f
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407145
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cef
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
cmp edx, 0x10
jb 0x4071a8
mov ecx, dword [ebp - 0x138]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40719e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cef
push edx
push ecx
call fcn.0040ed7f
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x150]
mov ecx, esp
mov dword [ebp - 0x124], esp
push eax
call fcn.0040bb10
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [ebp - 0x180]
mov ecx, esp
push eax
call fcn.0040bb10
mov byte [ebp - 4], 2
call fcn.00406800
add esp, 0x30
test al, al
je 0x4073d8
push ecx
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x1b8]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xa
push ecx
mov edx, eax
lea ecx, [ebp - 0x1a0]
call fcn.0040c910
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xb
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x40724a
lea eax, [edx + 4]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0x10
jb 0x40723c
mov eax, dword [ecx]
mov dword [eax + edx], 0x6578652e
mov byte [eax + edx + 4], 0
jmp 0x407267
push 4
push str..exe
mov byte [ebp - 0x184], 0
push dword [ebp - 0x184]
push 4
call fcn.00402990
mov ecx, eax
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov edx, dword [ebp - 0x18c]
cmp edx, 0x10
jb 0x4072d6
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4072cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x40732b
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407321
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
cmp edx, 0x10
jb 0x407380
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407376
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
cmp edx, 0x10
jb 0x406eb7
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406ead
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
jmp 0x406ead
mov eax, dword [0x450e88]
mov dword [ebp - 0x130], 0x7e72146d
mov dword [ebp - 0x12c], 0x5c49415c
mov dword [ebp - 0x128], 0x4f6a434f
mov word [ebp - 0x124], 0x4f5a
mov byte [ebp - 0x185], 0x2e
cmp eax, dword [edi + 4]
jle 0x407476
push 0x450e88
call fcn.0040eec8
add esp, 4
cmp dword [0x450e88], 0xffffffff
jne 0x407476
mov eax, dword [ebp - 0x128]
movq xmm0, qword [ebp - 0x130]
mov dword [0x451010], eax
mov ax, word [ebp - 0x124]
mov word [0x451014], ax
mov al, byte [ebp - 0x185]
push 0x42cfc0
movq qword [0x451008], xmm0
mov byte [0x451016], al
call fcn.0040f1da
add esp, 4
push 0x450e88
call fcn.0040ee7e
add esp, 4
cmp byte [0x451016], 0
je 0x40748e
xor eax, eax
xor byte [eax + 0x451008], 0x2e
inc eax
cmp eax, 0xf
jb 0x407481
mov ecx, 0x451008
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4074c0
sub ecx, edx
push ecx
push 0x451008
lea ecx, [ebp - 0x1b8]
call fcn.004026c0
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x1a4]
mov eax, edx
mov ecx, dword [ebp - 0x1a8]
sub eax, ecx
cmp eax, 1
jb 0x40751a
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b8]
cmovae eax, dword [ebp - 0x1b8]
mov word [eax + ecx], 0x5c
lea eax, [ebp - 0x1b8]
jmp 0x40753b
push 1
push 0x439b20
mov byte [ebp - 0x184], 0
lea ecx, [ebp - 0x1b8]
push dword [ebp - 0x184]
push 1
call fcn.00402990
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x190], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0xd
push eax
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
lea ecx, [ebp - 0x180]
push eax
call fcn.004024a0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x4075e6
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4075dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x40763f
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407635
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x407698
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40768e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x150]
mov ecx, esp
mov dword [ebp - 0x124], esp
push eax
call fcn.0040bb10
sub esp, 0x18
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x180]
mov ecx, esp
push eax
call fcn.0040bb10
mov byte [ebp - 4], 2
call fcn.00406800
add esp, 0x30
test al, al
je 0x4078c8
push ecx
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x1a0]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xf
push ecx
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x10
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x40773a
lea eax, [edx + 4]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0x10
jb 0x40772c
mov eax, dword [ecx]
mov dword [eax + edx], 0x6578652e
mov byte [eax + edx + 4], 0
jmp 0x407757
push 4
push str..exe
mov byte [ebp - 0x184], 0
push dword [ebp - 0x184]
push 4
call fcn.00402990
mov ecx, eax
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x4077c6
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4077bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x40781b
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407811
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x407870
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407866
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
cmp edx, 0x10
jb 0x406eb7
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406ead
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
jmp 0x406ead
mov eax, dword [0x450f14]
mov dword [ebp - 0x128], 0x7a72146d
mov dword [ebp - 0x124], 0x2e5e434b
cmp eax, dword [edi + 4]
jle 0x407930
push 0x450f14
call fcn.0040eec8
add esp, 4
cmp dword [0x450f14], 0xffffffff
jne 0x407930
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x124]
push 0x42cfb0
mov dword [0x450f38], eax
mov dword [0x450f3c], ecx
call fcn.0040f1da
add esp, 4
push 0x450f14
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450f3f]
test al, al
je 0x407971
xor byte [0x450f38], 0x2e
xor byte [0x450f39], 0x2e
xor byte [0x450f3a], 0x2e
xor byte [0x450f3b], 0x2e
xor byte [0x450f3c], 0x2e
xor byte [0x450f3d], 0x2e
xor byte [0x450f3e], 0x2e
xor al, 0x2e
mov byte [0x450f3f], al
mov ecx, 0x450f38
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4079a0
sub ecx, edx
push ecx
push 0x450f38
lea ecx, [ebp - 0x1b8]
call fcn.004026c0
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x1a4]
mov eax, edx
mov ecx, dword [ebp - 0x1a8]
sub eax, ecx
cmp eax, 1
jb 0x4079fa
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b8]
cmovae eax, dword [ebp - 0x1b8]
mov word [eax + ecx], 0x5c
lea eax, [ebp - 0x1b8]
jmp 0x407a1b
push 1
push 0x439b20
mov byte [ebp - 0x184], 0
lea ecx, [ebp - 0x1b8]
push dword [ebp - 0x184]
push 1
call fcn.00402990
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x190], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x12
push eax
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
lea ecx, [ebp - 0x180]
push eax
call fcn.004024a0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x407ac6
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407abc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x407b1f
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407b15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x407b78
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407b6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x150]
mov ecx, esp
mov dword [ebp - 0x124], esp
push eax
call fcn.0040bb10
sub esp, 0x18
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x180]
mov ecx, esp
push eax
call fcn.0040bb10
mov byte [ebp - 4], 2
call fcn.00406800
add esp, 0x30
test al, al
je 0x407da8
push ecx
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x1a0]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x14
push ecx
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x15
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x407c1a
lea eax, [edx + 4]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0x10
jb 0x407c0c
mov eax, dword [ecx]
mov dword [eax + edx], 0x6578652e
mov byte [eax + edx + 4], 0
jmp 0x407c37
push 4
push str..exe
mov byte [ebp - 0x184], 0
push dword [ebp - 0x184]
push 4
call fcn.00402990
mov ecx, eax
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x407ca6
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407c9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x407cfb
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407cf1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x407d50
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407d46
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
cmp edx, 0x10
jb 0x406eb7
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406ead
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
jmp 0x406ead
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x13c]
cmp edx, 0x10
jb 0x407de6
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407ddc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
cmp edx, 0x10
jb 0x408cae
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407e39
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
jmp 0x408cae
lea ecx, [ebp - 0x150]
call fcn.00406760
mov byte [ebp - 4], 0x16
call fcn.00417d76
cdq
mov ecx, 0xa
idiv ecx
lea ecx, [ebp - 0x168]
add edx, 5
call fcn.004055c0
mov byte [ebp - 4], 0x17
mov eax, dword fs:[0x2c]
mov byte [ebp - 0x185], 0x2e
mov edi, dword [eax]
mov eax, dword [0x450f1c]
cmp eax, dword [edi + 4]
jle 0x407edb
push 0x450f1c
call fcn.0040eec8
add esp, 4
cmp dword [0x450f1c], 0xffffffff
jne 0x407edb
movaps xmm0, xmmword [0x439d70]
mov al, byte [ebp - 0x185]
push 0x42cf90
movups xmmword [0x450e3c], xmm0
mov byte [0x450e4c], al
call fcn.0040f1da
add esp, 4
push 0x450f1c
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450e4c]
test al, al
je 0x407f04
movups xmm0, xmmword [0x450e3c]
xor al, 0x2e
movaps xmm1, xmmword [str.................]
pxor xmm1, xmm0
mov byte [0x450e4c], al
movups xmmword [0x450e3c], xmm1
mov ecx, 0x450e3c
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407f31
sub ecx, edx
push ecx
push 0x450e3c
lea ecx, [ebp - 0x1b8]
call fcn.004026c0
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x1a4]
mov eax, edx
mov ecx, dword [ebp - 0x1a8]
sub eax, ecx
cmp eax, 1
jb 0x407f8b
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b8]
cmovae eax, dword [ebp - 0x1b8]
mov word [eax + ecx], 0x5c
lea eax, [ebp - 0x1b8]
jmp 0x407fac
push 1
push 0x439b20
mov byte [ebp - 0x184], 0
lea ecx, [ebp - 0x1b8]
push dword [ebp - 0x184]
push 1
call fcn.00402990
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x190], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x19
push eax
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
lea ecx, [ebp - 0x180]
push eax
call fcn.004024a0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x408057
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40804d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x4080b0
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4080a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x408109
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4080ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x168]
mov ecx, esp
mov dword [ebp - 0x124], esp
push eax
call fcn.0040bb10
sub esp, 0x18
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x180]
mov ecx, esp
push eax
call fcn.0040bb10
mov byte [ebp - 4], 0x17
call fcn.00406800
add esp, 0x30
test al, al
je 0x408356
push ecx
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x1a0]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x1b
push ecx
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x1c
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x4081ab
lea eax, [edx + 4]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0x10
jb 0x40819d
mov eax, dword [ecx]
mov dword [eax + edx], 0x6578652e
mov byte [eax + edx + 4], 0
jmp 0x4081c8
push 4
push str..exe
mov byte [ebp - 0x184], 0
push dword [ebp - 0x184]
push 4
call fcn.00402990
mov ecx, eax
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x408237
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40822d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x40828c
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408282
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x4082e1
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4082d7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
cmp edx, 0x10
jb 0x408336
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40832c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
jmp 0x406ed2
mov eax, dword [0x450f68]
mov dword [ebp - 0x130], 0x7e72146d
mov dword [ebp - 0x12c], 0x5c49415c
mov dword [ebp - 0x128], 0x4f6a434f
mov word [ebp - 0x124], 0x4f5a
mov byte [ebp - 0x185], 0x2e
cmp eax, dword [edi + 4]
jle 0x4083f4
push 0x450f68
call fcn.0040eec8
add esp, 4
cmp dword [0x450f68], 0xffffffff
jne 0x4083f4
mov eax, dword [ebp - 0x128]
movq xmm0, qword [ebp - 0x130]
mov dword [0x450d50], eax
mov ax, word [ebp - 0x124]
mov word [0x450d54], ax
mov al, byte [ebp - 0x185]
push 0x42cf60
movq qword [0x450d48], xmm0
mov byte [0x450d56], al
call fcn.0040f1da
add esp, 4
push 0x450f68
call fcn.0040ee7e
add esp, 4
cmp byte [0x450d56], 0
je 0x40840d
xor eax, eax
nop
xor byte [eax + 0x450d48], 0x2e
inc eax
cmp eax, 0xf
jb 0x408400
mov ecx, 0x450d48
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408440
sub ecx, edx
push ecx
push 0x450d48
lea ecx, [ebp - 0x1b8]
call fcn.004026c0
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x1a4]
mov eax, edx
mov ecx, dword [ebp - 0x1a8]
sub eax, ecx
cmp eax, 1
jb 0x40849a
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b8]
cmovae eax, dword [ebp - 0x1b8]
mov word [eax + ecx], 0x5c
lea eax, [ebp - 0x1b8]
jmp 0x4084bb
push 1
push 0x439b20
mov byte [ebp - 0x184], 0
lea ecx, [ebp - 0x1b8]
push dword [ebp - 0x184]
push 1
call fcn.00402990
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x190], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x1e
push eax
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
lea ecx, [ebp - 0x180]
push eax
call fcn.004024a0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x408566
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40855c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x4085bf
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4085b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x408618
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40860e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x168]
mov ecx, esp
mov dword [ebp - 0x124], esp
push eax
call fcn.0040bb10
sub esp, 0x18
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x180]
mov ecx, esp
push eax
call fcn.0040bb10
mov byte [ebp - 4], 0x17
call fcn.00406800
add esp, 0x30
test al, al
je 0x408878
push ecx
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x1a0]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x20
push ecx
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x21
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x4086ba
lea eax, [edx + 4]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0x10
jb 0x4086ac
mov eax, dword [ecx]
mov dword [eax + edx], 0x6578652e
mov byte [eax + edx + 4], 0
jmp 0x4086d7
push 4
push str..exe
mov byte [ebp - 0x184], 0
push dword [ebp - 0x184]
push 4
call fcn.00402990
mov ecx, eax
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x408746
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40873c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x40879b
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408791
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x4087f0
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4087e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
cmp edx, 0x10
jb 0x408336
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40883f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
jmp 0x406ed2
push edx
push ecx
call fcn.0040ed7f
add esp, 8
jmp 0x408cc5
mov eax, dword [0x450d74]
mov dword [ebp - 0x128], 0x7a72146d
mov dword [ebp - 0x124], 0x2e5e434b
cmp eax, dword [edi + 4]
jle 0x4088e0
push 0x450d74
call fcn.0040eec8
add esp, 4
cmp dword [0x450d74], 0xffffffff
jne 0x4088e0
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x124]
push 0x42cf50
mov dword [0x450d58], eax
mov dword [0x450d5c], ecx
call fcn.0040f1da
add esp, 4
push 0x450d74
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450d5f]
test al, al
je 0x408921
xor byte [0x450d58], 0x2e
xor byte [0x450d59], 0x2e
xor byte [0x450d5a], 0x2e
xor byte [0x450d5b], 0x2e
xor byte [0x450d5c], 0x2e
xor byte [0x450d5d], 0x2e
xor byte [0x450d5e], 0x2e
xor al, 0x2e
mov byte [0x450d5f], al
mov ecx, 0x450d58
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408950
sub ecx, edx
push ecx
push 0x450d58
lea ecx, [ebp - 0x1b8]
call fcn.004026c0
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x1a4]
mov eax, edx
mov ecx, dword [ebp - 0x1a8]
sub eax, ecx
cmp eax, 1
jb 0x4089aa
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b8]
cmovae eax, dword [ebp - 0x1b8]
mov word [eax + ecx], 0x5c
lea eax, [ebp - 0x1b8]
jmp 0x4089cb
push 1
push 0x439b20
mov byte [ebp - 0x184], 0
lea ecx, [ebp - 0x1b8]
push dword [ebp - 0x184]
push 1
call fcn.00402990
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x190], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x23
push eax
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
lea ecx, [ebp - 0x180]
push eax
call fcn.004024a0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x408a76
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408a6c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x408acf
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408ac5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x408b28
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408b1e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x168]
mov ecx, esp
mov dword [ebp - 0x124], esp
push eax
call fcn.0040bb10
sub esp, 0x18
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x180]
mov ecx, esp
push eax
call fcn.0040bb10
mov byte [ebp - 4], 0x17
call fcn.00406800
add esp, 0x30
test al, al
je 0x408c94
push ecx
lea edx, [ebp - 0x180]
lea ecx, [ebp - 0x1a0]
call fcn.0040c6f0
add esp, 4
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x25
push ecx
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0040c910
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x26
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x408bca
lea eax, [edx + 4]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp edi, 0x10
jb 0x408bbc
mov eax, dword [ecx]
mov dword [eax + edx], 0x6578652e
mov byte [eax + edx + 4], 0
jmp 0x408be7
push 4
push str..exe
mov byte [ebp - 0x184], 0
push dword [ebp - 0x184]
push 4
call fcn.00402990
mov ecx, eax
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov edx, dword [ebp - 0x1bc]
cmp edx, 0x10
jb 0x408c56
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408c4c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408cea
push edx
push ecx
call fcn.0040ed7f
add esp, 8
lea ecx, [ebp - 0x1a0]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
call fcn.00402450
lea ecx, [ebp - 0x168]
call fcn.00402450
lea ecx, [ebp - 0x150]
call fcn.00402450
jmp 0x408cba
lea ecx, [ebp - 0x168]
call fcn.00402450
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0
call fcn.00402450
push 0x4399f7
mov ecx, esi
call fcn.00402520
lea ecx, [ebp - 0x180]
call fcn.00402450
mov eax, esi
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.0040eb3f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004134a7
call fcn.004134a7
call fcn.004134a7
int3