Function at 0x404b91
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80c
mov eax, dword [0x409878]
push ebx
add eax, 0x18394
push esi
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push edi
push eax
call fcn.00403e37
test eax, eax
je 0x4050a4
push 1
mov esi, 0x104
pop ebx
lea eax, [ebp - 0xc]
push eax
call fcn.00403de7
test eax, eax
mov dword [ebp - 8], eax
je 0x40508a
mov edi, 0x800
lea eax, [ebp - 0x80c]
push edi
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00403e6c
lea eax, [ebp - 0x80c]
mov edx, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [0x409878]
mov ecx, dword [eax + 0x60]
test ecx, ecx
je 0x404c0a
cmp edx, 5
je 0x404c13
test ecx, ecx
jne 0x404c86
cmp edx, 0x10
jne 0x404c82
cmp dword [eax + 0x40], 0
je 0x404c82
add eax, 0x20e48
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x20e98
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x20394
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x20ee8
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
push 0
push ebx
add eax, 0x20394
push esi
push eax
call fcn.00404a8b
call fcn.004047ac
jmp 0x40508a
test ecx, ecx
je 0x404c93
cmp edx, 7
je 0x404c9c
test ecx, ecx
jne 0x404d65
cmp edx, 0x12
jne 0x404d65
cmp dword [eax + 0x3c], 0
je 0x404d65
add eax, 0x20fd8
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x205a8
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x20394
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
push 0
push ebx
add eax, 0x20394
push esi
push eax
call fcn.00404a8b
mov eax, dword [0x409878]
add eax, 0x20498
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
push 0
push ebx
add eax, 0x20498
push esi
push eax
call fcn.00404a8b
mov eax, dword [0x409878]
add eax, 0x2059c
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov edi, dword [ebp + 8]
push ebx
push edi
call fcn.004044cd
cmp dword [0x409898], 0xffffffff
je 0x404d48
push edi
call fcn.0040326b
jmp 0x404d37
push 3
push edi
call fcn.004044cd
cmp dword [0x409898], 0xfffffffe
je 0x40508a
push edi
call fcn.0040326b
jmp 0x404d50
cmp edx, 0x14
jne 0x404dc8
add eax, 0x210c8
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x205f8
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
push 0
push ebx
add eax, 0x205f8
push edi
push eax
call fcn.00404a8b
mov eax, dword [0x409878]
lea ecx, [eax + 0x205f8]
add eax, 0x210c8
push ecx
push eax
push dword [ebp + 8]
call fcn.00404a5b
mov eax, dword [0x409878]
mov dword [eax + 0x54], ebx
jmp 0x40508a
cmp edx, 0x15
jne 0x404e94
add eax, 0x21118
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x21118
mov cl, byte [eax]
cmp cl, 0x43
je 0x404e09
cmp cl, 0x63
je 0x404e09
cmp cl, 0x4c
je 0x404e00
cmp cl, 0x6c
jne 0x404e09
mov dword [ebp - 8], 0x80000002
jmp 0x404e10
mov dword [ebp - 8], 0x80000001
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x20e48
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
add eax, 0x20e98
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
mov cl, byte [eax + 0x20e98]
cmp cl, 0x44
je 0x404e5b
cmp cl, 0x64
je 0x404e5b
mov edi, ebx
jmp 0x404e5e
push 4
pop edi
add eax, 0x205f8
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
lea ecx, [eax + 0x205f8]
push ecx
lea ecx, [eax + 0x20e48]
push edi
add eax, 0x21118
push ecx
push eax
push dword [ebp - 8]
call fcn.0040457a
jmp 0x40508a
test ecx, ecx
je 0x404ea5
cmp edx, 0x16
je 0x404eae
test ecx, ecx
jne 0x404f47
cmp edx, 0x17
jne 0x404f47
lea ecx, [eax + 0x13e94]
push esi
add eax, 0x21168
push ecx
push eax
call fcn.00401900
mov eax, dword [0x409878]
push esi
add eax, 0x21168
push 0x4091e4
push eax
call fcn.004019a1
mov eax, dword [0x409878]
add eax, 0x21168
push eax
call fcn.0040210d
mov edi, eax
lea eax, [ebp - 4]
push edi
push eax
call fcn.0040211e
push 0x4096d0
push edi
call fcn.00402289
test eax, eax
jne 0x404f18
mov eax, dword [0x409878]
push esi
add eax, 0x21168
push str..INF
push eax
call fcn.004019a1
mov eax, dword [0x409878]
cmp dword [eax + 0x4c], 0
je 0x404f3f
lea ecx, [eax + 0x21168]
add eax, 0x20df8
push ecx
push str.InfFile
push eax
call fcn.00404a40
mov eax, dword [0x409878]
mov dword [eax + 0x58], ebx
jmp 0x40508a
mov cl, byte [0x409868]
cmp edx, 0x18
jne 0x405004
test bl, cl
jne 0x405004
add eax, 0x1380a
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409868]
push ebx
not eax
and eax, ebx
push eax
mov eax, dword [0x409878]
add eax, 0x1380a
push esi
push eax
call fcn.00404a8b
mov eax, dword [0x409878]
add eax, 0x13c90
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
push ebx
add eax, 0x13c90
push eax
call fcn.004022bf
push eax
mov eax, dword [0x409878]
add eax, 0x13c90
push 0x204
push eax
call fcn.0040257c
mov eax, dword [0x409878]
push 0
lea ecx, [eax + 0x13c90]
add eax, 0x1380a
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov eax, dword [0x409878]
cmp dword [eax + 0x4c], 0
je 0x40508a
lea ecx, [eax + 0x20df8]
add eax, 0x13c90
push ecx
push eax
call fcn.00404b45
jmp 0x40508a
cmp edx, 0x19
jne 0x40503e
test bl, cl
jne 0x40503e
add eax, 0x2126c
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
push 0
push ebx
add eax, 0x2126c
push 0x400
push eax
call fcn.00404a8b
mov eax, dword [0x409878]
mov dword [eax + 0x5c], ebx
jmp 0x40508a
cmp edx, 0x1b
jne 0x40508a
add eax, 0x13c90
push eax
lea eax, [ebp - 4]
push eax
call fcn.0040211e
mov eax, dword [0x409878]
push ebx
add eax, 0x13c90
push eax
call fcn.004022bf
push eax
mov eax, dword [0x409878]
add eax, 0x13c90
push 0x204
push eax
call fcn.0040257c
mov eax, dword [0x409878]
add eax, 0x13c90
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0xc]
push eax
call fcn.00403e59
lea eax, [ebp - 0xc]
push eax
call fcn.00403e37
test eax, eax
jne 0x404bc3
cmp dword [0x409868], 2
jl 0x4050be
push 0
push 0
push 0x1a
push pe_overlay
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebx
leave
ret 4