Function at 0x40b587
Capabilities:
Check if file exists

Disassembly:
push 0x1a8
mov eax, 0x655d2e
call fcn.004ce655
mov ebx, ecx
call fcn.00407f3f
mov edi, eax
test edi, edi
je 0x40b98e
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push 0x6db400
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x18]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push str.http:__jtt_win.55kantu.com_c5exqwo3
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x1c]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push str.http:__win_ott.55kantu.com_microtime__
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x20]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push 0x6db4e0
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 8]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push 0x6db4e8
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x24]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push 0x6db50c
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x28]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push 0x6db530
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x2c]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push 0x6db554
call fcn.004030cf
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x30]
sub esp, 0x18
mov esi, esp
push 0x3a8
sub esp, 0x18
push esp
call fcn.0040356d
mov ecx, eax
call fcn.004aa843
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 4]
sub esp, 0x18
push esp
call fcn.004b0217
mov eax, dword [edi]
pop ecx
mov ecx, edi
call dword [eax + 0x10]
sub esp, 0x18
mov esi, esp
call fcn.004af87a
push eax
push esi
call fcn.004ab430
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 0x34]
sub esp, 0x18
mov esi, esp
call fcn.0040356d
mov ecx, eax
call fcn.004aa734
push eax
push esi
call fcn.004ab430
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
call dword [eax + 0x44]
lea eax, [ebp - 0x12c]
push eax
call fcn.0040bdcc
mov ecx, eax
call fcn.004b29c5
and dword [ebp - 4], 0
lea ecx, [ebp - 0x12c]
push str.cacje
call fcn.00405ad6
push 0x6da5d0
lea ecx, [ebp - 0x12c]
call fcn.00405ad6
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40b7f7
and dword [ebp - 0x148], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x16c]
cmp dword [ebp - 0x118], 8
lea eax, [ebp - 0x12c]
push ecx
cmovae eax, dword [ebp - 0x12c]
push eax
call fcn.004b2275
pop ecx
pop ecx
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0
call fcn.0040a87f
sub esp, 0x18
lea eax, [ebp - 0x12c]
mov esi, esp
push 0x3a8
sub esp, 0x18
mov ecx, esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.00405b04
push esi
call fcn.004ab6b5
mov eax, dword [edi]
add esp, 0x20
mov ecx, edi
call dword [eax + 0x40]
mov eax, dword [edi]
mov ecx, edi
push ebx
call dword [eax + 0x48]
mov edx, dword [edi]
lea eax, [ebx + 4]
neg ebx
mov ecx, edi
sbb ebx, ebx
and ebx, eax
push ebx
call dword [edx + 0x4c]
sub esp, 0x18
push esp
call fcn.0040356d
mov ecx, eax
call fcn.004aa683
call fcn.004ab4ce
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x1b0], edx
push eax
call fcn.004ee84d
push dword [ebp - 0x19c]
mov eax, dword [ebp - 0x198]
inc eax
push eax
mov eax, dword [ebp - 0x194]
add eax, 0x76c
push eax
lea eax, [ebp - 0x184]
push str._d_.2d_.2d
push eax
call fcn.004ab27d
add esp, 0x1c
mov byte [ebp - 4], 2
mov ecx, esp
lea eax, [ebp - 0x184]
xor ebx, ebx
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040456a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov esi, 0x104
lea eax, [ebp - 0x114]
push esi
push ebx
push eax
call fcn.004e5a10
add esp, 0xc
lea eax, [ebp - 0x114]
push esi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0xf
pop eax
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], eax
mov byte [ebp - 0x144], bl
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x114]
push eax
mov dword [ebp - 0x14c], ebx
mov byte [ebp - 0x15c], bl
call fcn.004056f8
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.004aff7b
pop ecx
pop ecx
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 3
call fcn.00405619
sub esp, 0x18
lea eax, [ebp - 0x144]
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.0040456a
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lea ecx, [ebp - 0x144]
call fcn.00405619
lea ecx, [ebp - 0x184]
call fcn.00405619
lea ecx, [ebp - 0x12c]
call fcn.00402e90
call fcn.004ce5ff
ret