Function at 0x10203c80
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov eax, 0x1420
call fcn.1033e170
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0x141c], eax
push ebx
mov ebx, ecx
mov dword [esp + 4], edx
push ebp
push esi
push edi
cmp dword [ebx + 0x1010c], 0
mov esi, dword [ebx + 0x4c]
mov edi, dword [esp + 0x1434]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], esi
je 0x102040b3
mov edx, 0x105683d8
mov ecx, edi
call fcn.1024e490
mov ebp, eax
test ebp, ebp
je 0x102040cc
mov edi, dword [sym.imp.MSVCR120.dll_fseek]
push 2
push 0
push ebp
call edi
add esp, 0xc
push ebp
call dword [sym.imp.MSVCR120.dll_ftell]
mov esi, dword [ebx + 0x1010c]
add esp, 4
mov dword [esp + 0x1c], eax
test esi, esi
je 0x10203e17
mov ebx, dword [esp + 0x10]
jmp 0x10203d10
mov ecx, dword [esi]
mov edx, str.V_ByteRange
call fcn.101dd780
push 0
mov eax, dword [eax + 0xc]
lea ecx, [eax*4]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x24], ecx
push dword [eax + ecx]
push ebp
call edi
add esp, 0xc
lea eax, [esp + 0x28]
push ebp
push 0x1400
push 1
push eax
call dword [sym.imp.MSVCR120.dll_fread]
mov edi, dword [sym.imp.MSVCR120.dll_strstr]
lea eax, [esp + 0x38]
push str._ByteRange
push eax
mov byte [esp + 0x143f], 0
call edi
mov dword [esp + 0x30], eax
lea eax, [esp + 0x40]
push str._Contents
push eax
call edi
mov edi, eax
lea eax, [esp + 0x48]
push str._Filter
push eax
call dword [sym.imp.MSVCR120.dll_strstr]
mov edx, dword [esp + 0x40]
add esp, 0x28
mov ecx, eax
test edx, edx
je 0x10203e02
test edi, edi
je 0x10203e02
test ecx, ecx
je 0x10203e02
cmp edx, edi
jae 0x10203e02
cmp edi, ecx
jae 0x10203e02
mov eax, dword [ebx + 0x20]
add edx, 0xa
mov ebx, dword [esp + 0x20]
mov eax, dword [eax + ebx]
lea ebx, [esp + 0x28]
sub eax, ebx
mov ebx, dword [esp + 0x10]
add eax, edx
mov edx, dword [esp + 0x20]
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x20]
lea ebx, [esp + 0x28]
mov eax, dword [eax + edx]
sub eax, ebx
mov ebx, dword [esp + 0x10]
add eax, edi
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x20]
lea ebx, [esp + 0x28]
mov eax, dword [eax + edx]
sub eax, ebx
mov ebx, dword [esp + 0x10]
add eax, 9
add eax, edi
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + edx]
lea edx, [esp + 0x28]
sub eax, edx
add eax, ecx
mov dword [esi + 0x10], eax
mov esi, dword [esi + 0x18]
mov edi, dword [sym.imp.MSVCR120.dll_fseek]
test esi, esi
jne 0x10203d10
mov ebx, dword [esp + 0x14]
mov edx, 4
mov ecx, ebx
call fcn.101dc170
mov ecx, dword [ebx + 0x1010c]
mov edi, eax
push edi
mov edx, str.V_ByteRange
mov ecx, dword [ecx]
call fcn.101ddee0
mov esi, dword [ebx + 0x1010c]
add esp, 4
mov dword [esp + 0x10], 0
test esi, esi
je 0x10203ef0
mov eax, dword [ebx + 0x4c]
mov edx, 0x1c
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.101f3100
test eax, eax
je 0x10204113
mov ecx, dword [esp + 0x10]
mov edx, eax
mov dword [eax + 0x10], ecx
mov ecx, edi
mov dword [eax + 8], ebx
mov dword [eax], 1
mov word [eax + 4], 0x69
mov dword [eax + 0xc], 0
call fcn.101dc620
mov eax, dword [esi + 0xc]
mov edx, 0x1c
sub eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x4c]
mov ecx, eax
mov dword [esp + 0x18], eax
call fcn.101f3100
test eax, eax
je 0x102040fa
mov ecx, dword [esp + 0x14]
mov edx, eax
mov dword [eax + 0x10], ecx
mov ecx, edi
mov dword [eax + 8], ebx
mov dword [eax], 1
mov word [eax + 4], 0x69
mov dword [eax + 0xc], 0
call fcn.101dc620
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x18]
mov dword [esp + 0x10], eax
test esi, esi
jne 0x10203e51
mov esi, dword [ebx + 0x4c]
mov edx, 0x1c
mov ecx, esi
call fcn.101f3100
test eax, eax
jne 0x10203f08
jmp 0x102040e4
mov esi, dword [esp + 0x10]
mov edx, eax
mov ecx, edi
mov dword [eax + 8], ebx
mov dword [eax], 1
mov word [eax + 4], 0x69
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
call fcn.101dc620
mov eax, dword [ebx + 0x4c]
mov edx, 0x1c
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.101f3100
test eax, eax
je 0x1020412c
mov ecx, dword [esp + 0x1c]
mov edx, eax
sub ecx, esi
mov dword [eax + 8], ebx
mov dword [eax + 0x10], ecx
mov ecx, edi
mov dword [eax], 1
mov word [eax + 4], 0x69
mov dword [eax + 0xc], 0
call fcn.101dc620
mov eax, dword [ebx + 0x1010c]
mov esi, dword [eax + 0x18]
test esi, esi
je 0x10203f9e
mov edi, edi
mov ecx, edi
call fcn.101dc330
mov ecx, dword [esi]
mov edx, str.V_ByteRange
push eax
call fcn.101ddee0
mov esi, dword [esi + 0x18]
add esp, 4
test esi, esi
jne 0x10203f80
push 1
mov esi, 0x1400
lea ecx, [esp + 0x2c]
push edi
mov edx, esi
call fcn.101df180
sub esi, eax
push esi
lea esi, [esp + 0x34]
add eax, esi
push 0x20
push eax
call sub.MSVCR120.dll_memset
mov esi, dword [ebx + 0x1010c]
add esp, 0x14
test esi, esi
je 0x10203fff
mov edi, dword [sym.imp.MSVCR120.dll_fwrite]
push 0
push dword [esi + 4]
push ebp
call dword [sym.imp.MSVCR120.dll_fseek]
mov eax, dword [esi + 8]
add esp, 0xc
sub eax, dword [esi + 4]
push ebp
push eax
lea eax, [esp + 0x30]
push 1
push eax
call edi
mov esi, dword [esi + 0x18]
add esp, 0x10
test esi, esi
jne 0x10203fd5
push ebp
call dword [sym.imp.MSVCR120.dll_fclose]
mov ebp, dword [ebx + 0x1010c]
add esp, 4
test ebp, ebp
je 0x102040b3
jmp 0x10204020
mov eax, dword [ebp + 0x18]
mov dword [ebx + 0x1010c], eax
mov esi, dword [ebp]
test esi, esi
je 0x1020407c
dec dword [esi]
jne 0x1020407c
mov al, byte [esi + 4]
cmp al, 0x61
jne 0x10204044
mov ecx, esi
call fcn.101de120
jmp 0x1020407c
cmp al, 0x64
jne 0x10204051
mov ecx, esi
call fcn.101de1a0
jmp 0x1020407c
mov eax, dword [esi + 8]
push 0
mov edi, dword [eax + 0x4c]
mov eax, dword [edi + 4]
push dword [eax]
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
push esi
push dword [eax]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [edi + 4]
push 0
push dword [eax]
mov eax, dword [eax + 8]
call eax
add esp, 0x18
mov esi, dword [esp + 0x24]
push 0
mov eax, dword [esi + 4]
push dword [eax]
mov eax, dword [eax + 4]
call eax
mov eax, dword [esi]
push ebp
push dword [eax]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esi + 4]
push 0
push dword [eax]
mov eax, dword [eax + 8]
call eax
mov ebp, dword [ebx + 0x1010c]
add esp, 0x18
test ebp, ebp
jne 0x10204020
mov ecx, dword [esp + 0x142c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1033d458
add esp, 0x1420
ret
push edi
push str.Failed_to_open__s_to_complete_signatures
push 1
push 0x9a8
push str...mupdf_sourcepdfpdf_write.c
push esi
call fcn.101df770
push 0x1c
push str.malloc_of__d_bytes_failed
push 1
push 0x40
push str...mupdf_source_fitzmemory.c
push esi
call fcn.101df770
push 0x1c
push str.malloc_of__d_bytes_failed
push 1
push 0x40
push str...mupdf_source_fitzmemory.c
push dword [esp + 0x2c]
call fcn.101df770
push 0x1c
push str.malloc_of__d_bytes_failed
push 1
push 0x40
push str...mupdf_source_fitzmemory.c
push dword [esp + 0x28]
call fcn.101df770
push 0x1c
push str.malloc_of__d_bytes_failed
push 1
push 0x40
push str...mupdf_source_fitzmemory.c
push dword [esp + 0x28]
call fcn.101df770
int3