Function at 0x41c760
Capabilities:
Read file on windows

Disassembly:
push 0x2c4
mov eax, 0x4ea1ac
call fcn.0044b05e
mov esi, ecx
lea eax, [esi + 0x60]
cmp dword [eax + 0x14], 8
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0x100], eax
jb 0x41c788
mov eax, dword [eax]
push eax
call fcn.004183cf
pop ecx
xor ecx, ecx
cmp edx, ecx
jl 0x41cd35
jg 0x41c7a3
cmp eax, ecx
jbe 0x41cd35
cmp dword [esi + 0x7c], ecx
je 0x41cdf5
push 7
pop eax
xor edx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ecx
mov word [ebp - 0x2c], dx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x38], ecx
mov word [ebp - 0x48], ax
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], ecx
mov eax, dword [ebp - 0xd8]
mov ebx, dword [eax + 0x7c]
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
jne 0x41ccd9
cmp dword [ebx + 8], ecx
je 0x41ccd9
or dword [ebx + 0x34], 0xffffffff
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xf0], ecx
mov byte [ebp - 4], 3
cmp byte [ebx + 0x2c], cl
jne 0x41ccce
mov eax, dword [ebx + 0x34]
cmp eax, 0xffffffff
je 0x41c8c4
cmp eax, ecx
je 0x41ca3e
cmp eax, 1
je 0x41c8bf
cmp eax, 2
je 0x41c885
cmp eax, 3
jne 0x41ccca
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x40], eax
lea esi, [eax + 1]
lea eax, [ebp - 0xe8]
call fcn.004165e6
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp - 0xe8]
mov byte [ecx + eax], 0
mov esi, dword [ebx + 0x40]
lea eax, [ebp - 0xe8]
call fcn.004165e6
mov eax, dword [ebx + 0x40]
neg eax
sbb eax, eax
and eax, dword [ebp - 0xe8]
jmp 0x41c8d5
mov eax, dword [ebx + 0x30]
push dword [ebp - 0xf4]
mov dword [ebx + 0x40], eax
push dword [ebp - 0xf8]
shr eax, 1
lea esi, [eax + 1]
lea eax, [ebp - 0x104]
push eax
lea edi, [ebp - 0xf8]
call fcn.0040668b
mov eax, esi
mov ecx, edi
call fcn.00406519
mov eax, dword [ebp - 0xf8]
jmp 0x41c8d5
lea eax, [ebx + 0x30]
jmp 0x41c8ce
or dword [ebx + 0x38], 0xffffffff
lea eax, [ebp - 0xfc]
mov dword [ebx + 0x40], 4
and dword [ebx + 0x44], 0
cmp byte [ebx + 0x2c], 0
mov dword [ebx + 0x3c], eax
jne 0x41ccca
lea eax, [ebx + 0x40]
xor edi, edi
cmp dword [eax], edi
jle 0x41c97d
cmp dword [ebx + 0x104c], edi
je 0x41c940
mov ecx, dword [ebx + 0x104c]
cmp ecx, dword [eax]
jge 0x41c90b
lea eax, [ebx + 0x104c]
mov esi, dword [eax]
test esi, esi
jle 0x41c973
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.00444c40
add dword [ebx + 0x1048], esi
sub dword [ebx + 0x104c], esi
add dword [ebx + 0x44], esi
add esp, 0xc
sub dword [ebx + 0x40], esi
jmp 0x41c973
push dword [ebx + 8]
lea eax, [ebx + 0x48]
push 0x1000
push 1
push eax
call fcn.0044901f
add esp, 0x10
cmp eax, edi
je 0x41ccca
cmp eax, 0xffffffff
je 0x41ccca
mov dword [ebx + 0x104c], eax
mov dword [ebx + 0x1048], edi
cmp byte [ebx + 0x2c], 0
je 0x41c8e6
cmp byte [ebx + 0x2c], 0
jne 0x41ccca
mov eax, dword [ebx + 0x44]
add dword [ebx + 4], eax
mov eax, dword [ebx + 0x34]
cmp eax, 0xffffffff
je 0x41c9ef
cmp eax, 1
je 0x41ca14
cmp eax, 2
je 0x41c9a4
cmp eax, 3
jmp 0x41ca0e
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0xf4]
jne 0x41c9b7
mov eax, 0x4f8ac0
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040525a
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.004029a2
push 1
xor edi, edi
lea esi, [ebp - 0xd4]
mov byte [ebp - 4], 3
call fcn.00402a3c
jmp 0x41ca14
xor eax, eax
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [eax*4 + 0x4f65e0]
je 0x41ca08
inc eax
cmp eax, 3
jl 0x41c9f1
jmp 0x41ca0b
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x41ccca
inc dword [ebx + 0x38]
mov ecx, dword [ebp - 0xfc]
imul ecx, ecx, 5
add ecx, dword [ebx + 0x38]
mov eax, dword [ecx*4 + 0x4f65ec]
mov dword [ebx + 0x34], eax
cmp byte [ebx + 0x2c], 0
jne 0x41ccce
xor ecx, ecx
jmp 0x41c81c
inc dword [ebx]
lea esi, [ebp - 0xf8]
mov byte [ebp - 4], 2
call fcn.0041d4a8
mov eax, dword [ebp - 0xfc]
xor edi, edi
sub eax, edi
je 0x41cc8f
dec eax
je 0x41ca86
dec eax
jne 0x41cd4b
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x41ca75
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0xd8]
push eax
call fcn.00425f66
jmp 0x41c7dc
mov eax, dword [ebp - 0x2c]
push 8
pop esi
cmp dword [ebp - 0x18], esi
jae 0x41ca94
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 0x41cbb6
dec eax
je 0x41cb70
dec eax
je 0x41caf4
dec eax
jne 0x41ce3a
mov ecx, dword [ebp - 0xe4]
sub ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x2c]
je 0x41cae8
cmp dword [ebp - 0x18], esi
jae 0x41cad4
lea eax, [ebp - 0x2c]
push ecx
push dword [ebp - 0xe8]
push eax
mov ecx, ebx
call fcn.0042624c
jmp 0x41cbfd
cmp dword [ebp - 0x18], esi
jae 0x41caf0
lea eax, [ebp - 0x2c]
push edi
push edi
jmp 0x41cadb
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
sub eax, ecx
je 0x41cb10
shr eax, 1
lea esi, [ebp - 0x48]
call fcn.00402e37
jmp 0x41cb50
push 0x4f8ac0
lea eax, [ebp - 0x9c]
push eax
call fcn.0040525a
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.004029a2
push 1
xor edi, edi
lea esi, [ebp - 0x9c]
mov byte [ebp - 4], 2
call fcn.00402a3c
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x41cb5c
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x48]
push ecx
push eax
mov ecx, ebx
call fcn.00426221
push 8
pop esi
jmp 0x41cbfd
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0xe4]
jne 0x41cb9a
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jae 0x41cb89
lea eax, [ebp - 0x2c]
fldz
push ecx
push ecx
fstp qword [esp]
push eax
mov ecx, ebx
call fcn.004261ff
jmp 0x41cbd9
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jae 0x41cba5
lea ecx, [ebp - 0x2c]
fld qword [eax]
push ecx
push ecx
fstp qword [esp]
push ecx
mov ecx, ebx
call fcn.004261ff
jmp 0x41cbfd
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0xe4]
jne 0x41cbe5
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jae 0x41cbcf
lea eax, [ebp - 0x2c]
push edi
push edi
push eax
mov ecx, ebx
call fcn.004261d7
lea ecx, [ebp - 0x2c]
mov bl, al
call fcn.0041c500
jmp 0x41cbff
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], esi
jae 0x41cbf0
lea ecx, [ebp - 0x2c]
push dword [eax + 4]
push dword [eax]
push ecx
mov ecx, ebx
call fcn.004261d7
mov bl, al
test bl, bl
jne 0x41c7dc
lea eax, [ebp - 0x2d0]
push eax
call fcn.004021e7
lea eax, [ebp - 0x2d0]
push str.updtJournalBackingStore::JournalFileRead:_Set_operation_failed.
push eax
mov byte [ebp - 4], 8
call fcn.004035ab
pop ecx
pop ecx
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x2d0]
call fcn.00402860
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0xa4], esi
jae 0x41cc53
lea eax, [ebp - 0xb8]
push eax
xor ecx, ecx
call fcn.00417f5f
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0xb8]
call fcn.00402a3c
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 2
call fcn.00402251
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x280]
jmp 0x41cdc0
mov esi, dword [ebp - 0xe8]
cmp dword [ebp - 0x1c], edi
je 0x41ceb3
cmp esi, dword [ebp - 0xe4]
je 0x41ceb3
cmp dword [ebp - 0x18], 8
mov esi, dword [esi]
mov eax, dword [ebp - 0x2c]
jae 0x41ccb8
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0xd8]
push esi
push eax
call fcn.00425e18
jmp 0x41c7dc
mov byte [ebx + 0x2c], 1
lea esi, [ebp - 0xf8]
call fcn.0041d4a8
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x7c]
cmp dword [eax], 0
setne bl
cmp dword [ebp - 0xe8], 0
je 0x41ccfd
push dword [ebp - 0xe8]
call fcn.00445b41
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00402a3c
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x2c]
call fcn.00402a3c
test bl, bl
je 0x41cdf5
mov ecx, dword [ebp - 0xd8]
call fcn.0041c65c
mov ecx, dword [ebp - 0xd8]
call fcn.0041c402
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x7c]
push 1
call fcn.0041d14c
call fcn.0044b0e1
ret
lea eax, [ebp - 0x238]
push eax
call fcn.004021e7
lea eax, [ebp - 0x238]
push str.updtJournalBackingStore::JournalFileRead:_Invalid_operation.
push eax
mov byte [ebp - 4], 0xa
call fcn.004035ab
pop ecx
pop ecx
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x238]
call fcn.00402860
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x50], 8
mov eax, dword [ebp - 0x64]
jae 0x41cd8c
lea eax, [ebp - 0x64]
push eax
xor ecx, ecx
call fcn.00417f5f
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x64]
call fcn.00402a3c
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 2
call fcn.00402251
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x1e8]
push eax
call fcn.004441d6
pop ecx
cmp dword [ebp - 0xe8], edi
je 0x41cddb
push dword [ebp - 0xe8]
call fcn.00445b41
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x48]
call fcn.00402a3c
or dword [ebp - 4], 0xffffffff
push 1
lea esi, [ebp - 0x2c]
call fcn.00402a3c
push str.PersistentStore_journal_is_corrupted__Trying_to_truncate_it.
xor ecx, ecx
call fcn.00417f5f
mov eax, dword [ebp - 0x100]
pop ecx
call fcn.004185bd
mov ecx, dword [ebp - 0x100]
push str..bak
lea ebx, [ebp - 0x9c]
call fcn.004064d5
call fcn.004185bd
push 1
xor edi, edi
mov esi, ebx
call fcn.00402a3c
xor al, al
jmp 0x41cd45
lea eax, [ebp - 0x1a0]
push eax
call fcn.004021e7
lea eax, [ebp - 0x1a0]
push str.updtJournalBackingStore::JournalFileRead:_Invalid_type.
push eax
mov byte [ebp - 4], 6
call fcn.004035ab
pop ecx
pop ecx
lea edx, [ebp - 0x80]
lea ecx, [ebp - 0x1a0]
call fcn.00402860
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x6c], esi
jae 0x41ce7a
lea eax, [ebp - 0x80]
push eax
xor ecx, ecx
call fcn.00417f5f
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x80]
call fcn.00402a3c
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 2
call fcn.00402251
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
lea eax, [ebp - 0x150]
jmp 0x41cdc0
push str.Invalid_return_from_Read__giving_up
xor ecx, ecx
call fcn.00417f5f
pop ecx
cmp esi, edi
je 0x41cddb
push esi
jmp 0x41cdd5