Function at 0x461d40
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [str..options]
sub esp, 0x34
push ebx
push edi
call fcn.004681d6
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x461f7b
mov ecx, ebx
call fcn.00445eee
test al, al
jne 0x461d71
mov ecx, ebx
jmp 0x461f76
push esi
call fcn.00410b76
xor esi, esi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x18], 1
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edi
cmp dword [ebx + 0x18], edi
je 0x461f3a
mov dword [ebp - 4], edi
mov edi, 0x492538
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 4]
mov esi, dword [ecx + eax]
mov ecx, esi
call fcn.00439cf8
push eax
lea ecx, [ebp - 0x24]
call fcn.004053bf
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x461db9
mov ecx, edi
mov edx, 0x49842c
call fcn.00439963
test al, al
je 0x461edd
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call fcn.00439cf8
mov edx, eax
mov ecx, ebx
call fcn.00445f1f
mov ecx, 0x49842c
mov esi, eax
call fcn.0041209e
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401b4b
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x461dfd
mov ecx, edi
push dword [ebp - 0x10]
mov edx, esi
call fcn.004450ec
test al, al
je 0x461eba
mov esi, dword [ebp - 0x1c]
and dword [ebp - 0x2c], 0
mov byte [ebp - 0x28], 1
mov ecx, esi
test esi, esi
jne 0x461e22
mov ecx, edi
lea edx, [ebp - 0x2c]
call fcn.00402f8b
mov dword [ebp - 0xc], eax
test eax, eax
je 0x461e89
mov edx, dword [eax + 0x50]
lea ecx, [ebp - 0x34]
call fcn.00410bb1
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x461e45
mov ecx, edi
mov eax, esi
test esi, esi
jne 0x461e4d
mov eax, edi
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
jne 0x461e79
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x461e62
mov ecx, edi
mov eax, esi
test esi, esi
jne 0x461e6a
mov eax, edi
push ecx
push eax
push str.Failed_to_install_bundled_btapp:__s_to:__s
call fcn.004875bd
add esp, 0xc
cmp byte [ebp - 0x30], 0
je 0x461eaa
mov ecx, dword [ebp - 0x34]
call fcn.004433ab
jmp 0x461eaa
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x461e92
mov ecx, edi
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x461e9b
mov eax, edi
push ecx
push eax
push str.Bundled_btapp___s__is_ill_formed:__s
call fcn.004875bd
add esp, 0xc
cmp byte [ebp - 0x28], 0
je 0x461f14
mov ecx, dword [ebp - 0x2c]
call fcn.004433ab
jmp 0x461f14
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x461ec3
mov ecx, edi
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x461ecc
mov eax, edi
push ecx
push eax
push str.Failed_to_unpack_bundled_btapp:__s_to:__s
call fcn.004875bd
add esp, 0xc
jmp 0x461f14
push str.init_data
lea ecx, [ebp - 0x24]
call fcn.00402f39
test al, al
je 0x461f14
lea eax, [ebp - 0x14]
push eax
mov ecx, esi
call fcn.00439cf8
mov edx, eax
mov ecx, ebx
call fcn.00445f1f
mov edx, dword [ebp - 0x14]
test edx, edx
je 0x461f14
test eax, eax
je 0x461f14
mov ecx, eax
call fcn.00461b79
cmp byte [ebp - 0x20], 0
je 0x461f22
mov ecx, dword [ebp - 0x24]
call fcn.004433ab
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp - 4], 0x14
cmp eax, dword [ebx + 0x18]
jne 0x461d97
mov esi, dword [ebp - 0xc]
xor edi, edi
mov ecx, ebx
call fcn.00445d2d
cmp esi, edi
je 0x461f54
mov ecx, dword [esi + 0x50]
call fcn.00443b96
mov dword [0x4c69dc], eax
jmp 0x461f5a
mov dword [0x4c69dc], edi
cmp esi, edi
je 0x461f6c
mov ecx, esi
call fcn.00410b42
push esi
call fcn.00443478
pop ecx
cmp byte [ebp - 0x18], 0
pop esi
je 0x461f7b
mov ecx, dword [ebp - 0x1c]
call fcn.004433ab
pop edi
pop ebx
leave
ret