Function at 0x101d3540
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x10359f36
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0x94], eax
push esi
push edi
mov eax, dword [0x105be7d0]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x20], edi
mov esi, dword [ebp + 8]
mov dword [esp + 0x24], esi
mov ecx, dword [esi + 0x3c]
call fcn.101cbea0
push 1
push 0
mov dword [esi + 0x3c], eax
mov ecx, edi
lea eax, [esp + 0x24]
push eax
push 0x1055f3fc
push esi
call fcn.101d4460
mov dword [esp + 0x2c], eax
mov dword [esp + 0xb0], 0
mov esi, dword [sym.imp.MSVCR120.dll_free]
test eax, eax
je 0x101d3927
mov edx, dword [esp + 0x1c]
mov ecx, eax
call fcn.101cb970
mov edi, eax
xor ecx, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
cmp dword [edi], ecx
jbe 0x101d3909
xor esi, esi
mov dword [esp + 0x18], esi
nop
mov edx, dword [esp + 0x24]
xor al, al
mov edx, dword [edx + 0x3c]
test edx, edx
je 0x101d378d
test al, al
jne 0x101d3789
mov ecx, dword [edi + 0x60]
movdqu xmm0, xmmword [edx + 4]
add ecx, esi
movdqu xmmword [esp + 0x74], xmm0
movdqu xmm0, xmmword [ecx]
movaps xmm5, xmm0
movdqa xmmword [esp + 0x84], xmm0
shufps xmm5, xmm0, 0xaa
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x101d3771
movss xmm1, dword [esp + 0x90]
movss xmm2, dword [esp + 0x88]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x101d3771
movss xmm4, dword [esp + 0x74]
movaps xmm7, xmm2
ucomiss xmm4, dword [esp + 0x7c]
movss dword [esp + 0xc], xmm0
movaps xmm2, xmm5
movaps xmm0, xmm1
lahf
test ah, 0x44
jnp 0x101d370d
movss xmm3, dword [esp + 0x78]
movss xmm6, dword [esp + 0x80]
ucomiss xmm3, xmm6
lahf
test ah, 0x44
jnp 0x101d370d
comiss xmm4, dword [esp + 0x7c]
ja 0x101d3744
comiss xmm3, xmm6
ja 0x101d3744
movdqa xmmword [esp + 0x64], xmm0
movdqu xmm0, xmmword [ecx]
comiss xmm0, xmm5
movdqa xmm0, xmmword [esp + 0x64]
ja 0x101d3732
movss xmm6, dword [esp + 0x88]
comiss xmm6, xmm1
movss xmm6, dword [esp + 0x80]
ja 0x101d3732
comiss xmm4, dword [ecx]
ja 0x101d36e0
movss xmm4, dword [esp + 0xc]
comiss xmm3, dword [esp + 0x88]
jbe 0x101d36ed
movaps xmm7, xmm3
movss xmm3, dword [esp + 0x7c]
comiss xmm5, xmm3
jbe 0x101d36fb
movaps xmm2, xmm3
comiss xmm1, xmm6
jbe 0x101d3703
movaps xmm0, xmm6
comiss xmm4, xmm2
ja 0x101d370d
comiss xmm7, xmm0
jbe 0x101d374a
xorps xmm0, xmm0
movups xmmword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x80]
movss xmm2, dword [esp + 0x7c]
movss xmm7, dword [esp + 0x78]
movss xmm4, dword [esp + 0x74]
jmp 0x101d374a
movss xmm2, dword [esp + 0x7c]
movaps xmm7, xmm3
movss dword [esp + 0xc], xmm4
movaps xmm0, xmm6
movss xmm4, dword [esp + 0xc]
subss xmm1, dword [esp + 0x88]
subss xmm0, xmm7
subss xmm2, xmm4
mulss xmm0, xmm2
movdqu xmm2, xmmword [ecx]
subss xmm5, xmm2
mulss xmm1, xmm5
divss xmm0, xmm1
jmp 0x101d3774
xorps xmm0, xmm0
comiss xmm0, dword [0x105888dc]
mov edx, dword [edx + 0x3c]
setae al
test edx, edx
jne 0x101d3601
mov ecx, dword [esp + 0x14]
test al, al
jne 0x101d38ef
mov eax, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc], eax
test eax, eax
jne 0x101d37a7
xor esi, esi
jmp 0x101d37fb
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
jne 0x101d37c9
xor esi, esi
jmp 0x101d37f7
lea eax, [edi + 1]
push 1
push eax
call dword [sym.imp.MSVCR120.dll_calloc]
mov esi, eax
add esp, 8
test esi, esi
je 0x101d37f7
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push dword [esp + 0x20]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x30], esi
mov byte [esp + 0xb0], 1
test esi, esi
jne 0x101d3822
mov byte [esp + 0xb0], 0
push esi
call dword [sym.imp.MSVCR120.dll_free]
add esp, 4
jmp 0x101d38e7
mov edi, dword [esp + 0x20]
mov ecx, esi
xorps xmm0, xmm0
mov dword [esp + 0x34], 2
mov dword [esp + 0x38], 0
movdqu xmmword [esp + 0x3c], xmm0
mov edi, dword [edi + 0x28]
lea edx, [ecx + 1]
movdqu xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x28], edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x101d3851
sub ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0xc], eax
test eax, eax
jne 0x101d3869
xor edi, edi
jmp 0x101d3880
mov edx, eax
mov ecx, edi
call fcn.101f3100
mov edi, eax
test edi, edi
je 0x101d395d
mov eax, dword [esp + 0xc]
push eax
push esi
push edi
call sub.MSVCR120.dll_memcpy
sub esp, 0x1c
mov dword [esp + 0x60], edi
movdqu xmm0, xmmword [esp + 0x5c]
mov edi, dword [esp + 0x38]
mov eax, esp
mov edx, dword [edi + 0x60]
add edx, dword [esp + 0x40]
movdqu xmmword [eax], xmm0
movdqu xmm0, xmmword [esp + 0x6c]
movdqu xmmword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x7c]
movq qword [eax + 0x20], xmm0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x28]
call fcn.101fbfa0
mov edx, dword [esp + 0x4c]
mov ecx, dword [edx + 0x3c]
mov dword [eax + 0x3c], ecx
mov dword [edx + 0x3c], eax
mov byte [esp + 0xd8], 0
push esi
call dword [sym.imp.MSVCR120.dll_free]
add esp, 0x2c
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
inc ecx
add esi, 0x10
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
cmp ecx, dword [edi]
jb 0x101d35f0
mov esi, dword [sym.imp.MSVCR120.dll_free]
mov ecx, edi
call fcn.101d3980
push edi
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
push dword [esp + 0x1c]
call esi
mov eax, dword [esp + 0x30]
add esp, 4
mov dword [esp + 0xb0], 0xffffffff
push eax
call esi
add esp, 4
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.1033d458
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0xc]
push str.malloc_of__d_bytes_failed
push 1
push 0x40
push str...mupdf_source_fitzmemory.c
push dword [esp + 0x3c]
call fcn.101df770
int3