Function at 0x403840
Capabilities:
Check os version
Copy file
Create directory
Create process on windows
Persist via windows service

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58f73c
mov eax, dword fs:[0]
push eax
sub esp, 0x170
mov eax, dword [0x5fcff4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x17c], 1
mov ecx, dword [eax]
add ecx, 0x1d0
push 0
call fcn.0041ff47
push pe_nt_image_headers32
lea eax, [ebp - 0x168]
mov dword [ebp - 0x16c], 0x114
push 0
push eax
call fcn.00564770
add esp, 0xc
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x168], 6
jne 0x4038f4
cmp dword [ebp - 0x164], 1
jne 0x4038f4
push 0
push str.C:WindowsSysWOW64
call fcn.0056cdaf
add esp, 8
test eax, eax
je 0x4038e7
push str..driveConfig.exe_install__USBVID_0BDAPID_8152__.usb_lan_realtekx86_rtux86w7.INF
jmp 0x4038ec
push str..driveConfig64.exe_install__USBVID_0BDAPID_8152__.usb_lan_realtekx64_rtux64w7.INF
call fcn.0056cf54
add esp, 4
push str.sc.exe_stop_VciToolServerPORSCHE
call fcn.0056cf54
push str.TASKKILL__F__IM__E70_PT3G_SERVICE.exe_
call fcn.0056cf54
push str.sc.exe_delete_VciToolServerPORSCHE
call fcn.0056cf54
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add esp, 0xc
push 0
push str.C:ProgramDataPORSCHE_VCI
call edi
mov edx, str.C:ProgramDataPORSCHE_VCIE70_PT3G_SERVICE.exe
mov ecx, 0x5da8fc
call fcn.00416110
push str.sc.exe_create_VciToolServerPORSCHE_binPath__C:ProgramDataPORSCHE_VCIE70_PT3G_SERVICE.exe__start_auto_DisplayName__VciToolServerPORSCHE_
call fcn.0056cf54
push str.sc.exe_start_VciToolServerPORSCHE
call fcn.0056cf54
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
push 0x30
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
call fcn.00417cca
movups xmm0, xmmword [str.D:PiwisAppsVCIActia_64XS_D_PDU_API_64]
mov ecx, eax
mov dword [ebp - 0x18], 0x29
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], 0x2f
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x5da9dc]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x5da9ec]
movq qword [ecx + 0x20], xmm0
mov al, byte [0x5da9f4]
mov byte [ecx + 0x28], al
mov byte [ecx + 0x29], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
push 0
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0056cdaf
add esp, 0x14
test eax, eax
jne 0x403f42
push str.PDUAPI_ACTIA_IME_XS.dll_bak
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov esi, eax
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 0x10
jb 0x4039ea
mov esi, dword [esi]
push str.PDUAPI_ACTIA_IME_XS.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.00406540
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x403a05
mov eax, dword [eax]
push 1
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x403a43
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403a39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40441a
push ecx
push edx
call fcn.00561389
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x403a8d
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403a83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40441a
push ecx
push edx
call fcn.00561389
add esp, 8
push 0
push str.C:ProgramDataPORSCHE_VCIX64
call edi
push str.PDUAPI_ACTIA_IME_XS.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 0x10
jb 0x403ab5
mov eax, dword [eax]
mov edx, eax
mov ecx, str.X64PDUAPI_Logger.dll
call fcn.00416110
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x403af9
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403aef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40441f
push ecx
push edx
call fcn.00561389
add esp, 8
mov edx, 0x5daa6c
mov ecx, str.X64PDU_VCI.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIX64PassthruManage.dll
mov ecx, str.X64PassthruManage.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIX64db.dll
mov ecx, str.X64db.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIX64pdu2.dll
mov ecx, str.X64pdu2.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIX64Marstool564.dll
mov ecx, str.X64Marstool564.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIX64PDU_VCI.ini
mov ecx, str.X64PDU_VCI.ini
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIX64MDF_VCI.xml
mov ecx, str.X64MDF_VCI.xml
call fcn.00416110
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
push 0xf
push str.PDULOG_CFG.ini
cmp eax, 0xf
jb 0x403b99
cmp edx, 0x10
lea esi, [ebp - 0x28]
lea eax, [ecx + 0xf]
cmovae esi, dword [ebp - 0x28]
add esi, ecx
mov dword [ebp - 0x18], eax
push esi
call fcn.005641f0
add esp, 0xc
mov byte [esi + 0xf], 0
jmp 0x403ba9
push dword [ebp - 0x178]
lea ecx, [ebp - 0x28]
push 0xf
call fcn.00407050
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0x5dac2c
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x174]
mov dword [ebp - 0x174], 0
push eax
call fcn.0056d021
add esp, 0xc
test eax, eax
jne 0x403c15
push dword [ebp - 0x174]
push 0x5daa6c
call fcn.0056d227
push dword [ebp - 0x174]
push 0x5dac30
call fcn.0056d227
push dword [ebp - 0x174]
push str.C:ProgramDataPORSCHE_VCIX64MDF_VCI.xml
call fcn.0056d227
push dword [ebp - 0x174]
call fcn.0056d380
add esp, 0x1c
push 0x2d
push str.C:Program_FilesVCIActia_64XS_D_PDU_API_64
lea ecx, [ebp - 0x28]
call fcn.00406410
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0056cdaf
add esp, 8
test eax, eax
jne 0x403e1e
push str.PDUAPI_ACTIA_IME_XS.dll_bak
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov esi, eax
mov byte [ebp - 4], 3
cmp dword [esi + 0x14], 0x10
jb 0x403c63
mov esi, dword [esi]
push str.PDUAPI_ACTIA_IME_XS.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.00406540
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x403c7e
mov eax, dword [eax]
push 1
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x403cbc
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403cb2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404424
push ecx
push edx
call fcn.00561389
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x403d06
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403cfc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404424
push ecx
push edx
call fcn.00561389
add esp, 8
push str.PDUAPI_ACTIA_IME_XS.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x403d25
mov eax, dword [eax]
mov edx, eax
mov ecx, str.X64PDUAPI_Logger.dll
call fcn.00416110
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x403d69
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403d5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404429
push ecx
push edx
call fcn.00561389
add esp, 8
mov ecx, dword [ebp - 0x14]
mov eax, ecx
mov edi, dword [ebp - 0x18]
sub eax, edi
push 0xf
push str.PDULOG_CFG.ini
cmp eax, 0xf
jb 0x403da2
cmp ecx, 0x10
lea esi, [ebp - 0x28]
lea eax, [edi + 0xf]
cmovae esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
lea eax, [esi + edi]
push eax
call fcn.005641f0
add esp, 0xc
mov byte [esi + edi + 0xf], 0
jmp 0x403db2
push dword [ebp - 0x178]
lea ecx, [ebp - 0x28]
push 0xf
call fcn.00407050
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0x5dac2c
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0
push eax
call fcn.0056d021
add esp, 0xc
test eax, eax
jne 0x403e1e
push dword [ebp - 0x170]
push 0x5daa6c
call fcn.0056d227
push dword [ebp - 0x170]
push 0x5dac30
call fcn.0056d227
push dword [ebp - 0x170]
push str.C:ProgramDataPORSCHE_VCIX64MDF_VCI.xml
call fcn.0056d227
push dword [ebp - 0x170]
call fcn.0056d380
add esp, 0x1c
push 1
push str.D:PiwisAppsVCIActiaDriversPT3GVCIApp64.exe_bak
push str.D:PiwisAppsVCIActiaDriversPT3GVCIApp64.exe
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, str.D:PiwisAppsVCIActiaDriversPT3GVCIApp64.exe
mov ecx, str.PT3GVCIApp64.exe
call fcn.00416110
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
xor eax, eax
mov dword [ebp - 0x2c], 7
movups xmmword [ebp - 0x40], xmm0
mov word [ebp - 0x40], ax
push eax
push eax
push 0x2f
push str.D:PiwisAppsVCIActiaDriversPT3GVCIApp64.exe
push eax
mov byte [ebp - 4], 5
mov esi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
mov dword [ebp - 0x17c], 1
call esi
mov edi, eax
xor ecx, ecx
mov edx, 2
lea eax, [edi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0042651d
add esp, 4
mov dword [ebp - 0x170], eax
push edi
push eax
push 0x2f
push str.D:PiwisAppsVCIActiaDriversPT3GVCIApp64.exe
push 0
push 0
call esi
mov esi, dword [ebp - 0x170]
xor eax, eax
mov ecx, esi
mov word [esi + edi*2], ax
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403ec0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x40]
call fcn.004062c0
push esi
call fcn.00426526
add esp, 4
mov dword [ebp - 4], 0
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push 0
push 0
push 0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 8
jb 0x403f42
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403f38
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40442e
push ecx
push edx
call fcn.00561389
add esp, 8
push 0x22
push str.C:Program_Files_samtec_samPDU_bin
lea ecx, [ebp - 0x28]
call fcn.00406410
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0056cdaf
add esp, 8
test eax, eax
jne 0x4043a8
push str.PDUAPI_SAMTEC_2.1.1.dll_bak
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov esi, eax
mov byte [ebp - 4], 6
cmp dword [esi + 0x14], 0x10
jb 0x403f90
mov esi, dword [esi]
push str.PDUAPI_SAMTEC_2.1.1.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.00406540
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x403fab
mov eax, dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
push 1
push esi
push eax
call edi
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x403feb
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403fe1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404433
push ecx
push edx
call fcn.00561389
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x404035
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40402b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404433
push ecx
push edx
call fcn.00561389
add esp, 8
push str.PDUAPI_SAMTEC_2.1.1.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 0x10
jb 0x404054
mov eax, dword [eax]
mov edx, eax
mov ecx, str.PDUAPI_Logger.dll
call fcn.00416110
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x404098
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40408e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404438
push ecx
push edx
call fcn.00561389
add esp, 8
mov edx, 0x5dad5c
mov ecx, str.PDU_VCI.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIPassthruManage.dll
mov ecx, str.PassthruManage.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIdb.dll
mov ecx, str.db.dll
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIMarstool532.dll
mov ecx, str.Marstool532.dll
call fcn.00416110
mov edx, 0x5dae3c
mov ecx, str.PDU_VCI.ini
call fcn.00416110
mov edx, str.C:ProgramDataPORSCHE_VCIMDF_VCI.xml
mov ecx, str.MDF_VCI.xml
call fcn.00416110
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
push 0xf
push str.PDULOG_CFG.ini
cmp eax, 0xf
jb 0x404129
cmp edx, 0x10
lea esi, [ebp - 0x28]
lea eax, [ecx + 0xf]
cmovae esi, dword [ebp - 0x28]
add esi, ecx
mov dword [ebp - 0x18], eax
push esi
call fcn.005641f0
add esp, 0xc
mov byte [esi + 0xf], 0
jmp 0x404139
push dword [ebp - 0x178]
lea ecx, [ebp - 0x28]
push 0xf
call fcn.00407050
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0x5dac2c
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0
push eax
call fcn.0056d021
add esp, 0xc
test eax, eax
jne 0x4041a5
push dword [ebp - 0x170]
push 0x5dad5c
call fcn.0056d227
push dword [ebp - 0x170]
push 0x5dac30
call fcn.0056d227
push dword [ebp - 0x170]
push str.C:ProgramDataPORSCHE_VCIMDF_VCI.xml
call fcn.0056d227
push dword [ebp - 0x170]
call fcn.0056d380
add esp, 0x1c
push 0x25
push str.C:Program_Files_samtec_samPDU_E1_bin
lea ecx, [ebp - 0x28]
call fcn.00406410
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.0056cdaf
add esp, 8
test eax, eax
jne 0x4043a8
push str.PDUAPI_SAMTEC_2.1.1.dll_bak
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov esi, eax
mov byte [ebp - 4], 8
cmp dword [esi + 0x14], 0x10
jb 0x4041f3
mov esi, dword [esi]
push str.PDUAPI_SAMTEC_2.1.1.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.00406540
add esp, 4
cmp dword [eax + 0x14], 0x10
jb 0x40420e
mov eax, dword [eax]
push 1
push esi
push eax
call edi
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x404248
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40423e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40443d
push ecx
push edx
call fcn.00561389
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x404292
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x404288
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40443d
push ecx
push edx
call fcn.00561389
add esp, 8
push str.PDUAPI_SAMTEC_2.1.1.dll
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
call fcn.00406540
add esp, 4
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x4042b1
mov eax, dword [eax]
mov edx, eax
mov ecx, str.PDUAPI_Logger.dll
call fcn.00416110
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4042f5
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4042eb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404442
push ecx
push edx
call fcn.00561389
add esp, 8
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
push 0xf
push str.PDULOG_CFG.ini
cmp eax, 0xf
jb 0x40432c
cmp edx, 0x10
lea esi, [ebp - 0x28]
lea eax, [ecx + 0xf]
cmovae esi, dword [ebp - 0x28]
add esi, ecx
mov dword [ebp - 0x18], eax
push esi
call fcn.005641f0
add esp, 0xc
mov byte [esi + 0xf], 0
jmp 0x40433c
push dword [ebp - 0x178]
lea ecx, [ebp - 0x28]
push 0xf
call fcn.00407050
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 0x5dac2c
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x174]
mov dword [ebp - 0x174], 0
push eax
call fcn.0056d021
add esp, 0xc
test eax, eax
jne 0x4043a8
push dword [ebp - 0x174]
push 0x5dad5c
call fcn.0056d227
push dword [ebp - 0x174]
push 0x5dac30
call fcn.0056d227
push dword [ebp - 0x174]
push str.C:ProgramDataPORSCHE_VCIMDF_VCI.xml
call fcn.0056d227
push dword [ebp - 0x174]
call fcn.0056d380
add esp, 0x1c
mov esi, dword [ebp - 0x178]
push 1
mov ecx, dword [esi]
add ecx, 0x1d0
call fcn.0041ff47
mov ecx, dword [esi]
push 0x5db174
add ecx, 0x558
call fcn.00420a94
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x4043ff
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4043f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404447
push ecx
push edx
call fcn.00561389
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00560f1e
mov esp, ebp
pop ebp
ret
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
call fcn.00567a6f
int3