Function at 0x5ba6b154
Capabilities:
Check if file exists

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x4cc
mov eax, dword [0x5bb70c3c]
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 4], eax
push 0x1e
xor eax, eax
pop ecx
lea edi, [ebp - 0x4c8]
mov dword [ebp - 0x4cc], ebx
rep stosd dword es:[edi], eax
mov eax, dword [0x5bb7096c]
cmp eax, ebx
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x420], ebx
mov dword [ebp - 0x41c], ebx
mov byte [ebp - 0x415], 0xff
mov byte [ebp - 0x416], bl
mov dword [ebp - 0x43c], ebx
mov dword [ebp - 0x434], ebx
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x424], ebx
mov dword [ebp - 0x428], ebx
jne 0x5ba6b2a5
mov eax, dword [0x5bb73cb0]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x4cc]
push edx
xor edi, edi
inc edi
push edi
push dword [0x5bb73ca4]
push eax
call dword [ecx + 0x4c]
cmp eax, ebx
mov dword [ebp - 0x420], eax
jl 0x5ba6b286
cmp eax, edi
je 0x5ba6b286
cmp dword [ebp - 0x4c4], ebx
je 0x5ba6b579
test byte [ebp - 0x4a8], 8
jne 0x5ba6b579
mov cl, byte [ebp - 0x48b]
mov eax, dword [ebp - 0x4b8]
cmp eax, ebx
mov byte [ebp - 0x415], cl
mov cl, byte [ebp - 0x48c]
mov dword [ebp - 0x41c], eax
mov byte [ebp - 0x416], cl
je 0x5ba6b579
mov eax, dword [0x5bb73cb0]
mov ecx, dword [eax]
lea edx, [ebp - 0x428]
push edx
push edi
push ebx
push dword [ebp - 0x4c4]
push eax
call dword [ecx + 0xd0]
test eax, eax
jl 0x5ba6b579
mov eax, dword [ebp - 0x428]
mov ecx, dword [eax]
lea edx, [ebp - 0x424]
push edx
push eax
call dword [ecx + pe_nt_image_headers32]
mov eax, dword [0x5bb7096c]
jmp 0x5ba6b29d
mov eax, dword [0x5bb73cb0]
mov ecx, dword [eax]
push 0x5bb73ca4
push eax
call dword [ecx + 0x50]
mov eax, edi
mov dword [0x5bb7096c], eax
cmp eax, ebx
je 0x5ba6b36b
xor edi, edi
cmp eax, 1
jne 0x5ba6b442
mov dword [ebp - 0x41c], 0x5ba4cb9c
mov edi, 0x5ba5093c
mov dword [0x5bb7096c], 2
push dword [ebp - 0x41c]
call sub.MSOERT2.dll_FIsEmptyA
test eax, eax
jne 0x5ba6b579
mov esi, 0x208
push esi
lea eax, [ebp - 0x414]
push eax
call fcn.5ba6aead
cmp eax, ebx
mov dword [ebp - 0x420], eax
jl 0x5ba6b579
push esi
lea eax, [ebp - 0x20c]
push eax
push 0x5ba4cc94
push dword [ebp - 0x41c]
lea eax, [ebp - 0x414]
push eax
call fcn.5ba572e2
cmp eax, ebx
mov dword [ebp - 0x420], eax
jl 0x5ba6b579
lea eax, [ebp - 0x20c]
push eax
call sub.SHLWAPI.dll_PathFileExistsA
test eax, eax
je 0x5ba6b579
mov eax, dword [0x5bb73898]
mov ecx, dword [eax]
lea edx, [ebp - 0x424]
push edx
push ebx
push edi
push 1
lea edx, [ebp - 0x20c]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
mov dword [ebp - 0x420], eax
jl 0x5ba6b579
xor edi, edi
inc edi
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax]
lea edx, [ebp - 0x450]
push edx
push ebx
push eax
mov dword [0x5bb73ca8], edi
call dword [ecx + 0x34]
cmp eax, ebx
mov dword [ebp - 0x420], eax
jl 0x5ba6b579
cmp byte [ebp - 0x415], bl
jne 0x5ba6b3ba
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x43c]
push eax
push dword [ebp - 0x424]
push dword [ebp - 0x41c]
call fcn.5baaa7a4
cmp byte [ebp - 0x415], 3
jne 0x5ba6b3e4
cmp byte [ebp - 0x416], 7
jne 0x5ba6b3e4
lea eax, [ebp - 0x440]
push eax
push dword [ebp - 0x424]
push dword [ebp - 0x41c]
call fcn.5baf7975
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax]
lea edx, [ebp - 0x44c]
push edx
lea edx, [ebp - 0x438]
push edx
lea edx, [ebp - 0x430]
push edx
lea edx, [ebp - 0x444]
push edx
push eax
call dword [ecx + 0xac]
cmp eax, ebx
mov dword [ebp - 0x420], eax
jl 0x5ba6b579
cmp dword [ebp - 0x430], ebx
jbe 0x5ba6b4aa
mov eax, dword [ebp - 0x438]
imul eax, eax, 0x64
xor edx, edx
div dword [ebp - 0x430]
mov dword [ebp - 0x42c], eax
jmp 0x5ba6b4b0
cmp eax, 2
jne 0x5ba6b465
mov dword [ebp - 0x41c], 0x5ba4cba8
mov edi, 0x5ba50ec4
mov dword [0x5bb7096c], 3
jmp 0x5ba6b2c9
cmp eax, 3
jne 0x5ba6b488
mov dword [ebp - 0x41c], 0x5ba4cbb8
mov edi, 0x5ba51000
mov dword [0x5bb7096c], 4
jmp 0x5ba6b2c9
cmp eax, 4
jne 0x5ba6b2c9
push ebx
push 0x1b7740
push 0x401
push esi
call dword [sym.imp.USER32.dll_SetTimer]
xor eax, eax
jmp 0x5ba6b5df
mov dword [ebp - 0x42c], ebx
push 0x86
call fcn.5ba5c700
mov esi, eax
mov eax, dword [0x5bb73cac]
cmp eax, ebx
je 0x5ba6b51d
push dword [ebp - 0x440]
mov edi, dword [eax]
push dword [ebp - 0x434]
push dword [ebp - 0x43c]
push dword [ebp - 0x44c]
push dword [ebp - 0x438]
push dword [ebp - 0x430]
push dword [ebp - 0x450]
push dword [ebp - 0x444]
push dword [ebp - 0x42c]
push esi
push dword [ebp - 0x41c]
push 0x5ba47c10
call sub.MSOERT2.dll__MSG
add esp, 0x30
push eax
push 2
push dword [0x5bb73cac]
call dword [edi + 0x14]
cmp dword [ebp - 0x42c], esi
jb 0x5ba6b579
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax]
push 3
push 0x5bb70970
push eax
call dword [ecx + 0x94]
mov dword [ebp - 0x420], eax
mov eax, dword [0x5bb73cac]
cmp eax, ebx
je 0x5ba6b579
cmp dword [ebp - 0x420], ebx
je 0x5ba6b579
push dword [ebp - 0x420]
mov esi, dword [eax]
push dword [ebp - 0x41c]
push 0x5ba47be8
call sub.MSOERT2.dll__MSG
add esp, 0xc
push eax
push 2
push dword [0x5bb73cac]
call dword [esi + 0x14]
mov eax, dword [ebp - 0x424]
cmp eax, ebx
je 0x5ba6b58f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x424], ebx
mov eax, dword [ebp - 0x428]
cmp eax, ebx
je 0x5ba6b5a5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x428], ebx
mov eax, dword [0x5bb73cb0]
mov ecx, dword [eax]
lea edx, [ebp - 0x4cc]
push edx
push eax
call dword [ecx + 0x28]
cmp dword [0x5bb73c90], ebx
mov dword [0x5bb73ca8], ebx
jne 0x5ba6b5d9
push ebx
push 0x64
push 0x402
push dword [ebp - 0x448]
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.5bb3f314
leave
ret 4