Function at 0x14001e700
Capabilities:
Hash data using sha1

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov r15, rdx
mov r14, rcx
mov rax, qword [rdx]
test rax, rax
jne 0x14001e781
mov rbx, qword [rdx + 8]
test rbx, rbx
je 0x14001f3b8
mov rdi, 0xffffffffffffffff
lock xadd dword [rbx + 8], edi
cmp edi, 1
jne 0x14001f3b8
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xor esi, esi
mov qword [r15], rsi
mov qword [r15 + 8], rsi
jmp 0x14001f3b8
mov qword [rbp - 0x78], rax
mov rsi, qword [rdx + 8]
mov qword [rbp - 0x70], rsi
mov rdi, 0xffffffffffffffff
test rsi, rsi
je 0x14001e7e4
lock inc dword [rsi + 8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lock inc dword [rsi + 8]
mov eax, edi
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x14001e7ee
mov rbx, qword [rbp - 0x70]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x78], xmm0
jmp 0x14001e7ee
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0xc0], xmm1
test rsi, rsi
je 0x14001e809
lock inc dword [rsi + 8]
movaps xmm1, xmmword [rsp + 0x40]
lea rax, vtable.RSAPKCS1SignatureDeformatter.0
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor esi, esi
mov dword [rsp + 0x68], esi
movdqa xmmword [rbp + 0x120], xmm1
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x14001e83a
lock inc dword [rbx + 8]
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x50]
call fcn.140013ef0
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x14001e890
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001e890
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xc0], xmm0
mov rbx, qword [r14 + 0x228]
test rbx, rbx
je 0x14001f36c
lea rdx, str.1.2.840.113549.1.1.2
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
jne 0x14001e8bb
lea ebx, [rax + 1]
jmp 0x14001e984
lea rdx, str.1.2.840.113549.1.1.4
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
jne 0x14001e8d6
lea ebx, [rax + 2]
jmp 0x14001e984
test rbx, rbx
je 0x14001f36c
lea rdx, str.1.2.840.113549.1.1.5
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
je 0x14001e97f
test rbx, rbx
je 0x14001f36c
lea rdx, str.1.3.14.3.2.29
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
je 0x14001e97f
test rbx, rbx
je 0x14001f36c
lea rdx, str.1.2.840.113549.1.1.11
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
jne 0x14001e933
lea ebx, [rax + 5]
jmp 0x14001e984
lea rdx, str.1.2.840.113549.1.1.12
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
jne 0x14001e94b
lea ebx, [rax + 6]
jmp 0x14001e984
lea rdx, str.1.2.840.113549.1.1.13
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
jne 0x14001e963
lea ebx, [rax + 7]
jmp 0x14001e984
lea rdx, str.1.2.840.113549.1.1.14
mov rcx, rbx
call fcn.14007bfe0
test eax, eax
jne 0x14001f36c
lea ebx, [rax + 4]
jmp 0x14001e984
mov ebx, 3
mov dword [rsp + 0x68], ebx
lea r12, vtable.ByteArray.0
mov qword [rbp - 0x18], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea rdx, [rbp - 0x18]
mov rcx, r14
call fcn.14001d600
test al, al
jne 0x14001ea2c
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14001e9ec
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14001e9ec
mov rbx, qword [rbp - 8]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14001ea82
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14001ea82
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
jmp 0x14001ea82
mov qword [rbp + 0x98], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
lea rdx, [rbp + 0x98]
mov rcx, r14
call fcn.14001e1d0
test al, al
jne 0x14001eb03
lea rcx, [rbp + 0x98]
call fcn.1400108f0
nop
lea rcx, [rbp - 0x18]
call fcn.1400108f0
nop
lea rcx, [rsp + 0x50]
call fcn.140013e20
nop
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x14001eabd
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001eabd
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
nop
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14001f3b8
lock xadd dword [rbx + 8], edi
cmp edi, 1
jne 0x14001f3b8
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov qword [r15], rsi
mov qword [r15 + 8], rsi
jmp 0x14001f3b8
cmp qword [rsp + 0x58], 0
je 0x14001f326
test ebx, ebx
je 0x14001f326
cmp qword [rbp + 8], 0
je 0x14001f326
cmp qword [rbp + 0xb8], 0
je 0x14001f326
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
add ebx, 0xfffffffd
cmp ebx, 5
ja case.default.0x14001eb59
movsxd rax, ebx
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x1f3d8]
add rcx, rdx
jmp rcx
mov ecx, 0x88
call fcn.1400575d4
mov rbx, rax
test rax, rax
jne 0x14001eb82
mov r14, rsi
mov rbx, rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rbx
jmp case.default.0x14001eb59
mov dword [rax + 8], 1
lea rax, vtable.RefCountObj_class_HashAlgorithmSHA1_.0
mov qword [rbx], rax
lea r14, [rbx + 0x18]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
movups xmmword [rbx + 0x70], xmm0
mov qword [rbx + 0x80], rax
lea rax, vtable.HashAlgorithmSHA1.0
mov qword [r14], rax
mov dword [r14 + 8], 0x67452301
mov dword [r14 + 0xc], 0xefcdab89
mov dword [r14 + 0x10], 0x98badcfe
mov dword [r14 + 0x14], 0x10325476
mov dword [r14 + 0x18], 0xc3d2e1f0
mov qword [r14 + 0x20], rsi
mov qword [r14 + 0x28], rsi
mov dword [rbx + 0x10], 1
lock inc dword [rbx + 8]
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001ec2b
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
jmp case.default.0x14001eb59
mov dword [rbp + 0x180], 1
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0xd0]
call fcn.140014f30
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov qword [rax], rsi
mov qword [rax + 8], rsi
test rbx, rbx
je 0x14001ec99
lock inc dword [rbx + 8]
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001ec99
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
je case.default.0x14001eb59
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne case.default.0x14001eb59
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd0], xmm0
jmp case.default.0x14001eb59
mov dword [rbp + 0x188], 2
lea rdx, [rbp + 0x188]
lea rcx, [rbp + 0xe0]
call fcn.140014f30
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov qword [rax], rsi
mov qword [rax + 8], rsi
test rbx, rbx
je 0x14001ed51
lock inc dword [rbx + 8]
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001ed51
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
mov rbx, qword [rbp + 0xe8]
test rbx, rbx
je case.default.0x14001eb59
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne case.default.0x14001eb59
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xe0], xmm0
jmp case.default.0x14001eb59
mov dword [rsp + 0x70], 3
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xf0]
call fcn.140014f30
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov qword [rax], rsi
mov qword [rax + 8], rsi
test rbx, rbx
je 0x14001ee05
lock inc dword [rbx + 8]
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001ee05
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
mov rbx, qword [rbp + 0xf8]
test rbx, rbx
je case.default.0x14001eb59
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne case.default.0x14001eb59
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf0], xmm0
jmp case.default.0x14001eb59
mov dword [rsp + 0x74], 4
lea rdx, [rsp + 0x74]
lea rcx, [rbp + 0x100]
call fcn.140014f30
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov qword [rax], rsi
mov qword [rax + 8], rsi
test rbx, rbx
je 0x14001eeb9
lock inc dword [rbx + 8]
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001eeb9
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
mov rbx, qword [rbp + 0x108]
test rbx, rbx
je case.default.0x14001eb59
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne case.default.0x14001eb59
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x100], xmm0
jmp case.default.0x14001eb59
mov dword [rsp + 0x78], 5
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x110]
call fcn.140014f30
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov qword [rax], rsi
mov qword [rax + 8], rsi
test rbx, rbx
je 0x14001ef6d
lock inc dword [rbx + 8]
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14001ef6d
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
mov rbx, qword [rbp + 0x118]
test rbx, rbx
je case.default.0x14001eb59
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne case.default.0x14001eb59
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x110], xmm0
cmp qword [rsp + 0x30], 0
je 0x14001f2ee
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
mov ebx, eax
sar ebx, 3
mov dword [rbp - 0x80], ebx
mov qword [rbp + 0x20], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x38], xmm1
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x98]
call fcn.1400166f0
test eax, eax
je 0x14001f2a8
mov qword [rbp - 0x40], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x20]
mov rax, qword [rax + 0x20]
call qword [case.0x14001a4f5.0]
test al, al
je 0x14001f29e
mov qword [rbp - 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
movsxd rbx, ebx
mov ecx, 0x40
call fcn.1400575d4
test rax, rax
jne 0x14001f071
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
mov rax, qword [rbp + 0x18]
mov r14, qword [rbp + 0x10]
jmp 0x14001f0b7
mov dword [rax + 8], 1
lea rcx, vtable.RefCountObj_class_CArrayNoThrow_unsigned_char__unsigned_char_const____ptr64__.0
mov qword [rax], rcx
lea r14, [rax + 0x18]
mov qword [rax + 0x20], rsi
mov qword [rax + 0x28], rsi
mov qword [rax + 0x30], rsi
mov qword [rax + 0x38], rsi
lea rcx, vtable.CArrayNoThrow_unsigned_char__unsigned_char_const____ptr64_.0
mov qword [r14], rcx
mov qword [r14 + 8], rsi
mov qword [r14 + 0x20], rsi
mov qword [r14 + 0x18], rsi
mov qword [r14 + 0x10], rsi
mov dword [rax + 0x10], 1
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
test r14, r14
je 0x14001f294
mov r8, rdi
mov rdx, rbx
mov rcx, r14
call fcn.140007130
test eax, eax
je 0x14001f294
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], rsi
mov r13, qword [rbp - 0x20]
mov r12, rbx
sub r12, r13
test r13, r13
je 0x14001f161
cmp rbx, r12
jbe 0x14001f294
mov rax, r13
sub rax, rbx
add rax, r12
test rax, rax
jle 0x14001f13c
add rbx, rax
lfence
mov r8, rdi
mov rdx, rbx
mov r14, qword [rbp - 0x60]
mov rcx, r14
call fcn.140007130
test eax, eax
je 0x14001f294
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x50], rsi
mov rcx, qword [r14 + 8]
add rcx, r12
mov rdx, qword [rbp - 0x38]
test rdx, rdx
jne 0x14001f151
mov rdx, rsi
jmp 0x14001f159
mov rdx, qword [rdx + 8]
add rdx, qword [rbp - 0x28]
mov r8, r13
call fcn.140053490
lea rax, vtable.ByteArray.0
mov qword [rbp + 0x70], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x88], xmm1
mov qword [rbp + 0x48], rax
movdqu xmmword [rbp + 0x50], xmm0
movdqu xmmword [rbp + 0x60], xmm1
mov byte [rsp + 0x20], 1
lea r9, [rbp + 0x70]
mov r13d, dword [rbp - 0x80]
mov r8d, r13d
lea rdx, [rbp - 0x18]
mov r12, qword [rsp + 0x30]
mov rcx, r12
call fcn.1400167d0
test al, al
je 0x14001f280
mov byte [rsp + 0x20], 0
lea r9, [rbp + 0x48]
mov r8d, r13d
lea rdx, [rbp - 0x18]
mov rcx, r12
call fcn.1400167d0
test al, al
je 0x14001f280
mov r8, qword [rbp + 0x90]
cmp r8, rbx
sete al
jne 0x14001f20c
mov rcx, qword [rbp + 0x78]
test rcx, rcx
jne 0x14001f1f3
mov rcx, rsi
jmp 0x14001f1fe
mov rcx, qword [rcx + 8]
add rcx, qword [rbp + 0x88]
mov rdx, qword [r14 + 8]
call fcn.14007bcd0
test eax, eax
sete al
test al, al
jne 0x14001f24a
mov r8, qword [rbp + 0x68]
cmp r8, rbx
sete al
jne 0x14001f241
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x14001f230
mov rcx, qword [rcx + 8]
mov rsi, qword [rbp + 0x60]
add rsi, rcx
mov rdx, qword [r14 + 8]
mov rcx, rsi
call fcn.14007bcd0
test eax, eax
sete al
test al, al
jne 0x14001f24a
xor sil, sil
jmp 0x14001f24d
mov sil, 1
lea rcx, [rbp + 0x48]
call fcn.1400108f0
nop
lea rcx, [rbp + 0x70]
call fcn.1400108f0
nop
lea rcx, [rbp - 0x68]
call fcn.1400108f0
nop
lea rcx, [rbp - 0x40]
call fcn.1400108f0
nop
lea rcx, [rbp + 0x20]
call fcn.1400108f0
jmp 0x14001f2b4
lea rcx, [rbp + 0x48]
call fcn.1400108f0
nop
lea rcx, [rbp + 0x70]
call fcn.1400108f0
nop
lea rcx, [rbp - 0x68]
call fcn.1400108f0
nop
lea rcx, [rbp - 0x40]
call fcn.1400108f0
nop
lea rcx, [rbp + 0x20]
call fcn.1400108f0
xor sil, sil
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14001f329
lock xadd dword [rax + 8], edi
cmp edi, 1
jne 0x14001f329
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
jmp 0x14001f329
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14001f326
lock xadd dword [rax + 8], edi
cmp edi, 1
jne 0x14001f326
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
xor sil, sil
lea rcx, [rbp + 0x98]
call fcn.1400108f0
nop
lea rcx, [rbp - 0x18]
call fcn.1400108f0
nop
lea rcx, [rsp + 0x50]
call fcn.140013e20
nop
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x14001f35e
mov rcx, rbx
call fcn.140005710
nop
mov rcx, r15
call fcn.1400070b0
movzx eax, sil
jmp 0x14001f3ba
lea rcx, [rsp + 0x50]
call fcn.140013e20
nop
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x14001f3b0
lock xadd dword [rbx + 8], edi
cmp edi, 1
jne 0x14001f3b0
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14001a4f5.0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14001a4f5.0]
nop
mov rcx, r15
call fcn.1400070b0
xor al, al
mov rbx, qword [rsp + 0x270]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret