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

Disassembly:
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x70
mov rbx, rdx
mov rdi, rcx
test rdx, rdx
jne 0x140192350
xor eax, eax
add rsp, 0x70
pop rdi
pop rbx
pop rbp
ret
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r15
call fcn.140190ee0
mov rdx, rax
xor r9d, r9d
mov r8d, 0x2a0
mov rcx, rdi
call qword [sym.imp.CoreFoundation.dll__CFRuntimeCreateInstance]
mov rcx, rbx
mov qword [rbp - 0x40], rax
mov r15, rax
call qword [sym.imp.CoreFoundation.dll_CFDataGetBytePtr]
mov rcx, rbx
mov qword [rbp + 0x30], rax
call qword [sym.imp.CoreFoundation.dll_CFDataGetLength]
mov qword [rbp + 0x38], rax
call fcn.14018ff70
xor edx, edx
lea rcx, str.OTRSession
call qword [sym.imp.libdispatch.dll_dispatch_queue_create]
xor edi, edi
mov word [r15 + 0x2a8], 1
mov qword [r15 + 0x80], rax
xor edx, edx
lea rax, [r15 + 0x88]
mov qword [r15 + 0x18], rdi
mov rcx, rax
mov qword [r15 + 0x20], rdi
mov r8d, 0x200
mov qword [r15 + 0x50], rdi
mov qword [r15 + 0x58], rdi
mov qword [r15 + 0x70], rdi
mov qword [r15 + 0x68], rdi
mov qword [r15 + 0x38], rdi
mov qword [r15 + 0x40], rdi
mov word [r15 + 0x288], di
mov qword [r15 + 0x2a0], rdi
mov byte [r15 + 0x298], dil
mov qword [r15 + 0x290], rdi
mov qword [rbp - 0x38], rax
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbp + 0x38]
cmp rax, 1
jb 0x140193ac0
mov rdx, qword [rbp + 0x30]
movzx ebx, byte [rdx]
inc rdx
dec rax
mov byte [rbp + 0x28], bl
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rax
cmp bl, 6
ja 0x140193ac0
lea rsi, [r15 + 0x10]
test rsi, rsi
je 0x140193ac0
cmp rax, 4
jb 0x140193ac0
movzx ecx, byte [rdx]
lea r8, [rbp + 0x38]
movzx eax, byte [rdx + 1]
xor r9d, r9d
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 3]
shl ecx, 8
lea rdx, [rbp + 0x30]
or ecx, eax
mov dword [rsi], ecx
mov rcx, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
add qword [rbp + 0x30], 4
sub qword [rbp + 0x38], 4
mov rcx, qword [rcx]
call fcn.14018d550
mov qword [r15 + 0x18], rax
test rax, rax
je 0x140193ac0
mov rcx, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
lea r8, [rbp + 0x38]
xor r9d, r9d
lea rdx, [rbp + 0x30]
mov rcx, qword [rcx]
call fcn.14018e720
mov qword [r15 + 0x20], rax
test rax, rax
je 0x140193ac0
cmp qword [rbp + 0x38], 0x10
jbe 0x140193ac0
mov rax, qword [rbp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [r15 + 0x28], xmm0
mov r8, qword [rbp + 0x30]
mov r11, qword [rbp + 0x38]
add r8, 0x10
add r11, 0xfffffffffffffff0
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r11
cmp r11, 1
jb 0x1401925b8
movzx eax, byte [r8]
inc r8
dec r11
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r11
test al, al
je 0x1401925b8
mov rax, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
mov r14, qword [rax]
cmp r11, 4
jb 0x1401925aa
movzx ebx, byte [r8]
lea rax, [r8 + 4]
movzx edx, byte [r8 + 1]
add r11, 0xfffffffffffffffc
movzx r9d, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
shl ebx, 8
or ebx, edx
mov qword [rbp + 0x30], rax
shl ebx, 8
or ebx, r9d
mov qword [rbp + 0x38], r11
shl ebx, 8
or rbx, r10
cmp rbx, r11
ja 0x1401925a6
xor edx, edx
mov rcx, r14
call qword [sym.imp.CoreFoundation.dll_CFDataCreateMutable]
mov rdx, qword [rbp + 0x30]
mov r8, rbx
mov rcx, rax
mov rdi, rax
call qword [sym.imp.CoreFoundation.dll_CFDataAppendBytes]
add qword [rbp + 0x30], rbx
sub qword [rbp + 0x38], rbx
movzx ebx, byte [rbp + 0x28]
mov qword [r15 + 0x38], rdi
xor edi, edi
mov r8, qword [rbp + 0x30]
mov r11, qword [rbp + 0x38]
cmp bl, 2
jb 0x140192660
cmp r11, 1
jb 0x140192660
movzx eax, byte [r8]
inc r8
dec r11
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r11
test al, al
je 0x140192660
mov rax, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
mov r14, qword [rax]
cmp r11, 4
jb 0x140192654
movzx ebx, byte [r8]
lea rax, [r8 + 4]
movzx edx, byte [r8 + 1]
add r11, 0xfffffffffffffffc
movzx r9d, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
shl ebx, 8
or ebx, edx
mov qword [rbp + 0x30], rax
shl ebx, 8
or ebx, r9d
mov qword [rbp + 0x38], r11
shl ebx, 8
or rbx, r10
cmp rbx, r11
ja 0x140192650
xor edx, edx
mov rcx, r14
call qword [sym.imp.CoreFoundation.dll_CFDataCreateMutable]
mov rdx, qword [rbp + 0x30]
mov r8, rbx
mov rcx, rax
mov rdi, rax
call qword [sym.imp.CoreFoundation.dll_CFDataAppendBytes]
add qword [rbp + 0x30], rbx
sub qword [rbp + 0x38], rbx
movzx ebx, byte [rbp + 0x28]
mov qword [r15 + 0x40], rdi
mov r8, qword [rbp + 0x30]
mov r11, qword [rbp + 0x38]
cmp bl, 3
jae 0x140192698
cmp r11, 1
jb 0x140193abe
movzx eax, byte [r8]
dec r11
inc r8
mov qword [rbp + 0x38], r11
mov qword [rbp + 0x30], r8
test al, al
je 0x140192698
cmp dword [rsi], 0
jne 0x140192698
mov dword [rsi], 4
mov r8, qword [rbp + 0x30]
mov r11, qword [rbp + 0x38]
lea r9, [r15 + 0x48]
test r9, r9
je 0x140193abe
cmp r11, 4
jb 0x140193abe
movzx eax, byte [r8 + 1]
movzx ecx, byte [r8]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 3]
shl ecx, 8
or ecx, eax
mov dword [r9], ecx
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add rdx, 4
sub rax, 4
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rax
cmp dword [r9], 0
jbe 0x140192742
mov rcx, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, qword [rcx]
call fcn.140197ed0
mov qword [r15 + 0x50], rax
test rax, rax
je 0x140193abe
mov rcx, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, qword [rcx]
call fcn.140197ed0
mov qword [r15 + 0x58], rax
test rax, rax
je 0x140193abe
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
cmp rax, 1
jb 0x140193abe
movzx r9d, byte [rdx]
lea r8, [r15 + 0x60]
inc rdx
dec rax
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rax
test r8, r8
je 0x140193abe
cmp rax, 4
jb 0x140193abe
movzx eax, byte [rdx + 1]
movzx ecx, byte [rdx]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 3]
shl ecx, 8
or ecx, eax
mov dword [r8], ecx
mov rdx, qword [rbp + 0x30]
sub qword [rbp + 0x38], 4
add rdx, 4
mov qword [rbp + 0x30], rdx
cmp bl, 5
jae 0x1401927ba
mov eax, dword [r8]
test eax, eax
je 0x140192812
cmp eax, 1
jbe 0x1401927ea
jmp 0x1401927c6
cmp r9b, 1
jb 0x140192812
cmp r9b, 2
jb 0x1401927ea
mov rcx, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, qword [rcx]
call fcn.1401981d0
mov qword [r15 + 0x68], rax
test rax, rax
je 0x140193abe
mov rcx, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, qword [rcx]
call fcn.1401981d0
mov qword [r15 + 0x70], rax
test rax, rax
je 0x140193abe
mov rdx, qword [rbp + 0x30]
mov rax, qword [r15 + 0x50]
lea r9, [0x14037e5e0]
mov r12, qword [r15 + 0x70]
xor edi, edi
mov qword [rbp - 0x30], rax
mov esi, edi
mov r13d, edi
test rax, rax
je 0x14019299b
test r12, r12
je 0x14019299b
mov r14d, edi
lea rbx, [r15 + 0x88]
nop dword [rax + rax]
mov edi, r14d
add r15, 0x88
shl rdi, 7
mov rcx, rax
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x1401928a8
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x140192907
test rsi, rsi
jne 0x1401928ed
mov dl, 1
xor ecx, ecx
cmp rcx, 0x14
jae 0x1401928c7
movzx eax, byte [rbx + rcx]
test al, al
sete dl
inc rcx
test al, al
je 0x1401928b1
test dl, dl
je 0x1401928ed
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401928e7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x1401928d0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x14019290a
mov rax, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140192850
mov r13, r15
test r13, r13
jne 0x14019297b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x14019297d
xor edi, edi
lea r8, [r13 + 0x78]
test r8, r8
je 0x140193ac0
mov rdx, qword [rbp + 0x30]
lea r9, [0x14037e5e0]
mov r15, qword [rbp - 0x40]
jmp 0x14019299e
mov r8, r9
cmp qword [rbp + 0x38], 8
jb 0x140193ac0
movzx eax, byte [rdx + 1]
mov rsi, rdi
movzx ecx, byte [rdx]
mov r13, rdi
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 7]
shl rcx, 8
or rcx, rax
mov qword [r8], rcx
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add r8, 8
sub rax, 8
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rax
mov rcx, qword [r15 + 0x50]
mov r12, qword [r15 + 0x70]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x140192b8f
test r12, r12
je 0x140192b8f
mov r14d, edi
lea rbx, [r15 + 0x88]
mov edi, r14d
add r15, 0x88
shl rdi, 7
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x140192a97
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x140192af7
test rsi, rsi
jne 0x140192add
mov dl, 1
xor ecx, ecx
cmp rcx, 0x14
jae 0x140192ab6
movzx eax, byte [rbx + rcx]
test al, al
sete dl
inc rcx
test al, al
je 0x140192aa0
test dl, dl
je 0x140192add
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x140192ad7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x140192ac0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x140192afa
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140192a42
mov r13, r15
test r13, r13
jne 0x140192b6b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x140192b6d
xor edi, edi
lea rdx, [r13 + 0x70]
test rdx, rdx
je 0x140193ac0
mov r8, qword [rbp + 0x30]
lea r9, [0x14037e5e0]
mov rax, qword [rbp + 0x38]
mov r15, qword [rbp - 0x40]
jmp 0x140192b92
mov rdx, r9
cmp rax, 8
jb 0x140193ac0
movzx eax, byte [r8 + 1]
mov rsi, rdi
movzx ecx, byte [r8]
mov r13, rdi
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 7]
shl rcx, 8
or rcx, rax
mov qword [rdx], rcx
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add r8, 8
sub rax, 8
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rax
mov rcx, qword [r15 + 0x50]
mov r12, qword [r15 + 0x68]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x140192d8f
test r12, r12
je 0x140192d8f
mov r14d, edi
lea rbx, [r15 + 0x88]
nop dword [rax]
mov edi, r14d
add r15, 0x88
shl rdi, 7
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x140192c95
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x140192cf7
test rsi, rsi
jne 0x140192cdd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x140192cb6
movzx eax, byte [rbx + rcx]
test al, al
sete dl
inc rcx
test al, al
je 0x140192ca0
test dl, dl
je 0x140192cdd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x140192cd7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x140192cc0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x140192cfa
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140192c40
mov r13, r15
test r13, r13
jne 0x140192d6b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x140192d6d
xor edi, edi
lea rdx, [r13 + 0x78]
test rdx, rdx
je 0x140193ac0
mov r8, qword [rbp + 0x30]
lea r9, [0x14037e5e0]
mov rax, qword [rbp + 0x38]
mov r15, qword [rbp - 0x40]
jmp 0x140192d92
mov rdx, r9
cmp rax, 8
jb 0x140193ac0
movzx eax, byte [r8 + 1]
mov rsi, rdi
movzx ecx, byte [r8]
mov r13, rdi
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 7]
shl rcx, 8
or rcx, rax
mov qword [rdx], rcx
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add r8, 8
sub rax, 8
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rax
mov rcx, qword [r15 + 0x50]
mov r12, qword [r15 + 0x68]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x140192f8f
test r12, r12
je 0x140192f8f
mov r14d, edi
lea rbx, [r15 + 0x88]
nop dword [rax]
mov edi, r14d
add r15, 0x88
shl rdi, 7
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x140192e95
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x140192ef7
test rsi, rsi
jne 0x140192edd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x140192eb6
movzx eax, byte [rbx + rcx]
test al, al
sete dl
inc rcx
test al, al
je 0x140192ea0
test dl, dl
je 0x140192edd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x140192ed7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x140192ec0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x140192efa
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140192e40
mov r13, r15
test r13, r13
jne 0x140192f6b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x140192f6d
xor edi, edi
lea rdx, [r13 + 0x70]
test rdx, rdx
je 0x140193ac0
mov r8, qword [rbp + 0x30]
lea r9, [0x14037e5e0]
mov rax, qword [rbp + 0x38]
mov r15, qword [rbp - 0x40]
jmp 0x140192f92
mov rdx, r9
cmp rax, 8
jb 0x140193ac0
movzx eax, byte [r8 + 1]
mov rsi, rdi
movzx ecx, byte [r8]
mov r13, rdi
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 7]
shl rcx, 8
or rcx, rax
mov qword [rdx], rcx
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add r8, 8
sub rax, 8
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rax
mov rcx, qword [r15 + 0x58]
mov r12, qword [r15 + 0x70]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x14019318f
test r12, r12
je 0x14019318f
mov r14d, edi
lea rbx, [r15 + 0x88]
nop dword [rax]
mov edi, r14d
add r15, 0x88
shl rdi, 7
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x140193095
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x1401930f7
test rsi, rsi
jne 0x1401930dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401930b6
movzx eax, byte [rcx + rbx]
test al, al
sete dl
inc rcx
test al, al
je 0x1401930a0
test dl, dl
je 0x1401930dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401930d7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x1401930c0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x1401930fa
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140193040
mov r13, r15
test r13, r13
jne 0x14019316b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x14019316d
xor edi, edi
lea rdx, [r13 + 0x78]
test rdx, rdx
je 0x140193ac0
mov r8, qword [rbp + 0x30]
lea r9, [0x14037e5e0]
mov rax, qword [rbp + 0x38]
mov r15, qword [rbp - 0x40]
jmp 0x140193192
mov rdx, r9
cmp rax, 8
jb 0x140193ac0
movzx eax, byte [r8 + 1]
mov rsi, rdi
movzx ecx, byte [r8]
mov r13, rdi
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 7]
shl rcx, 8
or rcx, rax
mov qword [rdx], rcx
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add r8, 8
sub rax, 8
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rax
mov rcx, qword [r15 + 0x58]
mov r12, qword [r15 + 0x70]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x14019338f
test r12, r12
je 0x14019338f
mov r14d, edi
lea rbx, [r15 + 0x88]
nop dword [rax]
mov edi, r14d
add r15, 0x88
shl rdi, 7
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x140193295
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x1401932f7
test rsi, rsi
jne 0x1401932dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401932b6
movzx eax, byte [rbx + rcx]
test al, al
sete dl
inc rcx
test al, al
je 0x1401932a0
test dl, dl
je 0x1401932dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401932d7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x1401932c0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x1401932fa
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140193240
mov r13, r15
test r13, r13
jne 0x14019336b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x14019336d
xor edi, edi
lea rdx, [r13 + 0x70]
test rdx, rdx
je 0x140193ac0
mov r8, qword [rbp + 0x30]
lea r9, [0x14037e5e0]
mov rax, qword [rbp + 0x38]
mov r15, qword [rbp - 0x40]
jmp 0x140193392
mov rdx, r9
cmp rax, 8
jb 0x140193ac0
movzx eax, byte [r8 + 1]
mov rsi, rdi
movzx ecx, byte [r8]
mov r13, rdi
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 7]
shl rcx, 8
or rcx, rax
mov qword [rdx], rcx
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add rdx, 8
sub rax, 8
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rax
mov rcx, qword [r15 + 0x58]
mov r12, qword [r15 + 0x68]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x14019358f
test r12, r12
je 0x14019358f
mov r14d, edi
lea rbx, [r15 + 0x88]
nop dword [rax]
mov edi, r14d
add r15, 0x88
shl rdi, 7
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x140193495
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x1401934f7
test rsi, rsi
jne 0x1401934dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401934b6
movzx eax, byte [rcx + rbx]
test al, al
sete dl
inc rcx
test al, al
je 0x1401934a0
test dl, dl
je 0x1401934dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401934d7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x1401934c0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x1401934fa
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140193440
mov r13, r15
test r13, r13
jne 0x14019356b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x14019356d
xor edi, edi
lea r8, [r13 + 0x78]
test r8, r8
je 0x140193ac0
mov rdx, qword [rbp + 0x30]
lea r9, [0x14037e5e0]
mov rax, qword [rbp + 0x38]
mov r15, qword [rbp - 0x40]
jmp 0x140193592
mov r8, r9
cmp rax, 8
jb 0x140193ac0
movzx eax, byte [rdx + 1]
mov rsi, rdi
movzx ecx, byte [rdx]
mov r13, rdi
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 7]
shl rcx, 8
or rcx, rax
mov qword [r8], rcx
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add rdx, 8
sub rax, 8
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rax
mov rcx, qword [r15 + 0x58]
mov r12, qword [r15 + 0x68]
mov qword [rbp - 0x30], rcx
test rcx, rcx
je 0x140193786
test r12, r12
je 0x140193786
mov r14d, edi
lea rbx, [r15 + 0x88]
nop word [rax + rax]
mov edi, r14d
add r15, 0x88
shl rdi, 7
add r15, rdi
call fcn.140197ba0
mov rdx, rax
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, r15
call fcn.140198360
test rax, rax
jne 0x140193695
mov rcx, r12
call fcn.140197ba0
mov rcx, qword [rbp - 0x40]
mov rdx, rax
add rcx, 0x9c
mov r8d, reloc.OLEAUT32.dll_SafeArrayLock
add rcx, rdi
call fcn.140198360
test rax, rax
je 0x1401936f7
test rsi, rsi
jne 0x1401936dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401936b6
movzx eax, byte [rcx + rbx]
test al, al
sete dl
inc rcx
test al, al
je 0x1401936a0
test dl, dl
je 0x1401936dd
mov dl, 1
xor ecx, ecx
nop
cmp rcx, 0x14
jae 0x1401936d7
movzx eax, byte [rcx + rbx + 0x14]
test al, al
sete dl
inc rcx
test al, al
je 0x1401936c0
test dl, dl
cmovne rsi, r15
inc r14d
sub rbx, 0xffffffffffffff80
cmp r14d, 4
jge 0x1401936fa
mov rcx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x40]
jmp 0x140193640
mov r13, r15
test r13, r13
jne 0x14019376b
mov r13, qword [rbp - 0x38]
test rsi, rsi
mov rcx, qword [rbp - 0x30]
cmovne r13, rsi
call fcn.140197ba0
mov rcx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x10], eax
call fcn.140197ba0
mov rcx, qword [rbp - 0x30]
lea r10, [r13 + 0x60]
xor edi, edi
lea r9, [r13 + 0x28]
lea r8, [r13 + 0x3c]
mov rdx, r12
movups xmm0, xmmword [rax]
movups xmmword [r13 + 0x14], xmm0
mov eax, dword [rax + 0x10]
mov dword [r13 + 0x24], eax
lea rax, [r13 + 0x4c]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
mov qword [r13 + 0x70], rdi
mov qword [r13 + 0x78], rdi
call fcn.140197c00
jmp 0x14019376d
xor edi, edi
lea r9, [r13 + 0x70]
test r9, r9
je 0x140193ac0
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
mov r15, qword [rbp - 0x40]
cmp rax, 8
jb 0x140193ac0
movzx eax, byte [rdx + 1]
movzx ecx, byte [rdx]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [rdx + 7]
shl rcx, 8
or rcx, rax
mov qword [r9], rcx
mov r8, qword [rbp + 0x30]
mov r11, qword [rbp + 0x38]
add r8, 8
mov rax, qword [sym.imp.CoreFoundation.dll_kCFAllocatorDefault]
add r11, 0xfffffffffffffff8
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], r11
mov rsi, qword [rax]
cmp r11, 4
jb 0x14019386a
movzx ebx, byte [r8]
lea rax, [r8 + 4]
movzx edx, byte [r8 + 1]
add r11, 0xfffffffffffffffc
movzx r9d, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
shl ebx, 8
or ebx, edx
mov qword [rbp + 0x30], rax
shl ebx, 8
or ebx, r9d
mov qword [rbp + 0x38], r11
shl ebx, 8
or rbx, r10
cmp rbx, r11
ja 0x14019386a
xor edx, edx
mov rcx, rsi
call qword [sym.imp.CoreFoundation.dll_CFDataCreateMutable]
mov rdx, qword [rbp + 0x30]
mov r8, rbx
mov rcx, rax
mov rdi, rax
call qword [sym.imp.CoreFoundation.dll_CFDataAppendBytes]
add qword [rbp + 0x30], rbx
sub qword [rbp + 0x38], rbx
mov qword [r15 + 0x78], rdi
test rdi, rdi
je 0x140193abe
mov rdx, qword [rbp + 0x38]
cmp rdx, 1
jb 0x140193abe
mov rax, qword [rbp + 0x30]
dec rdx
movzx r8d, byte [rbp + 0x28]
movzx ecx, byte [rax]
inc rax
test cl, cl
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rdx
setne al
mov byte [r15 + 0x288], al
cmp r8b, 4
jb 0x1401938e0
mov rdx, qword [rbp + 0x38]
cmp rdx, 1
jb 0x140193abe
mov rax, qword [rbp + 0x30]
dec rdx
movzx ecx, byte [rax]
inc rax
mov qword [rbp + 0x30], rax
test cl, cl
mov qword [rbp + 0x38], rdx
setne al
mov byte [r15 + 0x289], al
cmp r8b, 5
jb 0x140193915
mov rdx, qword [rbp + 0x38]
cmp rdx, 1
jb 0x140193abe
mov rax, qword [rbp + 0x30]
dec rdx
movzx ecx, byte [rax]
inc rax
mov qword [rbp + 0x30], rax
test cl, cl
mov qword [rbp + 0x38], rdx
setne al
mov byte [r15 + 0x28a], al
cmp r8b, 6
jb 0x140193ab9
lea r8, [r15 + 0x290]
test r8, r8
je 0x140193abe
cmp qword [rbp + 0x38], 8
jb 0x140193abe
mov rcx, qword [rbp + 0x30]
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
or rdx, rax
mov qword [r8], rdx
mov rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
add rdx, 8
add r8, 0xfffffffffffffff8
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], r8
cmp r8, 1
jb 0x140193abe
movzx ecx, byte [rdx]
lea rax, [rdx + 1]
mov qword [rbp + 0x30], rax
test cl, cl
lea rax, [r8 - 1]
mov qword [rbp + 0x38], rax
setne al
mov byte [r15 + 0x298], al
mov r8, qword [rbp + 0x38]
cmp r8, 8
jb 0x140193abe
mov rcx, qword [rbp + 0x30]
add r8, 0xfffffffffffffff8
movzx eax, byte [rcx + 1]
movzx edx, byte [rcx]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
or rdx, rax
mov qword [rbp + 0x38], r8
lea rax, [rcx + 8]
mov qword [rbp + 0x30], rax
cmp r8, 1
jb 0x140193abe
movzx ecx, byte [rax]
inc rax
mov qword [rbp + 0x30], rax
test cl, cl
lea rax, [r8 - 1]
mov qword [rbp + 0x38], rax
setne al
mov byte [r15 + 0x2a8], al
cmp qword [rbp + 0x38], 1
jb 0x140193abe
mov rax, qword [rbp + 0x30]
xorps xmm0, xmm0
cmp byte [rax], 0
setne al
mov byte [r15 + 0x2a9], al
test rdx, rdx
js 0x140193a9b
cvtsi2sd xmm0, rdx
mov rdi, r15
movsd qword [r15 + 0x2a0], xmm0
jmp 0x140193aca
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
movsd qword [r15 + 0x2a0], xmm0
mov rdi, r15
jmp 0x140193aca
xor edi, edi
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.CoreFoundation.dll_CFRelease]
mov r15, qword [rsp + 0x50]
mov rax, rdi
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
add rsp, 0x70
pop rdi
pop rbx
pop rbp
ret