Function at 0x4251cc
Capabilities:
Read file on windows

Disassembly:
push 0x2c4
mov eax, 0x4d235f
call fcn.0044dabe
mov esi, ecx
lea eax, [esi + 0x6c]
cmp dword [eax + 0x14], 8
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0x104], eax
jb 0x4251f4
mov eax, dword [eax]
push eax
call fcn.0041e4f9
xor edi, edi
pop ecx
cmp edx, edi
jl 0x42577d
jg 0x42520f
cmp eax, edi
jbe 0x42577d
cmp dword [esi + 0x88], edi
je 0x425837
push 7
pop eax
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x2c], cx
mov dword [ebp - 4], edi
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x38], edi
mov word [ebp - 0x48], ax
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], edi
mov eax, dword [ebp - 0xd8]
mov ebx, dword [eax + 0x88]
xor eax, eax
cmp dword [ebx + 0xc], eax
jne 0x425727
cmp dword [ebx + 8], eax
je 0x425727
or dword [ebx + 0x34], 0xffffffff
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 3
cmp byte [ebx + 0x2c], al
jne 0x42571c
mov eax, dword [ebx + 0x34]
cmp eax, 0xffffffff
je 0x425336
test eax, eax
je 0x4254b5
cmp eax, 1
je 0x425331
cmp eax, 2
je 0x4252f7
cmp eax, 3
jne 0x425718
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x40], eax
lea esi, [eax + 1]
lea eax, [ebp - 0xec]
call fcn.0040a963
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp - 0xec]
mov byte [ecx + eax], 0
mov esi, dword [ebx + 0x40]
lea eax, [ebp - 0xec]
call fcn.0040a963
mov eax, dword [ebx + 0x40]
neg eax
sbb eax, eax
and eax, dword [ebp - 0xec]
jmp 0x425347
mov eax, dword [ebx + 0x30]
push dword [ebp - 0xf8]
mov dword [ebx + 0x40], eax
push dword [ebp - 0xfc]
shr eax, 1
lea esi, [eax + 1]
lea eax, [ebp - 0x108]
push eax
lea edi, [ebp - 0xfc]
call fcn.0040a771
mov eax, esi
mov ecx, edi
call fcn.0040a6f1
mov eax, dword [ebp - 0xfc]
jmp 0x425347
lea eax, [ebx + 0x30]
jmp 0x425340
or dword [ebx + 0x38], 0xffffffff
lea eax, [ebp - 0x100]
mov dword [ebx + 0x40], 4
and dword [ebx + 0x44], 0
cmp byte [ebx + 0x2c], 0
mov dword [ebx + 0x3c], eax
jne 0x425718
lea eax, [ebx + 0x40]
cmp dword [eax], 0
jle 0x4253f0
cmp dword [ebx + 0x104c], 0
je 0x4253b2
mov ecx, dword [ebx + 0x104c]
cmp ecx, dword [eax]
jge 0x42537d
lea eax, [ebx + 0x104c]
mov esi, dword [eax]
test esi, esi
jle 0x4253e6
mov eax, dword [ebx + 0x1048]
lea eax, [ebx + eax + 0x48]
push esi
push eax
mov eax, dword [ebx + 0x3c]
add eax, dword [ebx + 0x44]
push eax
call fcn.004466e0
add dword [ebx + 0x1048], esi
sub dword [ebx + 0x104c], esi
add dword [ebx + 0x44], esi
add esp, 0xc
sub dword [ebx + 0x40], esi
jmp 0x4253e6
push dword [ebx + 8]
lea eax, [ebx + 0x48]
push 0x1000
push 1
push eax
call fcn.00448614
add esp, 0x10
test eax, eax
je 0x425718
cmp eax, 0xffffffff
je 0x425718
and dword [ebx + 0x1048], 0
mov dword [ebx + 0x104c], eax
cmp byte [ebx + 0x2c], 0
je 0x425358
cmp byte [ebx + 0x2c], 0
jne 0x425718
mov eax, dword [ebx + 0x44]
add dword [ebx + 4], eax
mov eax, dword [ebx + 0x34]
cmp eax, 0xffffffff
je 0x425462
cmp eax, 1
je 0x425487
cmp eax, 2
je 0x425417
cmp eax, 3
jmp 0x425481
mov eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0xf8]
jne 0x42542a
mov eax, 0x4e1840
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00404c84
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00405528
push 1
xor edi, edi
lea esi, [ebp - 0xd4]
mov byte [ebp - 4], 3
call fcn.00401198
jmp 0x425487
xor eax, eax
mov ecx, dword [ebp - 0x100]
cmp ecx, dword [eax*4 + 0x4de50c]
je 0x42547b
inc eax
cmp eax, 3
jl 0x425464
jmp 0x42547e
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x425718
inc dword [ebx + 0x38]
mov ecx, dword [ebp - 0x100]
imul ecx, ecx, 5
add ecx, dword [ebx + 0x38]
mov eax, dword [ecx*4 + 0x4de518]
mov dword [ebx + 0x34], eax
cmp byte [ebx + 0x2c], 0
jne 0x42571c
mov edi, dword [ebp - 0xec]
jmp 0x42528e
inc dword [ebx]
lea esi, [ebp - 0xfc]
mov byte [ebp - 4], 2
call fcn.0041a6ce
mov eax, dword [ebp - 0x100]
xor esi, esi
sub eax, esi
je 0x4256e3
dec eax
je 0x4254fd
dec eax
jne 0x425796
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4254ec
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0xd8]
push eax
call fcn.0042c17e
jmp 0x42524b
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x425509
lea eax, [ebp - 0x2c]
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 8]
dec eax
dec eax
je 0x425610
dec eax
je 0x4255d1
dec eax
je 0x425562
dec eax
jne 0x425879
mov ecx, dword [ebp - 0xe8]
sub ecx, edi
mov eax, dword [ebp - 0x2c]
je 0x425555
cmp dword [ebp - 0x18], 8
jae 0x425546
lea eax, [ebp - 0x2c]
push ecx
push edi
push eax
mov ecx, ebx
call fcn.0042c426
jmp 0x425650
cmp dword [ebp - 0x18], 8
jae 0x42555e
lea eax, [ebp - 0x2c]
push esi
push esi
jmp 0x425548
mov eax, dword [ebp - 0xe8]
sub eax, edi
je 0x42557a
shr eax, 1
mov ecx, edi
lea esi, [ebp - 0x48]
call fcn.004059e7
jmp 0x4255b7
push 0x4e1840
lea eax, [ebp - 0x80]
push eax
call fcn.00404c84
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x80]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.00405528
push 1
xor edi, edi
lea esi, [ebp - 0x80]
mov byte [ebp - 4], 2
call fcn.00401198
mov ebx, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xec]
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4255c3
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x48]
push ecx
push eax
mov ecx, ebx
call fcn.0042c3fb
jmp 0x425650
mov eax, dword [ebp - 0x2c]
cmp edi, dword [ebp - 0xe8]
jne 0x4255f6
cmp dword [ebp - 0x18], 8
jae 0x4255e5
lea eax, [ebp - 0x2c]
fldz
push ecx
push ecx
fstp qword [esp]
push eax
mov ecx, ebx
call fcn.0042c3d9
jmp 0x42562e
cmp dword [ebp - 0x18], 8
jae 0x4255ff
lea eax, [ebp - 0x2c]
fld qword [edi]
push ecx
push ecx
fstp qword [esp]
push eax
mov ecx, ebx
call fcn.0042c3d9
jmp 0x425650
mov eax, dword [ebp - 0x2c]
cmp edi, dword [ebp - 0xe8]
jne 0x42563a
cmp dword [ebp - 0x18], 8
jae 0x425624
lea eax, [ebp - 0x2c]
push esi
push esi
push eax
mov ecx, ebx
call fcn.0042c3b1
lea ecx, [ebp - 0x2c]
mov bl, al
call fcn.00424f69
jmp 0x425652
cmp dword [ebp - 0x18], 8
jae 0x425643
lea eax, [ebp - 0x2c]
push dword [edi + 4]
mov ecx, ebx
push dword [edi]
push eax
call fcn.0042c3b1
mov bl, al
test bl, bl
jne 0x42524b
lea eax, [ebp - 0x2d0]
push eax
call fcn.00404d9c
lea eax, [ebp - 0x2d0]
push str.updtJournalBackingStore::JournalFileRead:_Set_operation_failed.
push eax
mov byte [ebp - 4], 8
call fcn.00405e4c
pop ecx
pop ecx
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x2d0]
call fcn.00404d5e
mov byte [ebp - 4], 9
cmp dword [ebp - 0xa4], 8
mov eax, dword [ebp - 0xb8]
jae 0x4256a7
lea eax, [ebp - 0xb8]
push eax
xor ecx, ecx
call fcn.0042181f
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0xb8]
call fcn.00401198
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 2
call fcn.00404e06
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x280]
jmp 0x42580b
cmp dword [ebp - 0x1c], esi
je 0x425902
cmp edi, dword [ebp - 0xe8]
je 0x425902
cmp dword [ebp - 0x18], 8
mov eax, dword [edi]
mov ecx, dword [ebp - 0x2c]
jae 0x425706
lea ecx, [ebp - 0x2c]
push eax
push ecx
mov ecx, dword [ebp - 0xd8]
call fcn.0042c063
jmp 0x42524b
mov byte [ebx + 0x2c], 1
lea esi, [ebp - 0xfc]
call fcn.0041a6ce
mov ebx, dword [ebp - 0xd8]
mov eax, dword [ebx + 0x88]
cmp dword [eax], 0
lea esi, [ebp - 0xec]
setne byte [ebp - 0xd9]
call fcn.0041a6ce
push 1
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00401198
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x2c]
call fcn.00401198
cmp byte [ebp - 0xd9], 0
je 0x425837
mov ecx, ebx
call fcn.004250c5
mov ecx, ebx
call fcn.00424e6b
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x88]
push 1
call fcn.00425b91
call fcn.0044db41
ret
lea eax, [ebp - 0x1a0]
push eax
call fcn.00404d9c
lea eax, [ebp - 0x1a0]
push str.updtJournalBackingStore::JournalFileRead:_Invalid_operation.
push eax
mov byte [ebp - 4], 0xa
call fcn.00405e4c
pop ecx
pop ecx
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x1a0]
call fcn.00404d5e
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x4257d7
lea eax, [ebp - 0x64]
push eax
xor ecx, ecx
call fcn.0042181f
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x64]
call fcn.00401198
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 2
call fcn.00404e06
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x150]
push eax
call fcn.00445c6f
pop ecx
lea esi, [ebp - 0xec]
call fcn.0041a6ce
push 1
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00401198
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x2c]
call fcn.00401198
push str.PersistentStore_journal_is_corrupted__Trying_to_truncate_it.
xor ecx, ecx
call fcn.0042181f
mov eax, dword [ebp - 0x104]
pop ecx
call fcn.0041e6f6
mov ecx, dword [ebp - 0x104]
push str..bak
lea ebx, [ebp - 0x80]
call fcn.00404d08
call fcn.0041e6f6
push 1
xor edi, edi
mov esi, ebx
call fcn.00401198
xor al, al
jmp 0x425790
lea eax, [ebp - 0x238]
push eax
call fcn.00404d9c
lea eax, [ebp - 0x238]
push str.updtJournalBackingStore::JournalFileRead:_Invalid_type.
push eax
mov byte [ebp - 4], 6
call fcn.00405e4c
pop ecx
pop ecx
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x238]
call fcn.00404d5e
mov byte [ebp - 4], 7
cmp dword [ebp - 0x88], 8
mov eax, dword [ebp - 0x9c]
jae 0x4258c6
lea eax, [ebp - 0x9c]
push eax
xor ecx, ecx
call fcn.0042181f
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x9c]
call fcn.00401198
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 2
call fcn.00404e06
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x1e8]
jmp 0x42580b
push str.Invalid_return_from_Read__giving_up
xor ecx, ecx
call fcn.0042181f
jmp 0x425811