Function at 0x4633d0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fa3c9
mov eax, dword fs:[0]
push eax
sub esp, 0x5cc
push ebx
push esi
push edi
mov eax, dword [0x6b7e40]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x28], ebx
mov esi, dword [ebx + 8]
push 1
push 0x100000
mov ecx, esi
call fcn.00422d10
mov eax, dword [esi + 0xf4]
and eax, 9
cmp al, 9
sete al
test al, al
je 0x463435
mov ecx, ebx
call fcn.00475000
test al, al
je 0x4639d8
cmp dword [ebx + 0x38], 0
lea esi, [ebx + 0x38]
je 0x4639d8
cmp dword [esi + 0x24], 0xffffffff
je 0x4639d8
cmp dword [ebx + 0x28], 7
je 0x4639d8
push ecx
lea ecx, [ebp - 0x5d8]
call fcn.0045a810
mov dword [ebp - 4], 0
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x463485
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
push ecx
mov byte [ebp - 4], 1
cmp dword [ebx + 0x40], 2
push 1
mov eax, 0x9e04
mov edi, 0x9e02
cmove edi, eax
sub esp, 8
lea eax, [ebp - 0x44]
push esi
push eax
lea ecx, [ebx + 0x58]
call fcn.004460d0
mov esi, eax
push 0
mov edx, edi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.00419a90
add esp, 4
mov byte [ebp - 4], 3
push dword [esi]
push dword [eax]
lea eax, [ebp - 0x28]
push eax
call fcn.00404520
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
or edi, 0xffffffff
add esp, 0xc
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x463506
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463526
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x28]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov dword [ebp - 0x20], eax
call fcn.004046f0
add eax, 0x10
add esp, 4
lea ecx, [ebp - 0x5d8]
mov dword [esi], eax
call fcn.0045aa50
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x20]
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463568
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.https:__www.solidworks.com_pages_services_subscription_ServicePackMaintenanceNotes.html_actionPage_pages_services_subscription_ServicePackMaintenanceNotes.html
lea ecx, [ebp - 0x28]
call fcn.004021e0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x28]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
lea ecx, [ebp - 0x5d8]
mov dword [esi], eax
call fcn.0045aac0
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4635bb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov cl, byte [ebx + 0xb4]
test cl, cl
jne 0x4635d3
cmp byte [ebx + 0x2f], cl
je 0x4635d3
mov byte [ebp - 0x534], 1
jmp 0x4635f2
xor eax, eax
test cl, cl
sete al
mov byte [ebp - 0x534], 0
mov dword [ebp - 0x540], 1
inc eax
mov dword [ebp - 0x544], eax
lea ecx, [ebp - 0x5d8]
call fcn.004a8be7
cmp eax, 1
jne case.default.0x463616
mov eax, dword [ebp - 0x544]
mov esi, dword [ebp - 0x540]
mov dword [ebp - 0x34], eax
cmp eax, 3
ja case.default.0x463616
jmp dword [eax*4 + 0x46498c]
mov esi, dword [ebx + 8]
test dword [esi + 0xf8], 0x100000
jne 0x46363a
push 1
push 0x100000
mov ecx, esi
call fcn.00422d10
or dword [esi + 0xf4], 8
push 0x100000
mov ecx, esi
call fcn.004246a0
mov esi, dword [ebx + 8]
test dword [esi + 0xf8], 0x100000
jne 0x46366a
push 1
push 0x100000
mov ecx, esi
call fcn.00422d10
or dword [esi + 0xf4], 1
push 0x100000
mov ecx, esi
call fcn.004246a0
lea ecx, [ebp - 0x5d8]
mov dword [ebp - 4], 0xffffffff
call fcn.0045a950
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0xb4], 0
jne 0x4636b4
sub esp, 8
mov ecx, ebx
call fcn.004650e0
lea ecx, [ebp - 0x5d8]
mov dword [ebp - 4], 0xffffffff
call fcn.0045a950
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4636f4
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebx + 0x38]
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 5
call fcn.00446a70
sub esp, 0x10
lea eax, [ebp - 0x80]
mov ecx, esp
push eax
mov byte [ebp - 4], 6
call fcn.00427690
push 0
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.00426160
add esp, 0x14
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00404570
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46375f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x78]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x46377f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x28]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov dword [ebp - 0x44], eax
call fcn.004046f0
add eax, 0x10
add esp, 4
lea ecx, [ebp - 0x90]
mov dword [esi], eax
call fcn.00444c70
cmp dword [ebp - 0x90], 0
lea esi, [ebx + 0x38]
je 0x4637c4
push esi
lea ecx, [ebp - 0x90]
call fcn.00444de0
test al, al
je 0x4638a2
lea ecx, [ebp - 0x18]
call fcn.00404540
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00446970
mov byte [ebp - 4], 9
push dword [eax]
lea eax, [ebp - 0x18]
push str.WE_WILL_SKIP_NOTIFICATIONS__DOWNLOADS___THIS_VERSION_IN_THE_FUTURE:__s
push eax
call fcn.00404520
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
add esp, 0xc
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463812
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x18]
push eax
push 0x7a7
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 0
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
sub esp, 0x28
mov ecx, esp
push esi
call fcn.00453130
mov ecx, ebx
call fcn.00475000
mov dl, al
xor cl, cl
call fcn.00426de0
add esp, 0x28
mov ecx, ebx
push 1
call fcn.00474050
mov ecx, dword [ebx + 8]
push 0x63bfdc
add ecx, 0x14
call fcn.00402190
mov ecx, dword [ebx + 8]
push 0x20
call fcn.004246a0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4638a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x44]
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg case.default.0x463616
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.default.0x463616
cmp esi, 0xffffffff
je case.default.0x463616
test esi, esi
je case.default.0x463616
lea ecx, [ebp - 0x34]
call fcn.00407580
sub esp, 8
lea ecx, [ebp - 0x58]
push 0
push esi
mov byte [ebp - 4], 0xa
call fcn.004760b0
mov ecx, dword [eax + 4]
mov edi, dword [ebp - 0x34]
add edi, dword [eax]
mov esi, dword [ebp - 0x30]
adc esi, ecx
sub esp, 8
lea ecx, [ebp - 0x58]
push 0
push 1
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], esi
call fcn.004760b0
mov ecx, dword [eax + 4]
sub edi, dword [eax]
lea edx, [ebp - 0x34]
sbb esi, ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], esi
call fcn.0041d830
push eax
lea eax, [ebp - 0x20]
push 0x63fb7c
push eax
mov byte [ebp - 4], 0xb
call fcn.00404060
add esp, 0xc
mov byte [ebp - 4], 0xc
mov ecx, dword [ebx + 8]
add ecx, 0x14
push eax
call fcn.00404570
lea ecx, [ebp - 0x20]
call fcn.00401020
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
call fcn.00401020
mov ecx, dword [ebx + 8]
push 0x20
jmp 0x463678
mov edi, dword [ebx + 8]
cmp dword [edi + 0x68], 0
lea esi, [edi + 0x68]
je 0x463da8
cmp dword [esi + 0x24], 0xffffffff
je 0x463da8
push esi
lea ecx, [edi + 0x40]
call fcn.00444de0
test al, al
jne 0x463a24
push esi
lea ecx, [edi + 0x40]
call fcn.00444d30
test al, al
je 0x463da8
lea eax, [esi + 0x20]
push eax
lea ecx, [edi + 0x60]
call fcn.00445ff0
test al, al
je 0x463da8
mov ecx, ebx
call fcn.00462a50
mov edx, dword [ebx + 8]
push ecx
push 0
sub esp, 8
lea ecx, [edx + 0x40]
mov byte [ebp - 0x19], al
push ecx
lea eax, [ebp - 0x18]
push eax
lea ecx, [edx + 0x60]
call fcn.004460d0
mov dword [ebp - 4], 0xf
mov ecx, dword [ebx + 8]
push ecx
push 0
sub esp, 8
lea eax, [ecx + 0x68]
push eax
lea eax, [ebp - 0x48]
push eax
add ecx, 0x88
call fcn.004460d0
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
push ecx
push eax
push ecx
push eax
push ecx
mov ecx, esp
push str._s_s_s_s
call fcn.004021e0
xor eax, eax
cmp byte [ebp - 0x19], al
setne al
add eax, 0x7539
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00419e80
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x2c]
add esp, 8
mov edx, 0x24
call fcn.0041d330
add esp, 0x14
cmp eax, 6
jne 0x463d1b
mov eax, dword [ebx + 8]
push 0x63a4c8
push dword [eax + 0xc]
call fcn.005be8d5
add esp, 8
test eax, eax
sete al
test al, al
je 0x463b27
push 0
mov edx, 0x753b
lea ecx, [ebp - 0x20]
call fcn.00419a90
add esp, 4
mov byte [ebp - 4], 0x12
push dword [ebp - 0x48]
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.00404520
add esp, 0xc
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x11
call fcn.00401020
mov ecx, dword [ebp - 0x2c]
sub esp, 0x14
mov edx, 0x24
call fcn.0041d330
add esp, 0x14
cmp eax, 6
jne 0x463d1b
mov ecx, dword [ebx]
push 0
lea eax, [ebp - 0xe0]
push eax
call fcn.00476750
cmp byte [ebp - 0x19], 0
mov byte [ebp - 4], 0x13
je 0x463b55
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x463b90
cmp eax, 1
je 0x463b90
cmp eax, 6
je 0x463b90
mov ecx, dword [ebx]
call fcn.00478180
test al, al
je 0x463b90
mov esi, dword [ebx + 8]
test dword [esi + 0xf8], 0x100000
jne 0x463b7d
push 1
push 0x100000
mov ecx, esi
call fcn.00422d10
and dword [esi + 0xf4], 0xfffffffb
push 0x100000
mov ecx, esi
call fcn.004246a0
mov byte [ebp - 0x11], 0
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x463bb0
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
push 0
mov edx, 0x7537
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x14
call fcn.00419a90
add esp, 4
mov byte [ebp - 4], 0x15
mov ecx, dword [eax]
mov eax, dword [ebx + 8]
push dword [eax + 8]
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
push ecx
push eax
call fcn.00404520
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
or edi, 0xffffffff
add esp, 0x10
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x463c12
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x28]
sub esp, 0x14
mov edx, 0x24
mov ecx, esi
call fcn.0041d330
movzx ecx, byte [ebp - 0x11]
add esp, 0x14
cmp eax, 6
mov edx, 1
cmove ecx, edx
add esi, 0xfffffff0
mov byte [ebp - 0x20], cl
mov byte [ebp - 4], 0x13
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463c56
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x20]
mov ecx, ebx
call fcn.00474b70
test al, al
jne 0x463c89
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
mov ecx, dword [ebx + 8]
add ecx, 0x68
call fcn.00446860
mov ecx, dword [ebx + 8]
push 0x100
call fcn.004246a0
push 0
mov ecx, ebx
call fcn.0046f1b0
mov ecx, ebx
call fcn.0046f730
lea ecx, [ebp - 0xe0]
call fcn.004628f0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463cc4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463ce4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x464979
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
mov ecx, dword [ebx + 8]
add ecx, 0x68
call fcn.00446860
mov ecx, dword [ebx + 8]
push 0x100
call fcn.004246a0
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
or edi, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x463d63
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x48]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463d83
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463dab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x463dab
or edi, 0xffffffff
cmp dword [ebx + 0x28], 7
mov esi, dword [ebx + 8]
push 1
push 0x100000
mov ecx, esi
sete byte [ebp - 0x11]
call fcn.00422d10
mov eax, dword [esi + 0xf4]
and eax, 9
cmp al, 9
sete al
test al, al
jne 0x463de2
cmp dword [ebx + 0x38], 0
je 0x463de2
cmp dword [ebx + 0x5c], 0xffffffff
jne 0x463df6
mov ecx, ebx
call fcn.00475000
test al, al
jne 0x463df6
cmp byte [ebp - 0x11], al
je 0x464979
push ecx
lea ecx, [ebp - 0x358]
call fcn.004597b0
mov dword [ebp - 4], 0x16
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x463e25
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebx + 8]
push ecx
push 1
sub esp, 8
lea eax, [ecx + 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
add ecx, 0x60
call fcn.004460d0
mov esi, eax
push 0
mov edx, 0x9d9e
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x18
call fcn.00419a90
add esp, 4
mov byte [ebp - 4], 0x19
push dword [esi]
push dword [eax]
lea eax, [ebp - 0x48]
push eax
call fcn.00404520
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
add esp, 0xc
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463e9b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463ebb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x48]
lea eax, [edi - 0x10]
push eax
mov dword [ebp - 0x54], eax
call fcn.004046f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 0x1a
call fcn.00404570
add esi, 0xfffffff0
mov byte [ebp - 4], 0x17
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463f04
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push str.https:__www.solidworks.com_pages_services_subscription_ServicePackMaintenanceNotes.html_actionPage_pages_services_subscription_ServicePackMaintenanceNotes.html
lea ecx, [ebp - 0x40]
call fcn.004021e0
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
push eax
call fcn.004046f0
lea esi, [eax + 0x10]
add esp, 4
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x1c
call fcn.00404570
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov byte [ebp - 4], 0x1b
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463f5d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov ecx, esi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x463f7d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebx + 0xb4], 0
jne 0x463f8f
mov byte [ebp - 0x2b8], 1
jmp 0x463faa
mov byte [ebp - 0x2b8], 0
mov dword [ebp - 0x2c4], 1
mov dword [ebp - 0x2c0], 1
lea ecx, [ebp - 0x358]
mov byte [ebp - 0x19], 0
mov byte [ebp - 0x11], 0
call fcn.004a8be7
cmp eax, 1
jne case.default.0x463fe1
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ecx
cmp eax, 3
ja case.default.0x463fe1
jmp dword [eax*4 + 0x46499c]
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x2c]
push eax
call fcn.00425890
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1d
call fcn.00413d00
add esp, 4
test al, al
jne 0x46405e
lea ecx, [ebp - 0x18]
call fcn.00404540
mov byte [ebp - 4], 0x1e
push dword [ebp - 0x2c]
lea eax, [ebp - 0x18]
push str.Could_not_access_IM_to_run:__s
push eax
call fcn.00404520
add esp, 8
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x18]
push eax
push 0x856
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 1
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp - 0x18]
jmp 0x464403
push 0x63bfdc
lea ecx, [ebp - 0x40]
call fcn.004021e0
lea ecx, [ebp - 0x5c]
call fcn.00404540
lea eax, [ebp - 0x5c]
push eax
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x20
call fcn.0041aa70
add esp, 4
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1f
call fcn.00401020
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x20]
push eax
add ecx, 0x40
call fcn.00446970
lea ecx, [ebp - 0x5c]
call fcn.00404540
mov byte [ebp - 4], 0x22
mov eax, dword [ebx + 8]
push dword [eax + 4]
lea eax, [ebp - 0x5c]
push str.bgdwld
push dword [ebp - 0x20]
push str.launched_from
push str.wait_mutex
push str.__s___s__s___s___s_
push eax
call fcn.00404520
add esp, 0x1c
lea ecx, [ebp - 0x18]
push 0x63bfdc
call fcn.004021e0
mov byte [ebp - 4], 0x23
mov esi, dword [ebp - 0x5c]
push esi
push dword [ebp - 0x2c]
lea eax, [ebp - 0x18]
push str.__s___s
push eax
call fcn.00404520
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x60], esp
push 0x63bfdc
call fcn.004021e0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x6c]
push str.Running_the_new_IM_via_command:
push eax
mov byte [ebp - 4], 0x24
call fcn.00404060
add esp, 0xc
mov byte [ebp - 4], 0x25
push 0
push eax
push 0x870
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 0
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.004022e0
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x23
call fcn.00401020
mov ecx, dword [ebp - 0x18]
push 0
push 0
push 0
push dword [ebp - 0x40]
xor dl, dl
call fcn.0041ca60
add esp, 0x10
mov dword [ebp - 0x60], eax
test eax, eax
je 0x4642ff
cmp eax, 0x2e4
jne 0x46428d
lea ecx, [ebp - 0x3c]
call fcn.00404540
lea ecx, [ebp - 0x64]
call fcn.00404540
lea eax, [ebp - 0x64]
push eax
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x28
call fcn.0041aa70
add esp, 4
push 1
push dword [ebp - 0x3c]
push esi
push dword [ebp - 0x2c]
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x4c]
mov esi, eax
call fcn.00404540
cmp esi, 0x20
jg 0x464233
push esi
mov byte [ebp - 4], 0x29
push dword [ebp - 0x2c]
lea eax, [ebp - 0x4c]
push str.Could_not_run_IM_using_ShellExecute:__s__code__d_
push eax
call fcn.00404520
add esp, 0xc
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x4c]
push eax
push 0x87f
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 1
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp - 0x4c]
call fcn.00401020
mov esi, dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
call fcn.00401020
jmp 0x4642eb
mov byte [ebp - 4], 0x2a
push dword [ebp - 0x2c]
lea eax, [ebp - 0x4c]
push str.IM_failed_using_RunCmd__but_succeeded_using_ShellExecute:__s
push eax
call fcn.00404520
add esp, 8
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x4c]
push eax
push 0x885
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 1
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp - 0x4c]
xor esi, esi
call fcn.00401020
lea ecx, [ebp - 0x64]
call fcn.00401020
jmp 0x4642eb
cmp eax, 2
je 0x4642ff
cmp eax, 0x103
je 0x4642ff
lea ecx, [ebp - 0x3c]
call fcn.00404540
mov byte [ebp - 4], 0x2b
mov esi, dword [ebp - 0x60]
push esi
push dword [ebp - 0x2c]
lea eax, [ebp - 0x3c]
push str.Could_not_access_IM_to_run:__s__code__d_
push eax
call fcn.00404520
add esp, 0xc
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x892
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 1
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x23
call fcn.00401020
test esi, esi
jne 0x4643e8
mov eax, dword [ebx + 8]
mov byte [ebp - 0x19], 1
cmp dword [eax], 8
je 0x464370
lea ecx, [ebp - 0x3c]
call fcn.00404540
mov byte [ebp - 4], 0x2c
mov eax, dword [ebx + 8]
push dword [eax]
lea eax, [ebp - 0x3c]
push str.Changing_request_status_from__d_to_Acknowledged_because_user_selected_Install_Now
push eax
call fcn.00404520
add esp, 8
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x89f
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 0
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x3c]
mov dword [eax], 8
mov byte [ebp - 4], 0x23
call fcn.00401020
mov ecx, dword [ebx + 8]
push 0xffffff
call fcn.004246a0
push str.THE_IM_WAS_LAUNCHED_SUCCESSFULLY.
lea ecx, [ebp - 0x44]
call fcn.004021e0
push ecx
mov ecx, esp
push 0x63bfdc
mov byte [ebp - 4], 0x2d
call fcn.004021e0
push 0
lea eax, [ebp - 0x44]
push eax
push 0x8a5
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 0
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x23
call fcn.00401020
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.00469c90
push 2
mov ecx, ebx
call fcn.00469560
mov byte [ebp - 0x11], 1
lea ecx, [ebp - 0x18]
call fcn.00401020
lea ecx, [ebp - 0x5c]
call fcn.00401020
lea ecx, [ebp - 0x20]
call fcn.00401020
lea ecx, [ebp - 0x40]
call fcn.00401020
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x17
call fcn.00401020
cmp byte [ebp - 0x19], 0
jne 0x4645c3
or ebx, 0xffffffff
cmp byte [ebp - 0x11], 0
je 0x464949
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x54]
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x464967
mov ecx, dword [edx]
push edx
jmp 0x464962
lea ecx, [ebp - 0x18]
call fcn.00404540
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebx + 8]
push ecx
push 1
sub esp, 8
lea eax, [ecx + 0x40]
push eax
lea eax, [ebp - 0x50]
push eax
add ecx, 0x60
call fcn.004460d0
mov esi, eax
push 0
mov edx, 0x7536
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x2f
call fcn.00419a90
add esp, 4
mov byte [ebp - 4], 0x30
mov ecx, dword [eax]
mov eax, dword [ebx + 8]
push dword [eax + 8]
lea eax, [ebp - 0x18]
push dword [esi]
push ecx
push eax
call fcn.00404520
add esp, 0x10
lea ecx, [ebp - 0x68]
call fcn.00401020
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x2e
call fcn.00401020
mov ecx, dword [ebp - 0x18]
sub esp, 0x14
mov edx, 0x34
call fcn.0041d330
add esp, 0x14
cmp eax, 6
je 0x4644e3
lea ecx, [ebp - 0x18]
call fcn.00401020
lea ecx, [ebp - 0x48]
call fcn.00401020
jmp 0x464967
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x63bfdc
call fcn.004021e0
push ecx
mov byte [ebp - 4], 0x31
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x63bfdc
call fcn.004021e0
push ecx
mov ecx, esp
push str.IMBGDWLD
mov byte [ebp - 4], 0x32
call fcn.004021e0
mov ecx, ebx
mov byte [ebp - 4], 0x2e
call fcn.004735b0
mov ecx, dword [ebx + 8]
call fcn.00425dc0
push 0
mov ecx, ebx
call fcn.0046f1b0
mov ecx, ebx
call fcn.0046f730
lea ecx, [ebp - 0x18]
jmp 0x4645ba
mov ecx, dword [ebx + 8]
push dword [ecx + 8]
lea eax, [ecx + 0x40]
push ecx
push 1
sub esp, 8
add ecx, 0x60
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.004460d0
mov byte [ebp - 4], 0x33
push dword [eax]
push ecx
mov ecx, esp
push 0x6408cc
call fcn.004021e0
lea eax, [ebp - 0x20]
push 0x7538
push eax
call fcn.00419e80
add esp, 0x14
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x35
call fcn.00401020
mov ecx, dword [ebp - 0x20]
sub esp, 0x14
mov edx, 0x40
call fcn.0041d330
mov ecx, dword [ebx + 8]
add esp, 0x14
call fcn.00425dc0
push 0
mov ecx, ebx
call fcn.0046f1b0
mov ecx, ebx
call fcn.0046f730
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x17
call fcn.00401020
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4645df
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x36
mov esi, dword [ebx + 8]
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x80], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + 0x60]
sub eax, 0x10
push eax
call fcn.004046f0
mov ebx, dword [esi + 0x64]
add eax, 0x10
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ebx
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x38]
sub esp, 0xc
mov esi, esp
add eax, 0xfffffff0
mov dword [esi], ecx
mov ecx, dword [ebp - 0x50]
push eax
mov dword [esi + 4], ecx
mov dword [ebp - 0x50], eax
call fcn.004046f0
add esp, 4
add eax, 0x10
mov dword [esi + 8], eax
push 0
xor edx, edx
lea ecx, [ebp - 0x38]
mov dword [esi + 0xc], ebx
call fcn.00426160
add esp, 0x14
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x38
call fcn.00404570
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
or ebx, 0xffffffff
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x464688
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x50]
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4646a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x20]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov dword [ebp - 0x50], eax
call fcn.004046f0
add eax, 0x10
add esp, 4
lea ecx, [ebp - 0x90]
mov dword [esi], eax
call fcn.00444c70
cmp dword [ebp - 0x90], 0
mov esi, dword [ebp - 0x28]
je 0x4646f0
mov eax, dword [esi + 8]
add eax, 0x40
push eax
lea ecx, [ebp - 0x90]
call fcn.00444de0
test al, al
je 0x4647f9
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x46470c
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x39
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x38]
push eax
add ecx, 0x40
call fcn.00446970
mov byte [ebp - 4], 0x3a
push dword [eax]
lea eax, [ebp - 0x40]
push str.WE_WILL_SKIP_AUTOMATIC_DOWNLOADS___THIS_VERSION_IN_THE_FUTURE:__s
push eax
call fcn.00404520
mov byte [ebp - 4], 0x39
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
add esp, 0xc
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x464763
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x40]
push eax
push 0x8ef
push str.C:_amintegration_tools_setupishield_sldim_sldbgdwldBgDwldManager.cpp
push 0
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
mov eax, dword [esi + 8]
sub esp, 0x28
add eax, 0x40
mov ecx, esp
push eax
call fcn.00453130
mov ecx, esi
call fcn.00475000
mov dl, al
xor cl, cl
call fcn.00426de0
add esp, 0x28
mov ecx, esi
push 1
call fcn.00474050
mov ecx, dword [esi + 8]
push 0x63bfdc
add ecx, 0x14
call fcn.00402190
mov ecx, dword [esi + 8]
push 0x20
call fcn.004246a0
mov byte [ebp - 4], 0x36
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4647f9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x50]
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x464421
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x464421
cmp ecx, 0xffffffff
je case.default.0x463fe1
test ecx, ecx
je case.default.0x463fe1
lea ecx, [ebp - 0x24]
call fcn.00407580
sub esp, 8
mov byte [ebp - 4], 0x3b
push 0
push dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
call fcn.004760b0
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 0x24]
add ebx, dword [eax]
mov esi, dword [ebp - 0x20]
adc esi, ecx
sub esp, 8
lea ecx, [ebp - 0x34]
push 1
push 0
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], esi
call fcn.004760b0
mov ecx, dword [eax + 4]
sub ebx, dword [eax]
lea edx, [ebp - 0x24]
sbb esi, ecx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], esi
call fcn.0041d830
push eax
lea eax, [ebp - 0x54]
push 0x63fb7c
push eax
mov byte [ebp - 4], 0x3c
call fcn.00404060
add esp, 0xc
mov byte [ebp - 4], 0x3d
mov esi, dword [ebp - 0x28]
push eax
mov ecx, dword [esi + 8]
add ecx, 0x14
call fcn.00404570
lea ecx, [ebp - 0x54]
call fcn.00401020
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x3b
call fcn.00401020
mov ecx, dword [esi + 8]
push 0x20
call fcn.004246a0
mov dword [ebp - 4], 0x17
jmp 0x464949
or esi, 0xffffffff
add edi, 0xfffffff0
mov byte [ebp - 4], 0x16
lea eax, [edi + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x464967
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x358]
mov dword [ebp - 4], 0xffffffff
call fcn.004598e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret