Function at 0x40d50b
Capabilities:
Accept command line arguments
Copy file
Create directory
Read file via mapping

Disassembly:
push 0x7b0
mov eax, 0x47fe04
call fcn.0047a79b
xor ebx, ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 4], ebx
call fcn.00452230
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edx, eax
mov dword [ebp - 0x250], edx
mov ecx, edx
call fcn.004176a0
mov dword [ebp - 0x254], eax
push ecx
push eax
push edx
lea ecx, [ebp - 0x3d0]
call fcn.0042c880
mov byte [ebp - 4], 1
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov byte [ebp - 4], 2
push 3
pop eax
mov byte [ebp - 4], al
push str.unat
lea ecx, [ebp - 0x2b0]
call fcn.004123fa
mov byte [ebp - 4], 4
push 1
push ecx
push ebx
push ecx
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042d8f0
mov byte [0x4cab60], al
mov byte [ebp - 4], 5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2b0]
call fcn.004100f5
push 1
push ebx
mov esi, 0x4cab30
push esi
push 1
lea ecx, [ebp - 0x3d0]
call fcn.0042d4f0
test al, al
jne 0x40d5e6
push 0xffffffffffffffff
push ebx
mov ecx, esi
call fcn.00416730
push str.done
lea ecx, [ebp - 0x2c0]
call fcn.004123fa
mov byte [ebp - 4], 6
sub esp, 0xc
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042da40
mov byte [ebp - 0x8d], al
mov byte [ebp - 4], 7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c0]
call fcn.004100f5
cmp byte [ebp - 0x8d], 0
je 0x40d65c
lea eax, [ebp - 0x3fc]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0041011a
push dword [eax + 4]
push dword [eax]
call fcn.0040d488
pop ecx
pop ecx
mov dword [ebp - 0x98], eax
push str.result
lea ecx, [ebp - 0x2d0]
call fcn.00412723
mov byte [ebp - 4], 8
sub esp, 0xc
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042da40
mov byte [ebp - 0x8e], al
mov byte [ebp - 4], 9
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2d0]
call fcn.004100f5
cmp byte [ebp - 0x8e], 0
je 0x40d6d2
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0041011a
push dword [eax + 4]
push dword [eax]
call fcn.0040d488
pop ecx
pop ecx
mov dword [ebp - 0xbc], eax
mov edi, ebx
mov dword [ebp - 0xe4], edi
push str.wait
lea ecx, [ebp - 0x2e0]
call fcn.004123fa
mov byte [ebp - 4], 0xa
sub esp, 0xc
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042da40
mov byte [ebp - 0x8f], al
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2e0]
call fcn.004100f5
cmp byte [ebp - 0x8f], 0
je 0x40d752
lea eax, [ebp - 0x40c]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0041011a
push dword [eax + 4]
push dword [eax]
call fcn.0040d488
pop ecx
pop ecx
mov edi, eax
mov dword [ebp - 0xe4], edi
push str.delete
lea ecx, [ebp - 0x2f0]
call fcn.00412723
mov byte [ebp - 4], 0xc
xor esi, esi
inc esi
push esi
push ecx
push ebx
push ecx
lea eax, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042d8f0
mov byte [ebp - 0x90], al
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2f0]
call fcn.004100f5
cmp byte [ebp - 0x90], 0
je 0x40d7cb
mov edx, 0x4cab20
mov ecx, edx
call fcn.00410151
test al, al
jne 0x40d7cb
lea eax, [ebp - 0x414]
push eax
mov ecx, edx
call fcn.0041011a
push dword [eax + 4]
push dword [eax]
call fcn.0040350d
pop ecx
pop ecx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], ebx
mov byte [ebp - 4], 0xe
mov eax, str.skipUnregSvc
mov dword [ebp - 0x1ac], eax
push 0xc
pop ecx
mov dword [ebp - 0x1a8], ecx
push ecx
push eax
lea ecx, [ebp - 0x114]
call fcn.00416670
mov byte [ebp - 4], 0xf
push esi
push ecx
push ebx
push ecx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042d8f0
mov byte [0x4cab62], al
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x114]
call fcn.004100f5
push str.skipUninstWinFsp
lea ecx, [ebp - 0x310]
call fcn.00413455
mov byte [ebp - 4], 0x11
push esi
push ecx
push ebx
push ecx
lea eax, [ebp - 0x310]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042d8f0
mov byte [0x4cab63], al
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x310]
call fcn.004100f5
push str.reinstall
lea ecx, [ebp - 0x320]
call fcn.0041341c
mov byte [ebp - 4], 0x13
push esi
push ecx
push ebx
push ecx
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042d8f0
mov byte [0x4cab64], al
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x320]
call fcn.004100f5
push str.usingLogUtility
lea ecx, [ebp - 0x2a0]
call fcn.00413a95
mov byte [ebp - 4], 0x15
push esi
push ecx
push ebx
push ecx
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042d8f0
mov byte [0x4cab65], al
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2a0]
call fcn.004100f5
push str.usingBvUpdateLauncher
lea ecx, [ebp - 0x300]
call fcn.00413ace
mov byte [ebp - 4], 0x17
push esi
push ecx
push ebx
push ecx
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042d8f0
mov byte [0x4cab66], al
mov byte [ebp - 4], 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x300]
call fcn.004100f5
push str.moveQuery
lea ecx, [ebp - 0x330]
call fcn.0041341c
mov byte [ebp - 4], 0x19
sub esp, 0xc
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x3d0]
call fcn.0042da40
mov byte [ebp - 0x91], al
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x330]
call fcn.004100f5
cmp byte [ebp - 0x91], 0
je 0x40db03
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0041011a
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x9c], eax
push ecx
push 0x2c
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00417060
push dword [eax + 4]
push dword [eax]
call fcn.0040d488
mov dword [0x4cab6c], eax
push ecx
mov eax, esp
mov dword [ebp - 0x258], eax
mov dword [eax], 0x49c804
mov dword [eax + 4], 2
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00417120
push ecx
push 0x2c
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00417060
push dword [eax + 4]
push dword [eax]
call fcn.0040d488
mov dword [0x4cab70], eax
push ecx
mov eax, esp
mov dword [ebp - 0x25c], eax
mov dword [eax], 0x49c804
mov dword [eax + 4], 2
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00417120
push ecx
push 0x2c
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00417060
push dword [eax + 4]
push dword [eax]
call fcn.0040d488
mov dword [0x4cab74], eax
push ecx
mov eax, esp
mov dword [ebp - 0x260], eax
mov dword [eax], 0x49c804
mov dword [eax + 4], 2
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00417120
push ecx
push 0x2c
lea eax, [ebp - 0x50c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00417060
push dword [eax + 4]
push dword [eax]
invalid