Function at 0x42fd50
Capabilities:
Set current directory

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4788cc
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x6b0
mov eax, dword [0x49c128]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x564], esi
mov edi, dword [ebx + 8]
lea ecx, [ebp - 0x558]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x568], edi
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx + 0x14]
push str.updater::update_crt_version
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x580], 0
call fcn.004046d0
lea eax, [ebp - 0x74]
mov dword [ebp - 4], 0
push eax
call fcn.00429cf0
cmp byte [ebp - 0x54], 0
mov al, byte [eax + 0x20]
mov byte [ebp - 0x559], al
je 0x42fe27
mov edx, dword [ebp - 0x58]
cmp edx, 0x10
jb 0x42fe27
mov ecx, dword [ebp - 0x6c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42fe17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43155a
push edx
push ecx
call fcn.004553f5
mov al, byte [ebp - 0x559]
add esp, 8
test al, al
jne 0x42fe6a
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], vtable.std::_Func_impl_no_alloc_class__lambda_157ca6b285fe1b112c52ff2c8973b44a___void___.0
lea ecx, [esi + 0x18]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 1
lea edx, [ebp - 0x78]
mov eax, dword [ecx]
push edx
push dword [eax]
call fcn.004359f0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x42fe6a
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x78]
cmp ecx, eax
setne al
push eax
call edx
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x42fe74
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x18
xor eax, eax
mov dword [ebp - 0xbc], 0
push str.ProductAgentCommands.dll
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
call fcn.00418a50
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x598]
push 8
xor eax, eax
mov dword [ebp - 0x598], 0
push str.settings
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 7
mov word [ebp - 0x598], ax
call fcn.00418a50
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x560]
add eax, 0x18
push ecx
push eax
lea ecx, [ebp - 0x5b0]
mov dword [ebp - 0x560], eax
call fcn.004341a0
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 4
push eax
mov ecx, esi
call fcn.0041a800
push eax
lea ecx, [ebp - 0x5e0]
mov byte [ebp - 4], 5
call fcn.004083f0
lea eax, [ebp - 0x5b0]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00403b30
push eax
lea ecx, [ebp - 0x98]
call fcn.004083f0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x5cc]
cmp edx, 8
jb 0x42ff99
mov ecx, dword [ebp - 0x5e0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42ff8f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43155f
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x5d0], 0
mov dword [ebp - 0x5cc], 7
mov word [ebp - 0x5e0], ax
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x57c]
call fcn.004083f0
lea eax, [ebp - 0x598]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x57c]
call fcn.00403b30
push eax
lea ecx, [ebp - 0x5f8]
call fcn.004083f0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x568]
cmp edx, 8
jb 0x430032
mov ecx, dword [ebp - 0x57c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430028
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431564
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x56c], 0
mov dword [ebp - 0x568], 7
mov word [ebp - 0x57c], ax
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x610]
call fcn.004083f0
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0xa
push eax
lea ecx, [ebp - 0x610]
call fcn.00403b30
push eax
lea ecx, [ebp - 0x104]
call fcn.004083f0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x5fc]
cmp edx, 8
jb 0x4300cb
mov ecx, dword [ebp - 0x610]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4300c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431569
push edx
push ecx
call fcn.004553f5
add esp, 8
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x5e4]
cmp edx, 8
jb 0x43010f
mov ecx, dword [ebp - 0x5f8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430105
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43156e
push edx
push ecx
call fcn.004553f5
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x84]
cmp edx, 8
jb 0x430153
mov ecx, dword [ebp - 0x98]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430149
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43156e
push edx
push ecx
call fcn.004553f5
add esp, 8
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x5b4]
cmp edx, 8
jb 0x430197
mov ecx, dword [ebp - 0x5c8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43018d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43156e
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x5b8], 0
mov dword [ebp - 0x5b4], 7
mov word [ebp - 0x5c8], ax
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x59c]
cmp edx, 8
jb 0x4301f8
mov ecx, dword [ebp - 0x5b0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4301ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43156e
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x59c], 7
mov word [ebp - 0x5b0], ax
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x584]
cmp edx, 8
jb 0x430259
mov ecx, dword [ebp - 0x598]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43024f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43156e
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 7
mov word [ebp - 0x598], ax
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x4302ba
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4302b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43156e
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0xac], 0
push 0x14
mov dword [ebp - 0x5e0], eax
lea ecx, [ebp - 0x5e0]
push str.bootstrap_token.conf
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], 7
mov word [ebp - 0x5e0], ax
call fcn.00418a50
push ecx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x5f8]
push dword [ebp - 0x560]
call fcn.004341a0
lea eax, [ebp - 0x610]
mov byte [ebp - 4], 0x13
push eax
mov ecx, esi
call fcn.0041a800
push eax
lea ecx, [ebp - 0x5b0]
mov byte [ebp - 4], 0x14
call fcn.004083f0
lea eax, [ebp - 0x5f8]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x5b0]
call fcn.00403b30
push eax
lea ecx, [ebp - 0x5c8]
call fcn.004083f0
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x59c]
cmp edx, 8
jb 0x4303a4
mov ecx, dword [ebp - 0x5b0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43039a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431573
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x59c], 7
mov word [ebp - 0x5b0], ax
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x98]
call fcn.004083f0
lea eax, [ebp - 0x5e0]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x98]
call fcn.00403b30
push eax
lea ecx, [ebp - 0xec]
call fcn.004083f0
mov byte [ebp - 4], 0x16
mov esi, 0x7ff0
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x580], esi
cmp edx, 8
jb 0x430448
mov ecx, dword [ebp - 0x98]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43043e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x431578
push edx
push ecx
call fcn.004553f5
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x5b4]
cmp edx, 8
jb 0x43048c
mov ecx, dword [ebp - 0x5c8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430482
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43157d
push edx
push ecx
call fcn.004553f5
add esp, 8
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x5fc]
cmp edx, 8
jb 0x4304d0
mov ecx, dword [ebp - 0x610]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4304c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43157d
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x600], 0
mov dword [ebp - 0x5fc], 7
mov word [ebp - 0x610], ax
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x5e4]
cmp edx, 8
jb 0x430531
mov ecx, dword [ebp - 0x5f8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430527
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43157d
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5e4], 7
mov word [ebp - 0x5f8], ax
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x5cc]
cmp edx, 8
jb 0x430592
mov ecx, dword [ebp - 0x5e0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430588
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43157d
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x5d0], 0
lea edx, [ebp - 0x24]
mov dword [ebp - 0x5cc], 7
lea ecx, [ebp - 0x104]
mov word [ebp - 0x5e0], ax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x49cb90
call fcn.0041b620
test al, al
je 0x4305ef
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x56c]
call fcn.00403ef0
add esp, 4
mov byte [ebp - 0x55a], 1
cmp dword [eax], 2
je 0x4305f6
mov byte [ebp - 0x55a], 0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0xec]
call fcn.0041b620
test al, al
je 0x430629
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0xec]
lea ecx, [ebp - 0x56c]
call fcn.00403ef0
add esp, 4
cmp dword [eax], 2
jne 0x430629
mov al, 1
jmp 0x43062b
xor al, al
cmp byte [ebp - 0x55a], 0
mov byte [ebp - 0x559], al
jne 0x430642
test al, al
je 0x430fd7
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], vtable.std::_Func_impl_no_alloc_class__lambda_92aaa32e72dafed5f2b521eec2db2156___void___.0
lea ecx, [eax + 0x18]
lea eax, [ebp - 0x78]
mov dword [ebp - 0x568], ecx
mov dword [ebp - 0x54], eax
push eax
mov byte [ebp - 4], 0x1d
push dword [ecx]
call fcn.004359f0
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x430688
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0x78]
cmp ecx, eax
setne al
push eax
call edx
lea eax, [ebp - 0x48]
push eax
call fcn.00422e20
mov byte [ebp - 4], 0x1e
mov al, byte [ebp - 0x28]
test al, al
je 0x4307c6
mov ecx, dword [ebp - 0x564]
call fcn.00423cb0
test al, al
jne 0x4307c3
cmp byte [ebp - 0x28], al
je 0x431582
movups xmm0, xmmword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0xd8]
mov dword [edi], 0xffffffc4
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov byte [ebp - 0x40], 0
movups xmmword [edi + 0xc], xmm0
movq xmm0, qword [ebp - 0x30]
movq qword [edi + 0x1c], xmm0
mov byte [edi + 0x24], 1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
cmp edx, 8
jb 0x430744
mov ecx, dword [ebp - 0xec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43073a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315af
push edx
push ecx
call fcn.004553f5
add esp, 8
mov edx, dword [ebp - 0xf0]
xor eax, eax
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 7
mov word [ebp - 0xec], ax
cmp edx, 8
jb 0x4307a1
mov ecx, dword [ebp - 0x104]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430797
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315af
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 7
mov word [ebp - 0x104], ax
jmp 0x43152d
mov al, byte [ebp - 0x28]
mov byte [ebp - 4], 0x1c
test al, al
je 0x430802
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x430802
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4307f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315af
push edx
push ecx
call fcn.004553f5
add esp, 8
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x3c]
push eax
call fcn.0041a800
mov ecx, eax
mov byte [ebp - 4], 0x1f
call fcn.00440bd0
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x28]
cmp edx, 8
jb 0x43085a
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430850
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315b4
push edx
push ecx
call fcn.004553f5
add esp, 8
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x3c]
push eax
call fcn.0041a800
mov ecx, eax
mov byte [ebp - 4], 0x20
call fcn.0042b400
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x28]
cmp edx, 8
jb 0x4308b2
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4308a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315b9
push edx
push ecx
call fcn.004553f5
add esp, 8
cmp byte [ebp - 0x55a], 0
je 0x430bf5
push 0x18
xor eax, eax
mov dword [ebp - 0x598], 0
push str.ProductAgentCommands.dll
lea ecx, [ebp - 0x598]
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x584], 7
mov word [ebp - 0x598], ax
call fcn.00418a50
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xbc]
push 8
xor eax, eax
mov dword [ebp - 0xbc], 0
push str.settings
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
call fcn.00418a50
push dword [ebp - 0x564]
lea ecx, [ebp - 0x5b0]
mov byte [ebp - 4], 0x22
call fcn.004083f0
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x5b0]
call fcn.00403b30
push eax
lea ecx, [ebp - 0x5c8]
call fcn.004083f0
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x59c]
cmp edx, 8
jb 0x4309b0
mov ecx, dword [ebp - 0x5b0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4309a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315be
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x59c], 7
mov word [ebp - 0x5b0], ax
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x98]
call fcn.004083f0
lea eax, [ebp - 0x598]
mov byte [ebp - 4], 0x25
push eax
lea ecx, [ebp - 0x98]
call fcn.00403b30
push eax
lea ecx, [ebp - 0x3c]
call fcn.004083f0
mov byte [ebp - 4], 0x24
mov esi, 0x1ffff0
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x580], esi
cmp edx, 8
jb 0x430a51
mov ecx, dword [ebp - 0x98]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430a47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315c3
push edx
push ecx
call fcn.004553f5
add esp, 8
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0x5b4]
cmp edx, 8
jb 0x430a95
mov ecx, dword [ebp - 0x5c8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430a8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315c8
push edx
push ecx
call fcn.004553f5
add esp, 8
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x430ad9
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430acf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315c8
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x584]
cmp edx, 8
jb 0x430b3a
mov ecx, dword [ebp - 0x598]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x430b30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4315c8
push edx
push ecx
call fcn.004553f5
add esp, 8
xor eax, eax
mov dword [ebp - 0x588], 0
mov word [ebp - 0x598], ax
lea edx, [ebp - 0x104]
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x584], 7
push eax
lea ecx, [ebp - 0x74]
call fcn.0042f340
add esp, 4
mov byte [ebp - 4], 0x2a
cmp byte [ebp - 0x54], 0
je 0x430bcb
movups xmm0, xmmword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov dword [edi], 0xffffffb8
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x3c]
mov dword [edi + 4], eax
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
movups xmmword [edi + 0xc], xmm0
mov byte [ebp - 0x6c], 0
movq xmm0, qword [ebp - 0x5c]
movq qword [edi + 0x1c], xmm0
mov byte [edi + 0x24], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
call fcn.00403db0
jmp 0x431517
lea ecx, [ebp - 0xa4]
call fcn.0042ec70
lea ecx, [ebp - 0xa4]
call fcn.004194f0
lea ecx, [ebp - 0x74]
call fcn.004194f0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1c
call fcn.00403db0
cmp byte [ebp - 0x559], 0
je 0x430c60
sub esp, 8
lea ecx, [ebp - 0x3c]
call fcn.00434840
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2b
call fcn.00403d00
add esp, 4
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x2d
call fcn.00403db0
lea eax, [ebp - 0x98]
push eax
lea edx, [ebp - 0xec]
lea ecx, [ebp - 0x74]
call fcn.0042f340
add esp, 4
lea ecx, [ebp - 0x74]
call fcn.004194f0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1c
call fcn.00403db0
mov eax, dword [ebp - 0x7c]
cmp byte [eax + 0x18], 0
je 0x430f6b
cmp dword [eax + 0x10], 0
je 0x430f6b
push 0x30
lea eax, [ebp - 0xd4]
push 0
push eax
call fcn.004572c0
add esp, 0xc
lea ecx, [ebp - 0xd4]
call fcn.00406b20
sub esp, 8
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x98]
call fcn.0040ecf0
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x5c8]
mov byte [ebp - 4], 0x2f
call fcn.00403d00
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x30
call fcn.00403cf0
push str.product_agent
push eax
lea ecx, [ebp - 0xd4]
call fcn.00406960
lea ecx, [ebp - 0x5c8]
mov dword [ebp - 0x18], eax
call fcn.00403db0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x2e
call fcn.00403db0
cmp dword [ebp - 0x18], 0
je 0x430daf
push str.updater::update_crt_version
mov edx, 4
lea ecx, [ebp - 0x6c0]
call fcn.00404b20
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x31
call fcn.0040ed30
lea edx, [ebp - 0x18]
mov ecx, eax
call fcn.0040ed50
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x2e
call fcn.00404ac0
sub esp, 0x18
mov ecx, esp
push str.failed_get_iproduct_agent_from_ProductAgent.dll
call fcn.004087a0
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0xa0]
push 0x49cba0
call fcn.00419cc0
add esp, 0x1c
mov dword [ebp - 0x560], 0xffffffec
lea ecx, [ebp - 0x74]
push eax
lea eax, [ebp - 0x560]
push eax
call fcn.00434400
push eax
mov ecx, edi
call fcn.00434460
lea ecx, [ebp - 0x74]
call fcn.00412240
lea ecx, [ebp - 0xa0]
call fcn.004041c0
lea ecx, [ebp - 0xd4]
call fcn.00406a80
jmp 0x431517
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x74]
push eax
call fcn.004242d0
lea ecx, [ebp - 0x74]
call fcn.004194f0
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x74]
push eax
call fcn.00424b00
lea ecx, [ebp - 0x74]
call fcn.004194f0
mov ecx, dword [ebp - 0x7c]
call fcn.00403cf0
push ecx
cmp word [eax], 0x22
jne 0x430e04
mov edx, str.ProductAgentService.exe_start
lea ecx, [ebp - 0x5b0]
call fcn.00434140
add esp, 4
or esi, 2
jmp 0x430e3f
mov edx, str.ProductAgentService.exe_start__
lea ecx, [ebp - 0x5c8]
call fcn.00434140
add esp, 4
mov dword [ebp - 4], 0x33
lea ecx, [ebp - 0x98]
or esi, 4
mov edx, eax
push 0x48bd88
mov dword [ebp - 0x580], esi
call fcn.00433cc0
add esp, 4
or esi, 8
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x18], esi
call fcn.00418d30
mov eax, esi
mov dword [ebp - 4], 0x34
test al, 8
je 0x430e6c
and eax, 0xfffffff7
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x18], eax
call fcn.00403db0
mov eax, dword [ebp - 0x18]
test al, 4
je 0x430e84
and eax, 0xfffffffb
lea ecx, [ebp - 0x5c8]
mov dword [ebp - 0x18], eax
call fcn.00403db0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x36
test al, 2
je 0x430e97
lea ecx, [ebp - 0x5b0]
call fcn.00403db0
mov edi, dword [ebp - 0xc8]
lea ecx, [ebp - 0x3c]
mov eax, dword [edi]
mov esi, dword [eax + 8]
call fcn.00403cf0
push eax
mov ecx, edi
call esi
mov esi, eax
test esi, esi
je 0x430f4f
sub esp, 0x18
mov ecx, esp
push str.failed_ProductAgentService.exe_start
call fcn.004087a0
push 0x49cba0
mov edx, esi
lea ecx, [ebp - 0x618]
call fcn.00419cc0
add esp, 0x1c
mov dword [ebp - 0x560], 0xffffffc3
lea ecx, [ebp - 0x74]
push eax
lea eax, [ebp - 0x560]
push eax
call fcn.00434400
mov ecx, dword [ebp - 0x4c]
push eax
call fcn.00434460
lea ecx, [ebp - 0x74]
call fcn.00412240
lea ecx, [ebp - 0x618]
call fcn.004041c0
lea ecx, [ebp - 0x3c]
call fcn.00403db0
lea ecx, [ebp - 0xd4]
call fcn.00406a80
lea ecx, [ebp - 0xec]
call fcn.00403db0
lea ecx, [ebp - 0x104]
call fcn.00403db0
lea ecx, [ebp - 0x558]
call fcn.004047e0
mov eax, dword [ebp - 0x4c]
jmp 0x43153a
lea ecx, [ebp - 0x3c]
call fcn.00403db0
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x1c
call fcn.00406a80
mov edi, dword [ebp - 0x4c]
jmp 0x430fcc
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x74]
push eax
call fcn.00425260
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x74]
cmp byte [ebp - 0x54], 0
je 0x430fc3
mov dword [ebp - 0x560], 0xffffffc3
call fcn.00431b10
push eax
lea eax, [ebp - 0x560]
push eax
lea ecx, [ebp - 0x48]
call fcn.00434400
push eax
mov ecx, edi
call fcn.00434460
lea ecx, [ebp - 0x48]
call fcn.00412240
lea ecx, [ebp - 0x74]
call fcn.004194f0
jmp 0x431517
mov byte [ebp - 4], 0x1c
call fcn.004194f0
mov ecx, dword [ebp - 0x568]
call fcn.0041c260
sub esp, 8
lea ecx, [ebp - 0x3c]
call fcn.004347a0
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x5c8]
push eax
mov byte [ebp - 4], 0x38
call fcn.0041a800
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x39
push ecx
mov edx, eax
lea ecx, [ebp - 0x98]
call fcn.00403d00
add esp, 4
lea edx, [ebp - 0x24]
mov ecx, eax
call fcn.0041b680
lea ecx, [ebp - 0x98]
mov byte [ebp - 0x559], al
call fcn.00403db0
lea ecx, [ebp - 0x5c8]
call fcn.00403db0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1c
call fcn.00403db0
cmp byte [ebp - 0x559], 0
jne 0x43111a
push str.updater::update_crt_version
mov edx, 8
lea ecx, [ebp - 0x6c0]
call fcn.00404b20
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x3a
call fcn.004347e0
sub esp, 8
lea ecx, [ebp - 0x3c]
mov esi, eax
call fcn.004347a0
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x5c8]
push eax
mov byte [ebp - 4], 0x3b
call fcn.0041a800
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x3c
push ecx
mov edx, eax
lea ecx, [ebp - 0x98]
call fcn.00403d00
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x3d
call fcn.00403cf0
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], eax
mov ecx, esi
call fcn.0040ed70
mov edx, str._err
mov ecx, eax
call fcn.0040ed90
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], ecx
mov ecx, eax
call fcn.0040ed50
lea ecx, [ebp - 0x98]
call fcn.00403db0
lea ecx, [ebp - 0x5c8]
call fcn.00403db0
lea ecx, [ebp - 0x3c]
call fcn.00403db0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x1c
call fcn.00404ac0
sub esp, 8
lea ecx, [ebp - 0x140]
mov eax, esp
mov dword [eax], 0x2710
mov dword [eax + 4], 0
call fcn.0042efc0
add esp, 8
mov byte [ebp - 4], 0x3e
cmp byte [ebp - 0x120], 0
je 0x4311c3
push str.updater::update_crt_version
mov edx, 8
lea ecx, [ebp - 0x6c0]
call fcn.00404b20
add esp, 4
mov edx, str.Failed_wait_parent_process:_err
mov byte [ebp - 4], 0x3f
mov ecx, eax
call fcn.0040ed90
lea ecx, [ebp - 0x140]
mov esi, eax
call fcn.00431630
lea edx, [ebp - 0x568]
mov ecx, dword [eax]
mov dword [ebp - 0x568], ecx
mov ecx, esi
call fcn.0040ed50
mov edx, 0x489750
mov ecx, eax
call fcn.0040ed90
lea ecx, [ebp - 0x140]
mov esi, eax
call fcn.00431630
mov ecx, esi
lea edx, [eax + 8]
call fcn.0040edd0
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x3e
call fcn.00404ac0
push ecx
push dword [ebp - 0x560]
lea ecx, [ebp - 0x3c]
call fcn.004341a0
mov ecx, dword [ebp - 0x564]
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x40
call fcn.0041a800
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x41
push ecx
mov edx, eax
lea ecx, [ebp - 0x11c]
call fcn.00403d00
add esp, 4
lea ecx, [ebp - 0x98]
call fcn.00403db0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x44
call fcn.00403db0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x11c]
call fcn.0041ba70
cmp dword [ebp - 0x24], 0
lea ecx, [ebp - 0x6c0]
push str.updater::update_crt_version
je 0x4314a0
mov edx, 4
call fcn.00404b20
add esp, 4
mov edx, 0x48b7f8
mov byte [ebp - 4], 0x45
mov ecx, eax
call fcn.0040ed90
lea ecx, [ebp - 0x11c]
mov esi, eax
call fcn.00403cf0
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], eax
mov ecx, esi
call fcn.0040ed70
mov edx, str._err
mov ecx, eax
call fcn.0040ed90
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], ecx
mov ecx, eax
call fcn.0040ed50
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x44
call fcn.00404ac0
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x11c]
movlpd qword [ebp - 0x1c], xmm0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0041b3a0
cmp dword [ebp - 0x24], 0
jne 0x431492
sub esp, 8
lea eax, [ebp - 0x1c]
mov ecx, esp
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
push eax
call fcn.00426f70
lea ecx, [ebp - 0x50]
call fcn.0041b430
lea eax, [ebp - 0x1c]
movlpd qword [ebp - 0x80], xmm0
mov ecx, esp
push eax
call fcn.00426f70
lea ecx, [ebp - 0x80]
call fcn.0041b450
add esp, 8
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x80]
je 0x4313fb
add eax, 0x20
lea edx, [ebp - 0x24]
mov ecx, eax
mov dword [ebp - 0x560], eax
call fcn.0041ba70
cmp dword [ebp - 0x24], 0
lea ecx, [ebp - 0x6c0]
push str.updater::update_crt_version
je 0x43139b
mov edx, 4
call fcn.00404b20
add esp, 4
mov edx, 0x48b7f8
mov byte [ebp - 4], 0x49
mov ecx, eax
call fcn.0040ed90
mov ecx, dword [ebp - 0x560]
mov esi, eax
call fcn.00403cf0
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], eax
mov ecx, esi
call fcn.0040ed70
mov edx, str._err
mov ecx, eax
call fcn.0040ed90
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], ecx
mov ecx, eax
call fcn.0040ed50
jmp 0x4313d8
mov edx, 0x10
call fcn.00404b20
add esp, 4
mov edx, 0x48b7f8
mov byte [ebp - 4], 0x4a
mov ecx, eax
call fcn.0040ed90
mov ecx, dword [ebp - 0x560]
mov esi, eax
call fcn.00403cf0
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], eax
mov ecx, esi
call fcn.0040ed70
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x48
call fcn.00404ac0
lea ecx, [ebp - 0x50]
call fcn.0041b410
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x80]
jne 0x431316
lea ecx, [ebp - 0x80]
call fcn.00407d30
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x46
call fcn.00407d30
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x11c]
call fcn.0041ba70
push str.updater::update_crt_version
mov edx, 4
lea ecx, [ebp - 0x6c0]
call fcn.00404b20
add esp, 4
mov edx, 0x48b7f8
mov byte [ebp - 4], 0x4b
mov ecx, eax
call fcn.0040ed90
lea ecx, [ebp - 0x11c]
mov esi, eax
call fcn.00403cf0
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], eax
mov ecx, esi
call fcn.0040ed70
mov edx, str._err
mov ecx, eax
call fcn.0040ed90
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], ecx
mov ecx, eax
call fcn.0040ed50
lea ecx, [ebp - 0x6c0]
call fcn.00404ac0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x44
call fcn.00407d30
jmp 0x4314ec
mov edx, 0x10
call fcn.00404b20
add esp, 4
mov edx, 0x48b7f8
mov byte [ebp - 4], 0x4c
mov ecx, eax
call fcn.0040ed90
lea ecx, [ebp - 0x11c]
mov esi, eax
call fcn.00403cf0
lea edx, [ebp - 0x568]
mov dword [ebp - 0x568], eax
mov ecx, esi
call fcn.0040ed70
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0x44
call fcn.00404ac0
lea eax, [ebp - 0x74]
push eax
call fcn.0042a060
lea ecx, [ebp - 0x74]
call fcn.004194f0
lea ecx, [ebp - 0x11c]
mov byte [edi + 0x24], 0
call fcn.00403db0
lea ecx, [ebp - 0x140]
call fcn.004315d0
lea ecx, [ebp - 0xec]
call fcn.00403db0
lea ecx, [ebp - 0x104]
call fcn.00403db0
lea ecx, [ebp - 0x558]
call fcn.004047e0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004553e7
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
xorps xmm0, xmm0
mov dword [ebp - 0x568], 0
lea ecx, [ebp - 0x570]
movq qword [ebp - 0x570], xmm0
call fcn.00408ae0
push 0x49ab60
mov eax, ecx
push eax
call fcn.00456cca
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
call fcn.00459a2f
int3