Function at 0x421b60
Capabilities:
Check if file exists

Disassembly:
push 0x284
mov eax, 0x46f33a
call fcn.004492af
mov esi, ecx
mov al, byte [0x49d082]
mov edi, 0x475418
test al, al
je 0x421b91
push str.deploySelf
movzx eax, al
push edi
push eax
call fcn.00410975
add esp, 0xc
lea eax, [ebp - 0x230]
mov ecx, esi
push eax
call fcn.0041d222
mov cl, byte [0x49d082]
xor ebx, ebx
mov dword [ebp - 4], ebx
test cl, cl
je 0x421bd4
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
movzx eax, cl
push str.Bootstrapper::deploySelf___Final_file_path_S
push eax
call fcn.00410896
add esp, 0xc
cmp byte [0x4f0ace], bl
je 0x421db8
push str.Error_when_getting_bootstrapper_filename_for_selfDeploy
lea ecx, [ebp - 0x278]
call fcn.00403984
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 1
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push eax
call fcn.0041564b
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0
call fcn.00408c45
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00403a00
mov cl, byte [0x49d082]
mov byte [ebp - 4], 2
test cl, cl
je 0x421c70
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
movzx eax, cl
push str.GetModuleFileName:__S
push eax
call fcn.00410896
add esp, 0xc
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x421d1b
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00423548
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00423548
add esp, 0x10
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x260]
call fcn.0040d184
test eax, eax
je 0x421cf7
mov al, byte [0x49d082]
test al, al
je 0x421cf5
push str.EXE_hash_mismatch__forcing_deploy
movzx eax, al
push edi
push eax
call fcn.00410975
add esp, 0xc
mov bl, 1
push 0
push 1
lea ecx, [ebp - 0x278]
call fcn.00408c45
push 0
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 2
call fcn.00408c45
jmp 0x421d38
mov al, byte [0x49d082]
test al, al
je 0x421d36
push str._PathFileExists
movzx eax, al
push edi
push eax
call fcn.00410975
add esp, 0xc
mov bl, 1
test bl, bl
je 0x421db1
push 8
pop ebx
cmp dword [ebp - 0x21c], ebx
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x248]
cmovae ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x234], ebx
push ecx
cmovae eax, dword [ebp - 0x248]
push eax
call fcn.004140ce
mov dl, byte [0x49d082]
pop ecx
pop ecx
test dl, dl
je 0x421db1
cmp dword [ebp - 0x21c], ebx
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x248]
cmovae ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x234], ebx
push ecx
cmovae eax, dword [ebp - 0x248]
push eax
movzx eax, dl
push str.Copy:_from___S_to__S
push eax
call fcn.00410896
add esp, 0x10
xor ebx, ebx
jmp 0x421ef9
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
mov al, byte [0x49d082]
jne 0x421f0c
test al, al
je 0x421df6
push str._PathFileExists
movzx eax, al
push edi
push eax
call fcn.00410975
add esp, 0xc
push str.Error_when_getting_bootstrapper_filename_for_selfDeploy
lea ecx, [ebp - 0x260]
call fcn.00403984
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 5
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push eax
call fcn.0041564b
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.00408c45
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00403a00
mov cl, byte [0x49d082]
mov byte [ebp - 4], 6
test cl, cl
je 0x421e83
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
movzx eax, cl
push str.GetModuleFileName:__S
push eax
call fcn.00410896
add esp, 0xc
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x248]
cmovae ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x234], 8
push ecx
cmovae eax, dword [ebp - 0x248]
push eax
call fcn.004140ce
mov dl, byte [0x49d082]
pop ecx
pop ecx
test dl, dl
je 0x421ef9
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea eax, [ebp - 0x248]
cmovae ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x234], 8
push ecx
cmovae eax, dword [ebp - 0x248]
push eax
movzx eax, dl
push str.Copy:_from___S_to__S
push eax
call fcn.00410896
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], bl
call fcn.00408c9a
jmp 0x421f22
test al, al
je 0x421f22
push str.PathFileExists
movzx eax, al
push edi
push eax
call fcn.00410975
add esp, 0xc
mov eax, dword [esi]
lea ecx, [ebp - 0x290]
push ecx
mov ecx, esi
call dword [eax + 0x60]
mov eax, dword [esi]
lea ecx, [ebp - 0x260]
push ecx
mov ecx, esi
mov byte [ebp - 4], 7
call dword [eax + 0x90]
cmp dword [ebp - 0x27c], 8
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 8
cmovae ecx, dword [ebp - 0x290]
cmp dword [eax + 0x14], 8
jb 0x421f65
mov eax, dword [eax]
push ecx
push eax
mov ecx, esi
call fcn.0041d865
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.00408c9a
push ebx
push 1
lea ecx, [ebp - 0x290]
call fcn.00408c9a
push ebx
push 1
lea ecx, [ebp - 0x230]
call fcn.00408c9a
call fcn.00449259
ret