Function at 0x403ed0
Capabilities:
Resolve function by parsing pe exports
Set current directory
Set file attributes

Disassembly:
sub esp, 0x178
push ebx
push ebp
push esi
push edi
mov eax, str.ltremove.exe
xor esi, esi
mov ecx, str.agrsmdel.exe
push 0x415f00
mov dword [esp + 0x5c], str.ltmodem.vxd
mov dword [esp + 0x60], str.ltcom.vxd
mov dword [esp + 0x64], str.ltvcd.vxd
mov dword [esp + 0x68], str.ltmodem.ini
mov dword [esp + 0x6c], str.lthomol.exe
mov dword [esp + 0x70], str.lthomol.ini
mov dword [esp + 0x74], str.ltmsg.exe
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], str.rtremove.exe
mov dword [esp + 0x80], str.ltfdsp.exe
mov dword [esp + 0x84], esi
mov dword [esp + 0x14], str.ltsm.vxd
mov dword [esp + 0x18], str.ltsmvcd.vxd
mov dword [esp + 0x1c], str.ltsmnum.vxd
mov dword [esp + 0x20], str.ltsmhom.exe
mov dword [esp + 0x24], str.ltsmhom.ini
mov dword [esp + 0x28], str.ltsmmsg.exe
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], str.agrsm.vxd
mov dword [esp + 0x3c], str.agrsmvcd.vxd
mov dword [esp + 0x40], str.agrsmnum.vxd
mov dword [esp + 0x44], str.agsmhom.exe
mov dword [esp + 0x48], str.agsmhom.ini
mov dword [esp + 0x4c], str.agrsmmsg.exe
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0x414e60
call fcn.00402a00
mov eax, dword [0x414400]
mov edi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 4
cmp eax, esi
je 0x403fde
push eax
call edi
mov eax, dword [0x414404]
cmp eax, esi
je 0x403fea
push eax
call edi
mov al, byte [0x41600c]
cmp al, 3
mov eax, dword [0x410220]
jne 0x4041d0
cmp eax, 1
jne 0x404095
mov ecx, str.ltmodem.vxd
test ecx, ecx
je 0x4041d0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, ecx
lea ebx, [esp + 0x58]
lea edx, [esp + 0x84]
push 0x414498
push edx
call edi
lea eax, [esp + 0x84]
push 0x414a20
push eax
call edi
lea ecx, [esp + 0x84]
push 0x410350
push ecx
call ebp
lea edx, [esp + 0x84]
push esi
push edx
call ebp
lea eax, [esp + 0x84]
push 0
push eax
call fcn.00409e50
add esp, 8
cmp eax, 0xffffffff
je 0x404086
lea ecx, [esp + 0x84]
push pe_nt_image_headers32
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov esi, dword [ebx + 4]
add ebx, 4
test esi, esi
jne 0x404024
jmp 0x4041cb
cmp eax, 2
je 0x404140
cmp eax, 3
je 0x404140
cmp eax, 4
jne 0x4041d0
mov edx, str.agrsm.vxd
test edx, edx
je 0x4041d0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, edx
lea ebx, [esp + 0x34]
lea eax, [esp + 0x84]
push 0x414498
push eax
call edi
lea ecx, [esp + 0x84]
push 0x414a20
push ecx
call edi
lea edx, [esp + 0x84]
push 0x410350
push edx
call ebp
lea eax, [esp + 0x84]
push esi
push eax
call ebp
lea ecx, [esp + 0x84]
push 0
push ecx
call fcn.00409e50
add esp, 8
cmp eax, 0xffffffff
je 0x404131
lea edx, [esp + 0x84]
push pe_nt_image_headers32
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov esi, dword [ebx + 4]
add ebx, 4
test esi, esi
jne 0x4040cf
jmp 0x4041cb
mov ecx, str.ltsm.vxd
test ecx, ecx
je 0x4041d0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, ecx
lea ebx, [esp + 0x10]
lea edx, [esp + 0x84]
push 0x414498
push edx
call edi
lea eax, [esp + 0x84]
push 0x414a20
push eax
call edi
lea ecx, [esp + 0x84]
push 0x410350
push ecx
call ebp
lea edx, [esp + 0x84]
push esi
push edx
call ebp
lea eax, [esp + 0x84]
push 0
push eax
call fcn.00409e50
add esp, 8
cmp eax, 0xffffffff
je 0x4041c1
lea ecx, [esp + 0x84]
push pe_nt_image_headers32
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov esi, dword [ebx + 4]
add ebx, 4
test esi, esi
jne 0x40415f
mov eax, dword [0x410220]
mov ecx, dword [0x414434]
test ecx, ecx
jne 0x4043fe
mov cl, byte [0x41600c]
cmp cl, 3
je 0x4041fc
cmp cl, 4
je 0x4041fc
cmp cl, 6
je 0x4041fc
cmp cl, 7
jne 0x4043fe
mov esi, 0x4106b8
mov eax, 0x414b40
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40422e
test cl, cl
je 0x40422a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40422e
add eax, 2
add esi, 2
test cl, cl
jne 0x404206
xor eax, eax
jmp 0x404233
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40429c
mov edi, 0x414b68
mov eax, dword [0x414454]
test eax, eax
je 0x404253
push edi
push 0x414e60
call fcn.00403210
add esp, 8
push edi
push 0x416ae0
call fcn.00403210
add esp, 8
mov eax, edi
add edi, 0x28
mov esi, 0x4106b8
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x404293
test cl, cl
je 0x40428f
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x404293
add eax, 2
add esi, 2
test cl, cl
jne 0x40426b
xor eax, eax
jmp 0x404298
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40423c
push str.tpmdmlt.cab
push 0x416ae0
call fcn.00403210
mov eax, dword [0x414454]
add esp, 8
test eax, eax
je 0x404363
push str.tpmdmlt.cab
push 0x414e60
call fcn.00403210
mov eax, dword [0x410220]
add esp, 8
cmp eax, 1
jne 0x404304
mov ecx, str.ltmodem.vxd
test ecx, ecx
je 0x404368
mov eax, ecx
lea esi, [esp + 0x58]
push eax
push 0x414e60
call fcn.00403210
mov eax, dword [esi + 4]
add esi, 4
add esp, 8
test eax, eax
jne 0x4042ea
jmp 0x404363
cmp eax, 2
je 0x40433c
cmp eax, 3
je 0x40433c
cmp eax, 4
jne 0x404368
mov edx, str.agrsm.vxd
test edx, edx
je 0x404368
mov eax, edx
lea esi, [esp + 0x34]
push eax
push 0x414e60
call fcn.00403210
mov eax, dword [esi + 4]
add esi, 4
add esp, 8
test eax, eax
jne 0x404322
jmp 0x404363
mov ecx, str.ltsm.vxd
test ecx, ecx
je 0x404368
mov eax, ecx
lea esi, [esp + 0x10]
push eax
push 0x414e60
call fcn.00403210
mov eax, dword [esi + 4]
add esi, 4
add esp, 8
test eax, eax
jne 0x40434b
mov eax, dword [0x410220]
cmp eax, 1
jne 0x40439a
mov edx, str.ltmodem.vxd
test edx, edx
je 0x4043fe
mov eax, edx
lea esi, [esp + 0x58]
push eax
push 0x416ae0
call fcn.00403210
mov eax, dword [esi + 4]
add esi, 4
add esp, 8
test eax, eax
jne 0x404380
jmp 0x4043f9
cmp eax, 2
je 0x4043d2
cmp eax, 3
je 0x4043d2
cmp eax, 4
jne 0x4043fe
mov ecx, str.agrsm.vxd
test ecx, ecx
je 0x4043fe
mov eax, ecx
lea esi, [esp + 0x34]
push eax
push 0x416ae0
call fcn.00403210
mov eax, dword [esi + 4]
add esi, 4
add esp, 8
test eax, eax
jne 0x4043b8
jmp 0x4043f9
mov edx, str.ltsm.vxd
test edx, edx
je 0x4043fe
mov eax, edx
lea esi, [esp + 0x10]
push eax
push 0x416ae0
call fcn.00403210
mov eax, dword [esi + 4]
add esi, 4
add esp, 8
test eax, eax
jne 0x4043e1
mov eax, dword [0x410220]
mov ecx, dword [0x414418]
test ecx, ecx
je 0x404463
cmp eax, 1
jne 0x40442b
push str.mdmlt3.inf
push str.mdmlt3.ink
call fcn.00405c10
add esp, 8
push str.mdmlt3.pnf
push str.mdmlt3.pnk
jmp 0x404456
cmp eax, 2
je 0x40443a
cmp eax, 3
je 0x40443a
cmp eax, 4
jne 0x404463
push str.mdmltsft.inf
push str.mdmltsft.ink
call fcn.00405c10
add esp, 8
push str.mdmltsft.pnf
push str.mdmltsft.pnk
call fcn.00405c10
mov eax, dword [0x410220]
add esp, 8
cmp byte [0x41600c], 2
jne 0x4044a0
cmp eax, 1
jne 0x404478
push str.ltmdmnt.sys
jmp 0x404493
cmp eax, 2
je 0x40448e
cmp eax, 3
je 0x40448e
cmp eax, 4
jne 0x4044a0
push str.agrsm.sys
jmp 0x404493
push str.ltsm.sys
push 0x4154e0
call fcn.00403210
add esp, 8
cmp byte [0x41600c], 7
jne 0x404552
push str.wdmmdmpc.inf
push str.wdmmdmpc.ink
call fcn.00405c10
add esp, 8
push str.wdmmdmis.inf
push str.wdmmdmis.ink
call fcn.00405c10
add esp, 8
push 0x4107e0
push 0x4153c0
call fcn.00406020
mov eax, dword [0x410220]
add esp, 8
cmp eax, 1
jne 0x404506
push str.ltmdmnt.sys
push 0x416ae0
call fcn.00403210
add esp, 8
push str.ltmdmnt.sys
jmp 0x404545
cmp eax, 2
je 0x40452e
cmp eax, 3
je 0x40452e
cmp eax, 4
jne 0x404552
push str.agrsm.sys
push 0x416ae0
call fcn.00403210
add esp, 8
push str.agrsm.sys
jmp 0x404545
push str.ltsm.sys
push 0x416ae0
call fcn.00403210
add esp, 8
push str.ltsm.sys
push 0x414a20
call fcn.00403210
add esp, 8
mov esi, dword [esp + 0x18c]
test esi, esi
je 0x404587
mov eax, dword [0x414468]
test eax, eax
je 0x404570
call fcn.00409750
call fcn.00408aa0
mov eax, dword [0x41446c]
test eax, eax
je 0x404587
cmp byte [0x41600c], 3
je 0x404587
call fcn.00409630
mov al, byte [0x415600]
test al, al
je 0x404599
push esi
call fcn.00409a90
add esp, 4
mov eax, dword [0x414478]
mov dword [0x414430], 1
test eax, eax
je 0x4045e3
test esi, esi
push str.Debug
je 0x4045bc
push str.Setup_Succeeded
jmp 0x4045c1
push str.Setup_Failed
call fcn.00409d00
mov eax, dword [0x41447c]
add esp, 8
test eax, eax
je 0x4045d9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x41447c], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret