Function at 0x42214a
Capabilities:
Check if file exists

Disassembly:
push 0x284
mov eax, 0x46ee39
call fcn.00448de7
mov esi, ecx
mov al, byte [0x49d0fe]
mov edi, 0x4755c0
test al, al
je 0x42217b
push str.deploySelf
movzx eax, al
push edi
push eax
call fcn.00410d76
add esp, 0xc
cmp byte [ebp + 8], 0
je 0x42258c
lea eax, [ebp - 0x230]
mov ecx, esi
push eax
call fcn.0041d798
mov cl, byte [0x49d0fe]
xor ebx, ebx
mov dword [ebp - 4], ebx
test cl, cl
je 0x4221c8
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.00410c9b
add esp, 0xc
cmp byte [0x4f0be0], bl
je 0x4223ac
push str.Error_when_getting_bootstrapper_filename_for_selfDeploy
lea ecx, [ebp - 0x278]
call fcn.00403e06
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.00415830
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0
call fcn.0040900a
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00403e82
mov cl, byte [0x49d0fe]
mov byte [ebp - 4], 2
test cl, cl
je 0x422264
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.00410c9b
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 0x42230f
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00423b0c
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00423b0c
add esp, 0x10
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x260]
call fcn.0040d601
test eax, eax
je 0x4222eb
mov al, byte [0x49d0fe]
test al, al
je 0x4222e9
push str.EXE_hash_mismatch__forcing_deploy
movzx eax, al
push edi
push eax
call fcn.00410d76
add esp, 0xc
mov bl, 1
push 0
push 1
lea ecx, [ebp - 0x278]
call fcn.0040900a
push 0
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 2
call fcn.0040900a
jmp 0x42232c
mov al, byte [0x49d0fe]
test al, al
je 0x42232a
push str._PathFileExists
movzx eax, al
push edi
push eax
call fcn.00410d76
add esp, 0xc
mov bl, 1
test bl, bl
je 0x4223a5
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.0041429a
mov dl, byte [0x49d0fe]
pop ecx
pop ecx
test dl, dl
je 0x4223a5
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.00410c9b
add esp, 0x10
xor ebx, ebx
jmp 0x4224ed
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 [0x49d0fe]
jne 0x422500
test al, al
je 0x4223ea
push str._PathFileExists
movzx eax, al
push edi
push eax
call fcn.00410d76
add esp, 0xc
push str.Error_when_getting_bootstrapper_filename_for_selfDeploy
lea ecx, [ebp - 0x260]
call fcn.00403e06
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.00415830
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.0040900a
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00403e82
mov cl, byte [0x49d0fe]
mov byte [ebp - 4], 6
test cl, cl
je 0x422477
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.00410c9b
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.0041429a
mov dl, byte [0x49d0fe]
pop ecx
pop ecx
test dl, dl
je 0x4224ed
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.00410c9b
add esp, 0x10
push ebx
push 1
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], bl
call fcn.0040905f
jmp 0x422516
test al, al
je 0x422516
push str.PathFileExists
movzx eax, al
push edi
push eax
call fcn.00410d76
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 0x422559
mov eax, dword [eax]
push ecx
push eax
mov ecx, esi
call fcn.0041dd86
push ebx
push 1
lea ecx, [ebp - 0x260]
call fcn.0040905f
push ebx
push 1
lea ecx, [ebp - 0x290]
call fcn.0040905f
push ebx
push 1
lea ecx, [ebp - 0x230]
call fcn.0040905f
call fcn.00448d91
ret 4