Function at 0x43d530
Capabilities:
Copy file
Create process on windows
Delete file
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50717a
mov eax, dword fs:[0]
push eax
sub esp, 0x8f8
mov eax, dword [0x55f43c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x88c], ecx
mov dword [ebp - 0x888], 0
lea ecx, [ebp - 0x81c]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x818]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_316]
mov byte [ebp - 4], 3
call fcn.004b82c0
lea eax, [ebp - 0x818]
push eax
call fcn.004b8540
add esp, 4
lea ecx, [ebp - 0x818]
push ecx
lea ecx, [ebp - 0x81c]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea edx, [ebp - 0x818]
push edx
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x818]
call dword [sym.imp.mfc100.dll_Ordinal_5207]
sub eax, 5
push eax
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x818]
call dword [sym.imp.mfc100.dll_Ordinal_7487]
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x890]
mov dword [ebp - 0x894], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x894]
push edx
lea ecx, [ebp - 0x818]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x83c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push str.RFCalibrationManufacturer_DataFalconGSMFast_Nominal_FilesDevic0AGC_paramater.xml
lea ecx, [ebp - 0x818]
call dword [sym.imp.mfc100.dll_Ordinal_1483]
push 0x51cc4c
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x840]
push ecx
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x898]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x840]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0
push 0x51ccb8
lea edx, [ebp - 0x824]
push edx
lea eax, [ebp - 0x844]
push eax
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x89c]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
lea ecx, [ebp - 0x818]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x844]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push ecx
mov ecx, esp
mov dword [ebp - 0x848], esp
push 0x51cccc
lea edx, [ebp - 0x824]
push edx
push ecx
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x8a0], eax
mov ecx, dword [ebp - 0x88c]
add ecx, 0xb8
call fcn.004162e0
mov byte [ebp - 0x8a1], al
movzx eax, byte [ebp - 0x8a1]
test eax, eax
jne 0x43dc5a
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_5207]
sub eax, 4
push eax
lea ecx, [ebp - 0x84c]
push ecx
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_7487]
mov dword [ebp - 0x8a8], eax
mov edx, dword [ebp - 0x8a8]
mov dword [ebp - 0x8ac], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x8ac]
push eax
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push str.Depency
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_1483]
push 0x51cce8
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_1316]
push 0x51ccf4
push 1
lea ecx, [ebp - 0x854]
push ecx
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_7487]
mov dword [ebp - 0x8b0], eax
mov edx, dword [ebp - 0x8b0]
mov dword [ebp - 0x8b4], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x888]
or eax, 1
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x8b4]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call sub.MSVCR100.dll_strcmp
add esp, 8
test eax, eax
je 0x43d858
push 0x51ccf8
push 1
lea ecx, [ebp - 0x858]
push ecx
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_7487]
mov dword [ebp - 0x8b8], eax
mov edx, dword [ebp - 0x888]
or edx, 2
mov dword [ebp - 0x888], edx
mov ecx, dword [ebp - 0x8b8]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call sub.MSVCR100.dll_strcmp
add esp, 8
test eax, eax
je 0x43d858
mov dword [ebp - 0x8bc], 1
jmp 0x43d862
mov dword [ebp - 0x8bc], 0
mov al, byte [ebp - 0x8bc]
mov byte [ebp - 0x84d], al
mov ecx, dword [ebp - 0x888]
and ecx, 2
je 0x43d88c
and dword [ebp - 0x888], 0xfffffffd
lea ecx, [ebp - 0x858]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x888]
and edx, 1
je 0x43d8b1
and dword [ebp - 0x888], 0xfffffffe
lea ecx, [ebp - 0x854]
call dword [sym.imp.mfc100.dll_Ordinal_901]
movzx eax, byte [ebp - 0x84d]
test eax, eax
je 0x43d992
push 0x51ccfc
push 1
lea ecx, [ebp - 0x85c]
push ecx
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_7487]
mov dword [ebp - 0x8c0], eax
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0x8c4], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x8c4]
push eax
lea ecx, [ebp - 0x828]
push ecx
lea edx, [ebp - 0x860]
push edx
call fcn.004206a0
add esp, 0xc
mov dword [ebp - 0x8c8], eax
mov eax, dword [ebp - 0x8c8]
mov dword [ebp - 0x8cc], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x8cc]
push ecx
lea edx, [ebp - 0x864]
push edx
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x8d0], eax
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x8d4], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8d4]
push ecx
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x864]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x860]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x85c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0x51cd00
lea edx, [ebp - 0x824]
push edx
push 0x51cd04
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x868]
push ecx
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x8d8], eax
mov edx, dword [ebp - 0x8d8]
mov dword [ebp - 0x8dc], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x8dc]
push eax
lea ecx, [ebp - 0x86c]
push ecx
call fcn.004206a0
add esp, 0xc
mov dword [ebp - 0x8e0], eax
mov edx, dword [ebp - 0x8e0]
mov dword [ebp - 0x8e4], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x8e4]
push eax
lea ecx, [ebp - 0x870]
push ecx
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x8e8], eax
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x8ec], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x8ec]
push eax
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x870]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x86c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x868]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push str.msiexec.exe__i_msxml.msi__qn
lea ecx, [ebp - 0x828]
push ecx
lea edx, [ebp - 0x874]
push edx
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x8f0], eax
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x8f4], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x8f4]
push ecx
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x874]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push str.xml.bat
lea ecx, [ebp - 0x834]
call dword [sym.imp.mfc100.dll_Ordinal_310]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_5207]
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x830], 0
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
push 0x800
lea edx, [ebp - 0x814]
push edx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
push 0x51cd34
lea eax, [ebp - 0x834]
push eax
lea ecx, [ebp - 0x81c]
push ecx
lea edx, [ebp - 0x878]
push edx
call fcn.004206a0
add esp, 0xc
mov dword [ebp - 0x8f8], eax
mov ecx, dword [ebp - 0x8f8]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
lea eax, [ebp - 0x820]
push eax
call dword [sym.imp.MSVCR100.dll_fopen_s]
add esp, 0xc
mov dword [ebp - 0x82c], eax
lea ecx, [ebp - 0x878]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0
lea ecx, [ebp - 0x830]
push ecx
mov edx, dword [ebp - 0x838]
push edx
lea eax, [ebp - 0x814]
push eax
mov ecx, dword [ebp - 0x820]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
lea edx, [ebp - 0x814]
push edx
push 0x51cd38
mov eax, dword [ebp - 0x820]
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x820]
push ecx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
lea edx, [ebp - 0x834]
push edx
lea eax, [ebp - 0x81c]
push eax
lea ecx, [ebp - 0x87c]
push ecx
call fcn.004206a0
add esp, 0xc
mov dword [ebp - 0x8fc], eax
mov edx, dword [ebp - 0x8fc]
mov dword [ebp - 0x900], edx
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x900]
push eax
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_1313]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x87c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
push 0x800
lea ecx, [ebp - 0x814]
push ecx
call dword [sym.imp.MSVCR100.dll_strcpy_s]
add esp, 0xc
push 0
push 0
push 0
lea edx, [ebp - 0x814]
push edx
push 0x51cd3c
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x834]
call dword [sym.imp.mfc100.dll_Ordinal_901]
push str.AGC_paramater.xml
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x880]
push ecx
call fcn.0042c5c0
add esp, 0xc
mov dword [ebp - 0x904], eax
mov ecx, dword [ebp - 0x904]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x880]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov dword [ebp - 0x884], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x828]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x824]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x818]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x81c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00501b98
mov esp, ebp
pop ebp
ret