Function at 0x420640
Capabilities:
Delete file
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5469b7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x7e8
push ebx
push esi
push edi
mov dword [ebp - 0x18], 0
mov esi, ecx
mov dword [ebp - 0x10], esp
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0
push 0x20
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.0041fae0
movups xmm0, xmmword [0x5563b0]
mov dword [ebp - 0x44], 0x1c
mov dword [ebp - 0x40], 0x1f
movups xmmword [eax], xmm0
movq xmm0, qword [0x5563c0]
movq qword [eax + 0x10], xmm0
mov ecx, dword [0x5563c8]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], 0
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 0
push eax
call fcn.00435760
add esp, 4
lea eax, [esi + 0x104]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1c], eax
call fcn.004152a0
mov dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x1e4]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004357a0
push eax
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.00435890
add esp, 0x10
mov edx, dword [ebp - 0x204]
mov byte [ebp - 4], 5
cmp edx, 8
jb 0x42076d
mov ecx, dword [ebp - 0x218]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x420763
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b37
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 7
mov word [ebp - 0x218], ax
mov edx, dword [ebp - 0x1d0]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x4207c8
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4207be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b37
push edx
push ecx
call fcn.004b9160
add esp, 8
cmp dword [ebp - 0x264], 8
lea eax, [ebp - 0x278]
mov dword [ebp - 0x1d4], 0
cmovae eax, dword [ebp - 0x278]
cmp byte [0x5cc2dc], 0
mov dword [ebp - 0x1d0], 0xf
mov byte [ebp - 0x1e4], 0
mov dword [ebp - 0x58], eax
je 0x42084b
mov dword [ebp - 0x20], 0xdded18
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x54]
mov edi, dword [ebp + 8]
sub edx, 0x8884d0
cmp dword [ebp - 0xa4], 8
cmovae ecx, dword [ebp - 0xb8]
cmp dword [ebp - 0x40], 0x10
push ecx
cmovae eax, dword [ebp - 0x54]
push edi
push eax
movzx eax, word [0x5cc2dc]
push edx
push eax
call fcn.004bad80
add esp, 0x14
jmp 0x42084e
mov edi, dword [ebp + 8]
mov ecx, dword [esi + 0x1ec]
push 1
push 0x2b
push str.BootstrapperDeployStudioBootstrapperStarted
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp byte [0x5cc2dc], 0
mov byte [ebp - 4], 7
je 0x4208b2
mov dword [ebp - 0x20], 0xded8f8
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0x20]
lea eax, [ebp - 0x54]
sub edx, 0x8970b0
cmp dword [ebp - 0xa4], 8
cmovae ecx, dword [ebp - 0xb8]
cmp dword [ebp - 0x40], 0x10
push ecx
cmovae eax, dword [ebp - 0x54]
push edi
push eax
movzx eax, word [0x5cc2dc]
push edx
push eax
call fcn.004bad80
add esp, 0x14
cmp dword [ebp - 0x40], 0x10
lea edi, [ebp - 0x54]
mov esi, dword [ebp - 0x44]
cmovae edi, dword [ebp - 0x54]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
cmp esi, 0x10
jae 0x4208f0
movups xmm0, xmmword [edi]
mov dword [ebp - 0x74], 0xf
movups xmmword [ebp - 0x88], xmm0
jmp 0x420929
mov eax, esi
mov ecx, 0x7fffffff
or eax, 0xf
cmp eax, ecx
cmova eax, ecx
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x20], eax
inc eax
push eax
call fcn.0041fae0
lea ecx, [esi + 1]
mov dword [ebp - 0x88], eax
push ecx
push edi
push eax
call fcn.00518310
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], esi
mov edi, dword [ebp - 0x24]
mov ecx, edi
mov byte [ebp - 4], 8
movzx eax, byte [edi + 0xb5]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00453100
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.004b97c0
add esp, 8
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
mov byte [ebp - 4], 0xa
jb 0x42096f
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.0041fd60
mov edx, dword [ebp - 0x21c]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x4209bd
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4209b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b3c
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
push 0x208
push eax
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x5ec]
push eax
mov dword [ebp - 0x21c], 7
call fcn.00518890
push 0x208
lea eax, [ebp - 0x7f4]
push 0
push eax
call fcn.00518890
mov eax, dword [edi]
add esp, 0x18
mov ecx, edi
mov eax, dword [eax + 0x88]
call eax
mov edx, eax
mov dword [ebp - 0x70], 0
mov ecx, edx
mov dword [ebp - 0x60], 0
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420a30
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.0041ffd0
cmp dword [ebp - 0xa4], 8
lea esi, [ebp - 0x7f4]
mov al, byte [edi + 0xb5]
lea edx, [ebp - 0xb8]
cmovae edx, dword [ebp - 0xb8]
lea ecx, [ebp - 0x70]
cmp dword [ebp - 0x5c], 8
push 0x104
cmovae ecx, dword [ebp - 0x70]
push esi
push 0x104
lea esi, [ebp - 0x5ec]
mov byte [ebp - 4], 0xb
push esi
push edx
push ecx
push eax
call fcn.00434bf0
add esp, 0x1c
cmp byte [0x5cc2dc], 0
je 0x420ac8
lea ecx, [ebp - 0x7f4]
mov dword [ebp - 0x20], 0xe0b150
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, esi
sub eax, 0x8b4870
push ecx
push eax
movzx eax, word [0x5cc2dc]
push eax
call fcn.004bad80
add esp, 0x10
lea ecx, [ebp - 0x28c]
call fcn.00469ed0
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x28c]
call fcn.0046a920
test eax, eax
je 0x420b9a
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0x28c]
call fcn.00469fb0
cmp dword [edi + 0x234], 0x10
lea edx, [edi + 0x220]
jb 0x420b11
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420b16
mov edi, dword [ebp - 0x1a0]
lea eax, [ebp - 0x1b4]
sub ecx, esi
mov esi, dword [ebp - 0x1b4]
push ecx
push edx
push dword [ebp - 0x1a4]
cmp edi, 0x10
cmovae eax, esi
push eax
call fcn.00413d80
xor al, 1
add esp, 0x10
mov byte [ebp - 0x11], al
cmp edi, 0x10
jb 0x420b7d
lea ecx, [edi + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x420b73
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b41
push ecx
push esi
call fcn.004b9160
add esp, 8
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0xf
mov byte [ebp - 0x1b4], 0
jmp 0x420b9e
mov byte [ebp - 0x11], 1
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 0xb
call fcn.00469f70
xor eax, eax
mov dword [ebp - 0x16c], 0
lea ecx, [ebp - 0x5ec]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 7
lea edx, [ecx + 2]
mov word [ebp - 0x16c], ax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420be0
sub ecx, edx
lea eax, [ebp - 0x5ec]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x16c]
call fcn.0041ffd0
cmp dword [ebp - 0x15c], 0
mov eax, 0x11
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x18], eax
je 0x420cfa
cmp byte [ebp - 0x11], 0
jne 0x420cfa
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1fc]
call fcn.004152a0
lea eax, [ebp - 0x1fc]
mov dword [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x2bc]
mov dword [ebp - 0x18], 0x33
push eax
call fcn.004b97c0
add esp, 8
mov edi, eax
lea ecx, [ebp - 0x7f4]
mov dword [ebp - 4], 0xf
mov dword [ebp - 0x18], 0x37
lea edx, [ecx + 2]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 7
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420c90
sub ecx, edx
lea eax, [ebp - 0x7f4]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x13c]
call fcn.0041ffd0
cmp dword [edi + 0x14], 8
mov eax, 0x3f
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x18], eax
jb 0x420cc5
mov edi, dword [edi]
cmp dword [ebp - 0x128], 8
lea eax, [ebp - 0x13c]
mov esi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x12c]
cmovae eax, esi
cmp ecx, edx
jne 0x420d00
push ecx
push edi
push eax
call fcn.00420470
add esp, 0xc
test eax, eax
jne 0x420d00
mov byte [ebp - 0x11], 1
jmp 0x420d04
mov esi, dword [ebp - 0x13c]
mov byte [ebp - 0x11], 0
mov eax, dword [ebp - 0x18]
test al, 8
je 0x420d6b
mov ecx, dword [ebp - 0x128]
and eax, 0xfffffff7
mov dword [ebp - 0x18], eax
cmp ecx, 8
jb 0x420d4e
lea ecx, [ecx*2 + 2]
mov eax, esi
cmp ecx, 0x1000
jb 0x420d41
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b46
push ecx
push esi
call fcn.004b9160
mov eax, dword [ebp - 0x18]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 7
mov word [ebp - 0x13c], cx
test al, 4
je 0x420d83
and eax, 0xfffffffb
lea ecx, [ebp - 0x2bc]
mov dword [ebp - 0x18], eax
call fcn.00416700
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xd
test al, 2
je 0x420dec
mov edx, dword [ebp - 0x1e8]
and eax, 0xfffffffd
mov dword [ebp - 0x18], eax
cmp edx, 0x10
jb 0x420dd1
mov ecx, dword [ebp - 0x1fc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x420dc4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b46
push edx
push ecx
call fcn.004b9160
mov eax, dword [ebp - 0x18]
add esp, 8
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0xf
mov byte [ebp - 0x1fc], 0
mov dword [ebp - 4], 0xb
test al, 1
je 0x420e5a
mov edx, dword [ebp - 0x158]
and eax, 0xfffffffe
mov dword [ebp - 0x18], eax
cmp edx, 8
jb 0x420e3d
mov ecx, dword [ebp - 0x16c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x420e33
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b46
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 7
mov word [ebp - 0x16c], ax
cmp byte [ebp - 0x11], 0
je 0x421026
cmp byte [0x5cc2dc], 0
je 0x420e8f
mov dword [ebp - 0x1c], 0xe439e8
mov eax, dword [ebp - 0x1c]
sub eax, 0x8ed0a0
push 0
push eax
movzx eax, word [0x5cc2dc]
push eax
call fcn.004babc0
add esp, 0xc
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.0042e210
add esp, 4
test al, al
je 0x421026
cmp byte [0x5cc2dc], 0
je 0x420ed6
mov dword [ebp - 0x1c], 0xe4d7b0
mov eax, dword [ebp - 0x1c]
sub eax, 0x8f6de0
push 0
push eax
movzx eax, word [0x5cc2dc]
push eax
call fcn.004babc0
add esp, 0xc
cmp dword [ebp - 0x28], 8
lea ecx, [ebp - 0x3c]
mov esi, dword [ebp - 0x24]
cmovae ecx, dword [ebp - 0x3c]
mov edi, dword [ebp + 8]
push 1
mov al, byte [esi + 0xb5]
push 0
push str._ide
push ecx
push edi
push eax
call fcn.004342a0
mov al, byte [esi + 0xb5]
lea ecx, [ebp - 0x3c]
add esp, 0x18
cmp dword [ebp - 0x28], 8
cmovae ecx, dword [ebp - 0x3c]
push dword [ebp + 0xc]
push 1
push str._ide
push ecx
push edi
push eax
call fcn.004342a0
mov edx, dword [ebp - 0x5c]
add esp, 0x18
cmp edx, 8
jb 0x420f61
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x420f57
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b5f
push edx
push ecx
call fcn.004b9160
add esp, 8
xor eax, eax
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
call fcn.00416700
mov edx, dword [ebp - 0x74]
cmp edx, 0x10
jb 0x420fb4
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x420faa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b5f
push edx
push ecx
call fcn.004b9160
add esp, 8
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
call fcn.00416700
lea ecx, [ebp - 0xb8]
call fcn.00416700
mov edx, dword [ebp - 0x40]
cmp edx, 0x10
jb 0x421013
mov ecx, dword [ebp - 0x54]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x421009
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b5f
push edx
push ecx
call fcn.004b9160
add esp, 8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 0x1cc]
push 0x556a50
push eax
call fcn.00435d10
add esp, 8
cmp dword [ebp - 0x1b8], 8
lea eax, [ebp - 0x1cc]
push 1
cmovae eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x3e4]
push 0x40
push 0x20
push eax
mov byte [ebp - 4], 0x10
call fcn.00414d40
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xf
mov byte [ebp - 0xdc], 0
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x148], 0x10
mov byte [ebp - 4], 0x13
mov esi, dword [ecx + 0x1e8]
mov eax, dword [esi]
mov edi, dword [eax + 0x20]
lea eax, [ecx + 0x134]
mov ecx, dword [eax + 0x10]
jb 0x421143
mov eax, dword [eax]
push 3
push 0x5558c0
push ecx
push eax
call fcn.00413d80
add esp, 0x10
movzx eax, al
inc eax
mov ecx, esi
push eax
push 1
lea eax, [ebp - 0x248]
push eax
call edi
mov edx, dword [eax + 0x10]
sub esp, 8
cmp dword [eax + 0x14], 0x10
mov ecx, esp
mov byte [ebp - 4], 0x14
jb 0x42117a
mov eax, dword [eax]
mov dword [ecx], eax
lea eax, [ebp - 0x334]
push eax
mov dword [ecx + 4], edx
call fcn.004365a0
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x124]
cmp eax, esi
je 0x421217
mov edx, dword [ebp - 0x110]
cmp edx, 0x10
jb 0x4211d4
mov ecx, dword [ebp - 0x124]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4211ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b4b
push edx
push ecx
call fcn.004b9160
add esp, 8
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x124], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x114], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea edi, [esi + 0x18]
lea eax, [ebp - 0x10c]
cmp eax, edi
je 0x4212a1
mov edx, dword [ebp - 0xf8]
cmp edx, 0x10
jb 0x42125e
mov ecx, dword [ebp - 0x10c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x421254
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b4b
push edx
push ecx
call fcn.004b9160
add esp, 8
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x10c], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0xfc], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea edi, [esi + 0x30]
lea eax, [ebp - 0xf4]
cmp eax, edi
je 0x42132b
mov edx, dword [ebp - 0xe0]
cmp edx, 0x10
jb 0x4212e8
mov ecx, dword [ebp - 0xf4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4212de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b4b
push edx
push ecx
call fcn.004b9160
add esp, 8
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0xf4], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0xe4], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
add esi, 0x48
lea eax, [ebp - 0xdc]
cmp eax, esi
je 0x4213b5
mov edx, dword [ebp - 0xc8]
cmp edx, 0x10
jb 0x421372
mov ecx, dword [ebp - 0xdc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x421368
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b4b
push edx
push ecx
call fcn.004b9160
add esp, 8
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xf
mov byte [ebp - 0xdc], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xdc], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0xcc], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x334]
call fcn.00416f30
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 0x13
cmp edx, 0x10
jb 0x4213fe
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4213f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b4b
push edx
push ecx
call fcn.004b9160
add esp, 8
cmp dword [ebp - 0x40], 0x10
lea ecx, [ebp - 0x54]
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x238], 0
cmovae ecx, dword [ebp - 0x54]
cmp dword [ebp - 0xf8], 0x10
push ecx
cmovae eax, dword [ebp - 0x10c]
push eax
lea eax, [ebp - 0x260]
mov dword [ebp - 0x234], 0xf
push str.__s__s
push eax
mov byte [ebp - 0x248], 0
call fcn.004b99c0
lea ecx, [ebp - 0xa0]
add esp, 0x10
cmp ecx, eax
je 0x421480
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xa0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x90], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x24c]
cmp edx, 0x10
jb 0x4214ba
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4214b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b50
push edx
push ecx
call fcn.004b9160
add esp, 8
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
mov esi, dword [esi + 0x1e8]
mov eax, dword [esi]
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0xf
mov edi, dword [eax + 0x14]
mov byte [ebp - 0x184], 0
cmp dword [ebp - 0x8c], 0x10
lea edx, [ebp - 0xa0]
mov dword [ebp - 0x154], 0
cmovae edx, dword [ebp - 0xa0]
mov ecx, edx
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x421550
sub ecx, dword [ebp - 0x1c]
push ecx
push edx
lea ecx, [ebp - 0x154]
call fcn.0041fee0
push 0x5cb0ac
push 0
lea eax, [ebp - 0x3e4]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x184]
mov ecx, esi
push eax
lea eax, [ebp - 0x154]
push eax
call edi
mov edx, dword [ebp - 0x140]
mov byte [ebp - 4], 0x15
cmp edx, 0x10
jb 0x4215c9
mov ecx, dword [ebp - 0x154]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4215bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b55
push edx
push ecx
call fcn.004b9160
add esp, 8
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov byte [ebp - 4], 0x13
cmp edx, 0x10
jb 0x421622
mov ecx, dword [ebp - 0x184]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x421618
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b55
push edx
push ecx
call fcn.004b9160
add esp, 8
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0xf
mov byte [ebp - 0x184], 0
call fcn.00416f30
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x11
cmp edx, 0x10
jb 0x421686
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42167c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b5a
push edx
push ecx
call fcn.004b9160
add esp, 8
lea ecx, [ebp - 0x3e4]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x10
call fcn.00417370
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call fcn.0042e210
add esp, 4
test al, al
je 0x421705
cmp byte [0x5cc2dc], 0
je 0x4216f3
mov dword [ebp - 0x1c], 0xe83920
mov eax, dword [ebp - 0x1c]
sub eax, 0x92cec0
push 0
push eax
movzx eax, word [0x5cc2dc]
push eax
call fcn.004babc0
add esp, 0xc
cmp dword [ebp - 0x28], 8
lea eax, [ebp - 0x3c]
cmovae eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x28], 8
lea ecx, [ebp - 0x3c]
lea eax, [ebp - 0x1cc]
cmovae ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x1b8], 8
push ecx
cmovae eax, dword [ebp - 0x1cc]
push eax
call fcn.00433aa0
mov edi, dword [ebp - 0x24]
lea esi, [ebp - 0xb8]
add esp, 8
mov ecx, edi
cmp dword [ebp - 0xa4], 8
mov eax, dword [edi]
cmovae esi, dword [ebp - 0xb8]
mov eax, dword [eax + 0x88]
call eax
mov cl, byte [edi + 0xb5]
push 0x554358
push 0x554358
push esi
push eax
push ecx
call fcn.00437300
mov al, byte [edi + 0xb5]
lea ecx, [ebp - 0x3c]
mov esi, dword [ebp + 8]
add esp, 0x14
cmp dword [ebp - 0x28], 8
cmovae ecx, dword [ebp - 0x3c]
push 1
push 0
push str._ide
push ecx
push esi
push eax
call fcn.004342a0
mov al, byte [edi + 0xb5]
lea ecx, [ebp - 0x3c]
add esp, 0x18
cmp dword [ebp - 0x28], 8
cmovae ecx, dword [ebp - 0x3c]
push dword [ebp + 0xc]
push 1
push str._ide
push ecx
push esi
push eax
call fcn.004342a0
add esp, 0x18
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0
push eax
xor eax, eax
cmp byte [edi + 0xb5], al
push 0x20006
push 0
push dword [ebp - 0x58]
sete al
add eax, 0x80000001
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, eax
test ecx, ecx
jne 0x421819
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], ecx
mov byte [ebp - 4], 0x17
test ecx, ecx
jle 0x42182c
movzx ecx, cx
or ecx, 0x80070000
test ecx, ecx
jne 0x4218f9
cmp byte [0x5cc2dc], 0
je 0x42185d
mov dword [ebp + 0xc], 0xeb4bc8
mov eax, dword [ebp + 0xc]
sub eax, 0x95e100
push 0
push eax
movzx eax, word [0x5cc2dc]
push eax
call fcn.004babc0
add esp, 0xc
cmp dword [ebp - 0x28], 8
lea edx, [ebp - 0x3c]
jb 0x421872
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x421872
lea ecx, [edx + 0xd]
jmp 0x4218aa
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421877
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push 0x554358
push dword [ebp - 0xc4]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ecx, eax
test ecx, ecx
jle 0x4218b5
movzx ecx, cx
or ecx, 0x80070000
test ecx, ecx
js 0x4218df
cmp byte [0x5cc2dc], 0
je 0x421923
mov dword [ebp + 0xc], 0xebe968
lea eax, [ebp - 0x3c]
mov ecx, dword [ebp + 0xc]
sub ecx, 0x967e40
cmp dword [ebp - 0x28], 8
cmovae eax, dword [ebp - 0x3c]
push eax
push ecx
jmp 0x421913
cmp byte [0x5cc2dc], 0
je 0x421923
mov dword [ebp + 0xc], 0xec8708
mov eax, dword [ebp + 0xc]
sub eax, 0x971b80
jmp 0x421911
cmp byte [0x5cc2dc], 0
je 0x421923
mov dword [ebp + 0xc], 0xed4c08
mov eax, dword [ebp + 0xc]
sub eax, 0x97e010
push ecx
push eax
movzx eax, word [0x5cc2dc]
push eax
call fcn.004bad80
add esp, 0xc
mov ecx, dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 7
mov word [ebp - 0x19c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421950
sub ecx, edx
sar ecx, 1
push ecx
push dword [ebp - 0x58]
lea ecx, [ebp - 0x19c]
call fcn.0041ffd0
lea eax, [edi + 0x104]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x2a4]
call fcn.004152a0
or dword [ebp - 0x18], 0x40
lea eax, [ebp - 0x2a4]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x2d4]
push eax
call fcn.004357a0
add esp, 8
mov cl, byte [edi + 0xb5]
lea edx, [ebp - 0x19c]
push edx
lea edx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1b
push edx
push eax
push ecx
call fcn.0044e9d0
add esp, 0x10
lea ecx, [ebp - 0x2d4]
call fcn.00416700
lea ecx, [ebp - 0x2a4]
call fcn.004166b0
mov eax, dword [ebp - 0x188]
cmp eax, 8
jb 0x4219f5
inc eax
lea ecx, [ebp - 0x19c]
push eax
push dword [ebp - 0x19c]
call fcn.004205e0
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x421a06
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x1cc]
call fcn.00416700
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x421a26
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.004205e0
xor eax, eax
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
call fcn.00416700
mov edx, dword [ebp - 0x74]
mov byte [ebp - 4], 7
cmp edx, 0x10
jb 0x421a7d
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x421a73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x421b5f
push edx
push ecx
call fcn.004b9160
add esp, 8
mov ecx, dword [edi + 0x1ec]
push 1
push 0x2b
push str.BootstrapperDeployStudioBootstrapperSuccess
jmp 0x421ade
mov eax, dword [ecx]
mov dword [ebp - 4], 6
call dword [eax + 0x18]
lea ecx, [ebp - 0x278]
call fcn.00416700
lea ecx, [ebp - 0xb8]
call fcn.00416700
mov edx, dword [ebp - 0x40]
cmp edx, 0x10
jb 0x421013
mov ecx, dword [ebp - 0x54]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x421009
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x421009
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
call fcn.0051bb5f
int3