Function at 0x4638d8
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
xor ebx, ebx
lea ecx, [ebp - 8]
push ebx
call fcn.00401f21
mov esi, dword [ebp - 8]
cmp dword [esi - 0xc], ebx
jne 0x46390d
push ebx
mov edx, str.History.json
lea ecx, [ebp - 8]
call fcn.0045b3d7
mov esi, dword [ebp - 8]
pop ecx
test al, al
je 0x463af4
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x463920
mov bl, 1
jmp 0x463af4
call fcn.00402cbd
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402161
lea edx, [ebp - 0x1c]
mov ecx, esi
call fcn.0043df32
test al, al
je 0x463ae9
push edi
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x3c], ebx
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x38], ebx
call fcn.0043f71a
mov edi, eax
mov dword [ebp - 0x30], edi
test edi, edi
je 0x463ae8
mov eax, dword [edi]
lea ecx, [ebp - 0x28]
push ecx
mov ecx, edi
call dword [eax + 0x18]
call fcn.00402cbd
push eax
lea ecx, [ebp - 0x18]
call fcn.00402161
mov edx, dword [ebp - 0x28]
mov eax, ebx
mov dword [ebp - 0x24], eax
mov ecx, dword [edx + 0xc]
cmp ecx, dword [0x544a5c]
cmova ecx, dword [0x544a5c]
mov dword [ebp - 0x34], ecx
test ecx, ecx
je 0x463ac6
lea ecx, [ebp - 0x10]
push ecx
push eax
mov ecx, edx
call fcn.0043f393
test al, al
je 0x463ab2
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.0043f30f
test al, al
je 0x463ad5
push 0x18
call fcn.004b3df0
pop ecx
mov ecx, eax
call fcn.00463492
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], eax
push ecx
mov ecx, eax
call fcn.00401ec9
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
push 1
call fcn.0043f393
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ebx
cmp dword [ecx + 0xc], ebx
jbe 0x463a88
mov esi, dword [ebp - 0x14]
mov edi, ebx
lea eax, [ebp - 0xc]
push eax
push edi
call fcn.0043f393
push 0x18
call fcn.004b3df0
pop ecx
mov ecx, eax
call fcn.0040380a
mov ecx, dword [ebp - 0xc]
mov ebx, eax
lea eax, [ebp - 4]
mov dword [ebp - 0x2c], ebx
push eax
push 0
call fcn.0043f2ee
mov ecx, dword [ebp - 4]
lea eax, [ebp - 4]
push eax
mov dword [ebx], ecx
mov ecx, dword [ebp - 0xc]
push 1
call fcn.0043f2ee
mov eax, dword [ebp - 4]
mov dword [ebx + 8], eax
lea eax, [ebp - 4]
mov ecx, dword [ebp - 0xc]
push eax
push 2
call fcn.0043f2ee
mov eax, dword [ebp - 4]
mov dword [ebx + 0x10], eax
lea eax, [ebx + 0xc]
mov ecx, dword [ebp - 0xc]
push eax
push 3
call fcn.0043f30f
lea eax, [ebp - 0x2c]
push eax
lea ecx, [esi + 4]
call fcn.00464096
mov ecx, dword [ebp - 0x20]
inc edi
cmp edi, dword [ecx + 0xc]
jb 0x463a04
mov esi, dword [ebp - 8]
xor ebx, ebx
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
push 2
call fcn.0043f2a2
test eax, eax
je 0x463aa4
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
add ecx, 0x14
push ecx
mov ecx, eax
call dword [edx + 4]
lea eax, [ebp - 0x14]
mov ecx, 0x544a40
push eax
call fcn.0046412d
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x34]
jae 0x463ac6
mov edx, dword [ebp - 0x28]
jmp 0x46399c
push ebx
push 4
mov ecx, 0x544a30
call fcn.00463e50
mov bl, 1
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.004033d1
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
pop edi
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004033d1
lea ecx, [esi - 0x10]
call fcn.004033d1
pop esi
mov al, bl
pop ebx
leave
ret 4