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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x14], ebx
call fcn.10098b20
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
test ebp, ebp
jne 0x10098bf7
cmp edi, 0x78
jb 0x10098f1e
mov esi, dword [esp + 0x3c]
mov eax, dword [esi]
bswap eax
cmp eax, 0x51607
jne 0x10098f1e
mov eax, dword [esi + 4]
bswap eax
cmp eax, 0x20000
jne 0x10098f1e
mov eax, dword [esi + 0x54]
bswap eax
cmp eax, 0x41545452
jne 0x10098f1e
mov ax, word [esi + 0x18]
mov ch, al
mov cl, ah
cmp cx, 2
jne 0x10098f0b
mov ecx, dword [esi + 0x1a]
bswap ecx
cmp ecx, 9
jne 0x10098f0b
mov eax, dword [esi + 0x26]
bswap eax
cmp eax, 2
jne 0x10098f0b
mov dword [ebx + 0xc], ecx
mov ecx, dword [esi + 0x1e]
bswap ecx
mov dword [ebx + 0x10], ecx
mov edx, dword [esi + 0x22]
bswap edx
mov dword [ebx + 0x14], edx
mov eax, dword [esi + 0x26]
bswap eax
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x2a]
bswap eax
mov dword [ebx + 0x1c], eax
mov eax, dword [esi + 0x2e]
bswap eax
mov dword [ebx + 0x20], eax
cmp dword [esi + 0x32], 0x73696c61
jne 0x10098d7a
test ecx, ecx
je 0x10098d7a
test edx, edx
je 0x10098d7a
xor eax, eax
cmp eax, ebp
ja 0x10098d7a
jb 0x10098cb4
cmp ecx, edi
jae 0x10098d7a
xor eax, eax
add ecx, 0x20
cmp eax, ebp
ja 0x10098d7a
jb 0x10098ccb
cmp ecx, edi
ja 0x10098d7a
push 0x28
call fcn.1015144f
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [esp + 0x34], esi
mov ecx, esi
mov dword [esp + 0x1c], esi
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push 0x14
push str.com.apple.FinderInfo
mov dword [esi + 0x18], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
call fcn.1000a4c0
push 0x20
call fcn.101554b7
add esp, 4
mov dword [esi + 0x18], eax
test eax, eax
je 0x10098d59
mov ecx, dword [esp + 0x3c]
movups xmm0, xmmword [ecx + 0x32]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x42]
movups xmmword [eax + 0x10], xmm0
mov dword [esi + 0x20], 0x20
mov dword [esi + 0x24], 0
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x10098d69
mov dword [eax], esi
add dword [ebx + 4], 4
jmp 0x10098d76
lea ecx, [esp + 0x1c]
push ecx
push eax
mov ecx, ebx
call fcn.100816f0
mov esi, dword [esp + 0x3c]
lea eax, [edi + esi]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
lea ebp, [esi + 0x78]
mov ax, word [esi + 0x76]
mov ch, al
mov dword [esp + 0x18], ebp
mov cl, ah
movzx eax, cx
mov dword [esp + 0x34], eax
test eax, eax
je 0x10098eec
push 0x28
call fcn.1015144f
mov edi, eax
xorps xmm0, xmm0
mov dword [esp + 0x34], edi
xor ebx, ebx
add esp, 4
mov dword [esp + 0x30], edi
cmp ebx, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov al, byte [ebp + 0xa]
bswap ecx
bswap edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], edx
ja 0x10098ef8
jb 0x10098e26
cmp ecx, dword [esp + 0x40]
ja 0x10098ef8
movzx ecx, al
mov dword [esp + 0x24], ecx
lea eax, [ecx + 0xb]
add eax, ebp
cmp eax, dword [esp + 0x20]
ja 0x10098ef8
test ecx, ecx
je 0x10098e7a
mov eax, 0xfffffff5
lea esi, [ebp + 0xb]
sub eax, ebp
mov ebx, ecx
mov dword [esp + 0x28], eax
mov ebp, eax
mov al, byte [esi]
mov cl, al
test al, al
je 0x10098e6a
push ecx
mov ecx, edi
call fcn.1000a3a0
inc esi
lea eax, [esi + ebp]
cmp eax, ebx
jb 0x10098e52
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
push edx
call fcn.101554b7
add esp, 4
mov dword [edi + 0x18], eax
test eax, eax
je 0x10098eac
push dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
add ecx, esi
push ecx
push eax
call fcn.101528b0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], 0
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x10098ebc
mov dword [eax], edi
add dword [ebx + 4], 4
jmp 0x10098ec9
lea ecx, [esp + 0x30]
push ecx
push eax
mov ecx, ebx
call fcn.100816f0
movzx eax, byte [ebp + 0xa]
add eax, 0xe
and eax, 0xfffffffc
add ebp, eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x34]
jl 0x10098da7
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x28
ret 0xc
pop edi
pop esi
pop ebp
mov dword [ebx + 0x24], 1
xor al, al
pop ebx
add esp, 0x28
ret 0xc
pop edi
pop esi
pop ebp
mov dword [ebx + 0x24], 3
xor al, al
pop ebx
add esp, 0x28
ret 0xc
pop edi
pop esi
pop ebp
mov dword [ebx + 0x24], 2
xor al, al
pop ebx
add esp, 0x28
ret 0xc