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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov r15, r9
mov r14d, r8d
mov ebp, edx
mov rax, qword [0x140191d78]
xor rax, rsp
mov qword [rsp + 0x90], rax
movq qword [rsp + 0x80], xmm0
mov rdx, qword [rsp + 0x100]
movq rax, xmm0
mov rcx, rax
shr rcx, 0x20
test ecx, ecx
js 0x140041e16
mov dword [rdx], 0
jmp 0x140041e29
mov dword [rdx], 1
and ecx, 0x7fffffff
mov dword [rsp + 0x84], ecx
mov rbx, qword [rsp + 0x108]
mov edx, ecx
and edx, 0x7ff00000
cmp edx, 0x7ff00000
jne 0x140041ec6
mov dword [r15], 0x270f
and ecx, 0xfffff
or ecx, eax
mov rax, qword [0x140194b00]
je 0x140041f47
cmp rax, 1
ja 0x140041e9b
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140041e9b
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
mov rsi, qword [0x140194ac0]
test rsi, rsi
je 0x14004201f
mov rax, qword [rsi]
mov qword [0x140194ac0], rax
jmp 0x14004210e
movq xmm0, qword [rsp + 0x80]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x140041edf
jnp 0x140041fac
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0x8c]
call fcn.140040a70
mov r12, rax
mov edx, dword [rsp + 0x84]
mov eax, edx
shr eax, 0x14
and eax, 0x7ff
je 0x140042053
movabs rdx, 0xfffffffffffff
and rdx, qword [rsp + 0x80]
movabs rcx, 0x3ff0000000000000
or rcx, rdx
add eax, 0xfffffc01
mov dword [rsp + 0x28], 0
jmp 0x1400421c1
cmp rax, 1
ja 0x140041f81
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140041f81
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
mov rsi, qword [0x140194ac0]
test rsi, rsi
je 0x14004208b
mov rax, qword [rsi]
mov qword [0x140194ac0], rax
jmp 0x1400424ee
mov dword [r15], 1
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140041ff4
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140041ff4
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
mov rsi, qword [0x140194ac0]
test rsi, rsi
je 0x1400420bf
mov rax, qword [rsi]
mov qword [0x140194ac0], rax
jmp 0x140042590
mov rsi, qword [0x140191060]
lea rax, [0x140194b20]
mov rcx, rsi
sub rcx, rax
cmp rcx, 0x8e7
jg 0x1400420f3
mov rax, rsi
add rax, 0x20
mov qword [0x140191060], rax
jmp 0x140042100
mov eax, dword [rsp + 0x88]
add eax, dword [rsp + 0x8c]
cmp eax, 0xfffffbef
jl 0x14004218a
mov ecx, 0xfffffc0e
sub ecx, eax
shl edx, cl
mov edi, dword [rsp + 0x80]
lea ecx, [rax + 0x412]
shr edi, cl
or edi, edx
jmp 0x14004219a
mov rsi, qword [0x140191060]
lea rax, [0x140194b20]
mov rcx, rsi
sub rcx, rax
cmp rcx, 0x8e7
jg 0x1400424d3
mov rax, rsi
add rax, 0x20
mov qword [0x140191060], rax
jmp 0x1400424e0
mov rsi, qword [0x140191060]
lea rax, [0x140194b20]
mov rcx, rsi
sub rcx, rax
cmp rcx, 0x8e7
jg 0x140042575
mov rax, rsi
add rax, 0x20
mov qword [0x140191060], rax
jmp 0x140042582
mov ecx, 0x20
call fcn.140022530
mov rsi, rax
movabs rax, 0x100000000
mov qword [rsi + 8], rax
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x14004214f
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x14004214f
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsi + 0x10], 0
movabs rax, 0x4e614e00000000
mov qword [rsi], rax
lea rdi, [rsi + 4]
test rbx, rbx
je 0x140044a5b
add rsi, 7
mov qword [rbx], rsi
jmp 0x140044a5b
mov edi, dword [rsp + 0x80]
mov ecx, 0xfffffbee
sub ecx, eax
shl edi, cl
mov ecx, edi
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
movq rdx, xmm0
movabs rcx, 0xfe10000000000000
add rcx, rdx
add eax, 0xffffffff
mov dword [rsp + 0x28], 1
movq xmm0, rcx
addsd xmm0, qword [0x140156b60]
mulsd xmm0, qword [str.aCoc]
addsd xmm0, qword [0x140156b70]
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140156b78]
addsd xmm1, xmm0
cvttsd2si edi, xmm1
xorpd xmm0, xmm0
ucomisd xmm0, xmm1
seta cl
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
ucomisd xmm1, xmm0
setp dl
setne bl
or bl, dl
and bl, cl
movzx ecx, bl
mov rbx, rdi
sub ebx, ecx
mov esi, 1
cmp ebx, 0x16
ja 0x14004224e
movsxd rcx, ebx
lea rdx, [0x140156bb0]
movsd xmm0, qword [rdx + rcx*8]
mov dword [rsp + 0x30], 0
ucomisd xmm0, qword [rsp + 0x80]
jbe 0x140042256
add ebx, 0xffffffff
jmp 0x140042256
mov dword [rsp + 0x30], 1
mov ecx, dword [rsp + 0x8c]
sub ecx, eax
lea r8d, [rcx - 1]
sub esi, ecx
xor r9d, r9d
test ecx, ecx
cmovle r8d, r9d
cmovg esi, r9d
test ebx, ebx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x78], r15
js 0x140042290
add r8d, ebx
mov dword [rsp + 0x60], 0
mov r9d, ebx
jmp 0x14004229a
sub esi, ebx
mov ecx, ebx
neg ecx
mov dword [rsp + 0x60], ecx
xor edi, edi
cmp ebp, 9
cmova ebp, edi
cmp ebp, 6
setl r15b
lea ecx, [rbp - 4]
cmp ebp, 5
cmovle ecx, ebp
mov dword [rsp + 0x48], 1
mov ebp, 0xffffffff
cmp ecx, 5
mov qword [rsp + 0x68], rcx
ja case.default.0x1400422df
lea rax, [0x140044b48]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
xor eax, eax
mov r13d, 0xffffffff
jmp rcx
mov dword [rsp + 0x48], 0
test r14d, r14d
mov r13d, 1
cmovg r13d, r14d
mov eax, r13d
mov ebp, r13d
mov r14d, r13d
cmp eax, 0x1c
jae 0x140042334
jmp 0x140042351
mov r13d, 0xffffffff
cmp eax, 0x1c
jae 0x140042334
jmp 0x140042351
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x20]
mov ebp, eax
add ebp, r14d
lea r13d, [rax + r14 + 1]
mov eax, r13d
js 0x140042351
cmp eax, 0x1c
jb 0x140042351
cdqe
xor edi, edi
mov ecx, 4
nop dword [rax]
add edi, 1
add ecx, ecx
movsxd rdx, ecx
add rdx, 0x18
cmp rdx, rax
jbe 0x140042340
mov eax, r14d
mov dword [rsp + 0x74], r9d
mov r14d, r8d
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x3c], eax
mov ecx, edi
call fcn.1400409a0
mov dword [rax], edi
mov qword [rsp + 0x58], rax
lea rax, [rax + 4]
mov qword [rsp + 0x50], rax
cmp r13d, 0xf
setb al
and al, r15b
cmp al, 1
jne 0x1400429f7
mov r8d, ebp
movsd xmm0, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x20]
test ebx, ebx
jle 0x140042467
mov ecx, ebx
and ecx, 0xf
lea rdx, [0x140156bb0]
mov eax, ebx
shr eax, 4
mov ebp, 2
movapd xmm1, xmm0
test bh, 1
je 0x1400423df
divsd xmm1, qword [0x140156b80]
and eax, 0xf
movsd qword [rsp + 0x80], xmm1
mov ebp, 3
movsd xmm2, qword [rdx + rcx*8]
test eax, eax
je 0x140042405
lea rcx, [0x140156c70]
nop
test al, 1
je 0x1400423fb
add ebp, 1
mulsd xmm2, qword [rcx]
sar eax, 1
add rcx, 8
test eax, eax
jne 0x1400423f0
divsd xmm1, xmm2
movsd qword [rsp + 0x80], xmm1
xor edx, edx
cmp dword [rsp + 0x30], 0
je 0x14004261c
test r13d, r13d
jle 0x14004261c
movsd xmm2, qword [0x1401556a0]
ucomisd xmm2, xmm1
jbe 0x14004261c
test r8d, r8d
jle 0x1400429eb
mulsd xmm1, qword [0x140156b88]
mov rax, qword [rsp + 0x20]
lea eax, [rax - 1]
movsd qword [rsp + 0x80], xmm1
add ebp, 1
mov ecx, r8d
jmp 0x140042624
mov ebp, 2
test ebx, ebx
je 0x14004260b
mov edx, ebx
neg edx
mov eax, edx
and eax, 0xf
lea rcx, [0x140156bb0]
movsd xmm1, qword [rcx + rax*8]
mulsd xmm1, xmm0
movsd qword [rsp + 0x80], xmm1
mov eax, edx
sar eax, 4
je 0x140042414
mov ebp, 2
lea rcx, [0x140156c70]
nop dword [rax]
test al, 1
je 0x1400424c4
add ebp, 1
mulsd xmm1, qword [rcx]
movsd qword [rsp + 0x80], xmm1
sar eax, 1
add rcx, 8
test eax, eax
jne 0x1400424b0
jmp 0x140042414
mov ecx, 0x20
call fcn.140022530
mov rsi, rax
movabs rax, 0x100000000
mov qword [rsi + 8], rax
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x14004252f
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x14004252f
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsi + 0x10], 0
mov dword [rsi], 0
lea rdi, [rsi + 4]
movabs rax, 0x7974696e69666e49
mov qword [rsi + 4], rax
mov byte [rsi + 0xc], 0
test rbx, rbx
je 0x140044a5b
add rsi, 0xc
mov qword [rbx], rsi
jmp 0x140044a5b
mov ecx, 0x20
call fcn.140022530
mov rsi, rax
movabs rax, 0x100000000
mov qword [rsi + 8], rax
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400425d1
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400425d1
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsi + 0x10], 0
mov dword [rsi], 0
lea rdi, [rsi + 4]
mov word [rsi + 4], 0x30
test rbx, rbx
je 0x140044a5b
add rsi, 5
mov qword [rbx], rsi
jmp 0x140044a5b
xor edx, edx
movapd xmm1, xmm0
cmp dword [rsp + 0x30], 0
jne 0x14004241f
mov ecx, r13d
mov rax, qword [rsp + 0x20]
xorps xmm2, xmm2
cvtsi2sd xmm2, ebp
mulsd xmm2, xmm1
addsd xmm2, qword [0x140155690]
movq rbp, xmm2
movabs rdi, 0xfcc0000000000000
add rdi, rbp
movq xmm4, rdi
test ecx, ecx
je 0x14004279c
movsxd rdi, ecx
lea rbp, [0x140156bb0]
movsd xmm3, qword [rbp + rdi*8 - 8]
cmp dword [rsp + 0x48], 0
je 0x1400427c3
movsd xmm2, qword [0x140155680]
divsd xmm2, xmm3
subsd xmm2, xmm4
cmp dword [rsp + 0x20], 0
jns 0x1400426de
cmp edx, 0x133
jl 0x1400426de
mov edi, edx
and edi, 0xf
movsd xmm3, qword [rbp + rdi*8]
mulsd xmm3, qword [0x140156b90]
add edx, 0xffffff00
sar edx, 4
je 0x1400426d4
lea rbp, [0x140156c70]
nop word cs:[rax + rax]
test dl, 1
je 0x1400426ca
mulsd xmm3, qword [rbp]
sar edx, 1
add rbp, 8
test edx, edx
jne 0x1400426c0
ucomisd xmm3, xmm2
jbe 0x1400426de
movapd xmm2, xmm3
cvttsd2si edx, xmm1
xorps xmm3, xmm3
cvtsi2sd xmm3, edx
subsd xmm1, xmm3
movsd qword [rsp + 0x80], xmm1
add dl, 0x30
mov rbp, qword [rsp + 0x50]
lea r15, [rbp + 1]
mov byte [rbp], dl
movsd xmm3, qword [rsp + 0x80]
movsd xmm1, qword [0x1401556a0]
movapd xmm4, xmm1
subsd xmm4, xmm3
ucomisd xmm2, xmm4
ja 0x140042872
mov edx, 1
movsd xmm4, qword [0x140156b88]
nop word cs:[rax + rax]
ucomisd xmm2, xmm3
ja 0x1400429db
cmp edx, ecx
jge 0x1400429eb
mulsd xmm2, xmm4
mulsd xmm3, xmm4
cvttsd2si ebp, xmm3
xorps xmm5, xmm5
cvtsi2sd xmm5, ebp
subsd xmm3, xmm5
movsd qword [rsp + 0x80], xmm3
add bpl, 0x30
mov byte [r15], bpl
add r15, 1
movsd xmm3, qword [rsp + 0x80]
movapd xmm5, xmm1
subsd xmm5, xmm3
add edx, 1
ucomisd xmm2, xmm5
jbe 0x140042740
jmp 0x140042872
addsd xmm1, qword [0x140156b98]
movsd qword [rsp + 0x80], xmm1
ucomisd xmm1, xmm4
jbe 0x1400428a8
xor r13d, r13d
mov ebx, eax
xor esi, esi
jmp 0x140044768
mulsd xmm3, xmm4
cvttsd2si edx, xmm1
xorps xmm2, xmm2
cvtsi2sd xmm2, edx
subsd xmm1, xmm2
movsd qword [rsp + 0x80], xmm1
add dl, 0x30
mov rbp, qword [rsp + 0x50]
lea r15, [rbp + 1]
mov byte [rbp], dl
cmp ecx, 1
je 0x140042853
xorpd xmm2, xmm2
ucomisd xmm1, xmm2
jne 0x1400427ff
jnp 0x140042853
mov edi, 1
movsd xmm1, qword [0x140156b88]
nop dword [rax]
movsd xmm4, qword [rsp + 0x80]
mulsd xmm4, xmm1
cvttsd2si ebp, xmm4
xorps xmm5, xmm5
cvtsi2sd xmm5, ebp
add edi, 1
subsd xmm4, xmm5
movsd qword [rsp + 0x80], xmm4
ucomisd xmm4, xmm2
mov edx, edi
cmovne edx, ecx
cmovnp ecx, edx
add bpl, 0x30
mov byte [r15], bpl
add r15, 1
cmp edi, ecx
jne 0x140042810
movsd xmm1, qword [rsp + 0x80]
movsd xmm2, qword [0x140155680]
addsd xmm2, xmm3
ucomisd xmm1, xmm2
jbe 0x1400429ab
mov ebx, eax
mov rcx, qword [rsp + 0x58]
mov al, byte [r15 - 1]
cmp al, 0x39
jne 0x1400428a2
add rcx, 5
nop word cs:[rax + rax]
cmp rcx, r15
je 0x1400428c4
movzx eax, byte [r15 - 2]
add r15, 0xffffffffffffffff
cmp al, 0x39
je 0x140042890
lea rcx, [r15 - 1]
jmp 0x1400428d1
xorpd xmm4, xmmword [0x140156b30]
ucomisd xmm4, xmm1
jbe 0x1400429eb
xor r13d, r13d
xor esi, esi
jmp 0x140044a0e
add ebx, 1
mov rcx, qword [rsp + 0x50]
mov byte [rcx], 0x30
mov al, 0x30
add al, 1
mov byte [rcx], al
test r12, r12
je 0x140044a38
cmp dword [r12 + 8], 8
jl 0x1400428f3
mov rcx, r12
call fcn.140022570
jmp 0x140044a38
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042934
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140042934
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r12 + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [r12], rdx
mov qword [rcx + rax*8], r12
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042999
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140042999
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140044a38
movsd xmm2, qword [0x140155680]
subsd xmm2, xmm3
ucomisd xmm2, xmm1
jbe 0x1400429eb
add r15, 1
nop word cs:[rax + rax]
cmp byte [r15 - 2], 0x30
lea r15, [r15 - 1]
je 0x1400429d0
mov ebx, eax
test r12, r12
jne 0x1400428de
jmp 0x140044a38
movsd qword [rsp + 0x80], xmm0
mov ebp, r8d
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0x20], 0xe
mov edi, r14d
jg 0x140042a62
test eax, eax
js 0x140042a62
mov rbx, qword [rsp + 0x20]
movsxd rax, ebx
lea rcx, [0x140156bb0]
movsd xmm0, qword [rcx + rax*8]
mov eax, dword [rsp + 0x3c]
test eax, eax
jns 0x140042b04
test r13d, r13d
jg 0x140042b04
test r13d, r13d
js 0x140042c08
mulsd xmm0, qword [0x140156ba0]
xor r13d, r13d
ucomisd xmm0, qword [rsp + 0x80]
mov esi, 0
jae 0x140044a12
jmp 0x140044768
cmp dword [rsp + 0x48], 0
je 0x140042bc7
mov esi, ebp
add eax, 0x433
mov ebp, 0x36
sub ebp, dword [rsp + 0x8c]
cmp dword [rsp + 0x28], 0
cmovne ebp, eax
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042ac9
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140042ac9
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
mov rax, qword [0x140194ac8]
test rax, rax
je 0x140042bdb
mov rcx, rax
mov qword [rsp + 0x28], rcx
mov rax, qword [rax]
mov qword [0x140194ac8], rax
mov rdi, qword [rsp + 0x40]
mov ebx, r14d
jmp 0x140042c73
movsd xmm1, qword [rsp + 0x80]
movapd xmm2, xmm1
divsd xmm2, xmm0
cvttsd2si eax, xmm2
xorps xmm2, xmm2
cvtsi2sd xmm2, eax
mulsd xmm2, xmm0
subsd xmm1, xmm2
movsd qword [rsp + 0x80], xmm1
mov ecx, eax
add cl, 0x30
mov rdx, qword [rsp + 0x50]
lea r15, [rdx + 1]
mov byte [rdx], cl
movsd xmm1, qword [rsp + 0x80]
xorpd xmm2, xmm2
ucomisd xmm1, xmm2
jne 0x140042b5a
jnp 0x140044a2f
add r13d, 0xffffffff
movsd xmm3, qword [0x140156b88]
nop word cs:[rax + rax]
test r13d, r13d
je 0x140042c12
mulsd xmm1, xmm3
movapd xmm4, xmm1
divsd xmm4, xmm0
cvttsd2si eax, xmm4
xorps xmm4, xmm4
cvtsi2sd xmm4, eax
mulsd xmm4, xmm0
subsd xmm1, xmm4
movsd qword [rsp + 0x80], xmm1
mov ecx, eax
add cl, 0x30
mov byte [r15], cl
add r15, 1
movsd xmm1, qword [rsp + 0x80]
add r13d, 0xffffffff
ucomisd xmm1, xmm2
jne 0x140042b70
jp 0x140042b70
jmp 0x140044a2f
xor eax, eax
mov qword [rsp + 0x28], rax
mov r14, qword [rsp + 0x40]
mov r15d, r14d
jmp 0x140042cfa
mov rax, qword [0x140191060]
lea rdx, [0x140194b20]
mov rcx, rax
sub rcx, rdx
cmp rcx, 0x8df
jg 0x140042c4b
mov rcx, rax
add rcx, 0x28
mov qword [0x140191060], rcx
jmp 0x140042c55
xor r13d, r13d
xor esi, esi
jmp 0x140044a12
addsd xmm1, xmm1
movsd qword [rsp + 0x80], xmm1
ucomisd xmm1, xmm0
ja 0x140042874
test al, 1
mov rcx, qword [rsp + 0x58]
je 0x140044a2f
ucomisd xmm1, xmm0
jne 0x140044a2f
jnp 0x140042879
jmp 0x140044a2f
mov ecx, 0x28
call fcn.140022530
mov rdi, qword [rsp + 0x40]
mov ebx, r14d
movabs rcx, 0x200000001
mov rdx, rax
mov qword [rsp + 0x28], rdx
mov qword [rax + 8], rcx
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042cc4
lea rcx, [0x140194b00]
call fcn.14002a3e0
mov ebx, r14d
mov rdi, qword [rsp + 0x40]
test al, al
je 0x140042cc4
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov ebx, r14d
mov rdi, qword [rsp + 0x40]
lea r15d, [rdi + rbp]
add ebp, ebx
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r14, qword [rsp + 0x40]
movabs rax, 0x100000000
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x10], rax
mov dword [rcx + 0x18], 1
mov edi, ebp
mov ebp, esi
test r14d, r14d
mov edx, dword [rsp + 0x60]
jle 0x140042d18
test edi, edi
jle 0x140042d18
cmp r14d, edi
mov eax, edi
cmovle eax, r14d
sub r15d, eax
sub r14d, eax
sub edi, eax
test edx, edx
mov qword [rsp + 0x40], r14
jle 0x140042d65
cmp dword [rsp + 0x48], 0
je 0x140042d6f
mov rcx, qword [rsp + 0x28]
call fcn.140040df0
mov rcx, rax
mov qword [rsp + 0x28], rcx
mov rdx, r12
call fcn.140041350
mov qword [rsp + 0x60], rax
test r12, r12
je 0x140042e38
cmp dword [r12 + 8], 8
jl 0x140042d81
mov rcx, r12
call fcn.140022570
jmp 0x140042e38
mov qword [rsp + 0x60], r12
jmp 0x140042e38
mov rcx, r12
call fcn.140040df0
mov qword [rsp + 0x60], rax
jmp 0x140042e38
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042dc6
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140042dc6
mov esi, ebp
lea rbp, [0x140194b08]
mov rcx, rbp
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbp
mov ebp, esi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r12 + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [r12], rdx
mov qword [rcx + rax*8], r12
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042e2b
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140042e2b
lea rbx, [0x140194b08]
mov rcx, rbx
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbx
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042e79
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140042e79
lea rbx, [0x140194b08]
mov rcx, rbx
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbx
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
mov rsi, qword [0x140194ac8]
test rsi, rsi
je 0x140042e9d
mov rax, qword [rsi]
mov qword [0x140194ac8], rax
jmp 0x140042ee5
mov rsi, qword [0x140191060]
lea rax, [0x140194b20]
mov rcx, rsi
sub rcx, rax
cmp rcx, 0x8df
jg 0x140042eca
mov rax, rsi
add rax, 0x28
mov qword [0x140191060], rax
jmp 0x140042ed7
mov ecx, 0x28
call fcn.140022530
mov rsi, rax
movabs rax, 0x200000001
mov qword [rsi + 8], rax
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140042f26
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140042f26
lea rbx, [0x140194b08]
mov rcx, rbx
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbx
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movabs rax, 0x100000000
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], 1
mov edx, dword [rsp + 0x74]
test edx, edx
jle 0x140042f5b
mov rcx, rsi
call fcn.140040df0
mov rsi, rax
xor r12d, r12d
cmp dword [rsp + 0x68], 2
mov dword [rsp + 0x38], ebp
jl 0x140042f70
cmp dword [rsp + 0x48], 0
je 0x140042f9c
cmp dword [rsp + 0x80], 0
jne 0x140042f9c
mov eax, dword [rsp + 0x84]
test eax, 0xfffff
jne 0x140042f9c
and eax, 0x7fe00000
je 0x140042f9c
add r15d, 1
add edi, 1
mov r12d, 1
movsxd rax, dword [rsi + 0x14]
mov edx, dword [rsi + rax*4 + 0x14]
xor ecx, ecx
cmp edx, 0x10000
setb cl
mov eax, edx
shl eax, 0x10
cmp edx, 0xffff
cmova eax, edx
shl ecx, 4
lea ebp, [rcx + 8]
mov edx, eax
shl edx, 8
cmp eax, 0xffffff
cmova edx, eax
cmova ebp, ecx
mov ecx, edx
shl ecx, 4
cmp edx, 0xfffffff
cmova ecx, edx
lea ebx, [rbp + 4]
cmova ebx, ebp
lea eax, [rbx + 2]
lea edx, [rcx*4]
cmp ecx, 0x3fffffff
cmova edx, ecx
cmova eax, ebx
test edx, edx
js 0x140043011
mov ecx, 0x20
test edx, 0x40000000
je 0x140043013
add eax, 1
mov ecx, eax
xor eax, eax
test edi, edi
cmovns eax, edi
mov r14d, 0x1c
sub r14d, eax
add r14d, ecx
and r14d, 0x1f
add edi, r14d
add r15d, r14d
jle 0x140043083
mov rcx, qword [rsp + 0x60]
mov edx, r15d
call fcn.140041560
mov rbp, rax
test edi, edi
jle 0x140043053
mov rcx, rsi
mov edx, edi
call fcn.140041560
mov rsi, rax
mov r8, qword [rsp + 0x40]
cmp dword [rsp + 0x30], 0
mov qword [rsp + 0x30], rsi
je 0x14004308e
movsxd rbx, dword [rbp + 0x14]
mov rcx, rsi
movsxd rsi, dword [rcx + 0x14]
mov eax, ebx
sub eax, esi
je 0x1400430a6
test eax, eax
jns 0x140043121
lea rax, [rbp + 0x18]
jmp 0x1400430e8
mov rbp, qword [rsp + 0x60]
test edi, edi
jg 0x140043046
jmp 0x140043053
mov r15d, r12d
mov eax, r13d
mov r12, rbp
mov rbx, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
jmp 0x1400433ad
lea rax, [rbp + 0x18]
mov edx, dword [rbp + rsi*4 + 0x14]
mov edi, dword [rcx + rsi*4 + 0x14]
cmp edx, edi
jne 0x1400430e4
lea rcx, [rsi*4 + 0x14]
add rcx, rbp
mov rdx, qword [rsp + 0x30]
lea rsi, [rdx + rsi*4]
add rsi, 0x10
cmp rcx, rax
jbe 0x140043121
mov edx, dword [rcx - 4]
add rcx, 0xfffffffffffffffc
mov edi, dword [rsi]
add rsi, 0xfffffffffffffffc
cmp edx, edi
je 0x1400430ce
cmp edx, edi
jae 0x140043121
xor ecx, ecx
xor esi, esi
nop dword [rax]
mov edx, dword [rax + rcx*4]
lea rdx, [rdx + rdx*4]
lea rsi, [rsi + rdx*2]
mov dword [rax + rcx*4], esi
shr rsi, 0x20
add rcx, 1
cmp ecx, ebx
jl 0x1400430f0
test rsi, rsi
mov r13, qword [rsp + 0x28]
je 0x14004313e
cmp ebx, dword [rbp + 0xc]
jge 0x140043146
mov r15d, r12d
jmp 0x14004323c
mov r15d, r12d
mov eax, r13d
mov r12, rbp
mov rbx, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
jmp 0x1400433ad
mov r15d, r12d
jmp 0x140043246
mov ecx, dword [rbp + 8]
add ecx, 1
call fcn.1400409a0
mov rdi, rbp
mov rbp, rax
lea rcx, [rbp + 0x10]
lea rdx, [rdi + 0x10]
movsxd rax, dword [rdi + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [rdi + 8], 8
jl 0x140043183
mov rcx, rdi
call fcn.140022570
jmp 0x140043234
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400431c4
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400431c4
lea r15, [0x140194b08]
mov rcx, r15
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, r15
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [rdi + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [rdi], rdx
mov qword [rcx + rax*8], rdi
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043227
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043227
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r15d, r12d
mov r8, qword [rsp + 0x40]
lea eax, [rbx + 1]
mov dword [rbp + rbx*4 + 0x18], esi
mov dword [rbp + 0x14], eax
mov r12, rbp
mov rbx, qword [rsp + 0x20]
add ebx, 0xffffffff
cmp dword [rsp + 0x48], 0
je 0x1400433a4
movsxd rdi, dword [r13 + 0x14]
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
mov ecx, dword [r13 + rax*4 + 0x18]
lea rcx, [rcx + rcx*4]
lea rsi, [rsi + rcx*2]
mov dword [r13 + rax*4 + 0x18], esi
shr rsi, 0x20
add rax, 1
cmp eax, edi
jl 0x140043270
test rsi, rsi
je 0x1400433a4
cmp edi, dword [r13 + 0xc]
jl 0x140043398
mov ecx, dword [r13 + 8]
add ecx, 1
call fcn.1400409a0
mov rbp, rax
lea rcx, [rbp + 0x10]
lea rdx, [r13 + 0x10]
movsxd rax, dword [r13 + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [r13 + 8], 8
jl 0x1400432dd
mov rcx, r13
call fcn.140022570
jmp 0x140043390
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x14004331f
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x14004331f
lea rcx, [0x140194b08]
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
lea rdx, [0x140194b08]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r13 + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [r13], rdx
mov qword [rcx + rax*8], r13
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043383
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043383
lea r13, [0x140194b08]
mov rcx, r13
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, r13
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r13, rbp
mov r8, qword [rsp + 0x40]
lea eax, [rdi + 1]
mov dword [r13 + rdi*4 + 0x18], esi
mov dword [r13 + 0x14], eax
mov rsi, qword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x38], eax
test eax, eax
mov qword [rsp + 0x20], rbx
jle 0x1400433f0
cmp dword [rsp + 0x48], 0
je 0x14004348e
add r14d, r8d
test r14d, r14d
jle 0x1400436f2
mov rcx, r13
mov edx, r14d
call fcn.140041560
mov rdi, rax
mov r13, rdi
test r15d, r15d
jne 0x1400436fe
jmp 0x140043906
cmp dword [rsp + 0x68], 5
je 0x1400433fe
cmp dword [rsp + 0x68], 3
jne 0x1400433ba
cmp dword [rsp + 0x38], 0
js 0x140044a0e
movsxd rbp, dword [rsi + 0x14]
xor eax, eax
xor edi, edi
nop word cs:[rax + rax]
mov ecx, dword [rsi + rax*4 + 0x18]
lea rcx, [rcx + rcx*4]
add rcx, rdi
mov rdi, rcx
shr rdi, 0x20
mov dword [rsi + rax*4 + 0x18], ecx
add rax, 1
cmp eax, ebp
jl 0x140043420
test rdi, rdi
je 0x140044700
cmp ebp, dword [rsi + 0xc]
jl 0x1400446f6
mov ecx, dword [rsi + 8]
add ecx, 1
call fcn.1400409a0
mov r15, rax
lea rcx, [r15 + 0x10]
lea rdx, [rsi + 0x10]
movsxd rax, dword [rsi + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [rsi + 8], 8
jl 0x140044642
mov rcx, rsi
call fcn.140022570
jmp 0x1400446f3
mov qword [rsp + 0x28], r13
mov esi, 1
xor edi, edi
mov r15, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x38]
jmp 0x1400434b3
add esi, 1
mov rcx, r12
mov rdx, qword [rsp + 0x30]
call fcn.140044b60
mov r13d, eax
add r13d, 0x30
mov byte [r15], r13b
add r15, 1
mov eax, dword [r12 + 0x18]
test rax, rax
jne 0x1400434e4
cmp dword [r12 + 0x14], 2
jl 0x14004436c
cmp esi, ebp
jge 0x1400436e3
movsxd r14, dword [r12 + 0x14]
add rax, rax
lea r13, [rax + rax*4]
mov dword [r12 + 0x18], r13d
shr r13, 0x20
cmp r14, 2
jl 0x1400435bb
lea rax, [r12 + 0x1c]
lea ecx, [r14 - 1]
lea edx, [r14 - 2]
and ecx, 3
cmp edx, 3
jb 0x14004359a
lea edx, [rcx + 1]
sub edx, r14d
nop word cs:[rax + rax]
mov ebp, dword [rax]
mov ebx, dword [rax + 4]
lea rbp, [rbp + rbp*4]
lea rbp, [rbp*2]
add rbp, r13
mov dword [rax], ebp
shr rbp, 0x20
lea rbx, [rbx + rbx*4]
lea rbp, [rbp + rbx*2]
mov dword [rax + 4], ebp
shr rbp, 0x20
mov ebx, dword [rax + 8]
lea rbx, [rbx + rbx*4]
lea rbp, [rbp + rbx*2]
mov dword [rax + 8], ebp
shr rbp, 0x20
mov ebx, dword [rax + 0xc]
lea rbx, [rbx + rbx*4]
lea r13, [rbx*2]
add r13, rbp
mov dword [rax + 0xc], r13d
shr r13, 0x20
add rax, 0x10
add edx, 4
jne 0x140043530
mov rbx, qword [rsp + 0x20]
mov ebp, dword [rsp + 0x38]
test ecx, ecx
je 0x1400435bb
neg ecx
mov edx, dword [rax]
lea rdx, [rdx + rdx*4]
lea r13, [r13 + rdx*2]
mov dword [rax], r13d
shr r13, 0x20
add rax, 4
add ecx, 1
jne 0x1400435a0
test r13, r13
je 0x1400434b0
cmp r14d, dword [r12 + 0xc]
jl 0x1400436d0
mov ecx, dword [r12 + 8]
add ecx, 1
call fcn.1400409a0
mov rbp, rax
lea rcx, [rbp + 0x10]
lea rdx, [r12 + 0x10]
movsxd rax, dword [r12 + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [r12 + 8], 8
jl 0x14004360f
mov rcx, r12
call fcn.140022570
jmp 0x1400436c9
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043654
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043654
lea rax, [0x140194b08]
mov rcx, rax
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
lea rdx, [0x140194b08]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r12 + 8]
lea rcx, [0x140194ac0]
mov rdx, rcx
mov rcx, qword [rdx + rax*8]
mov qword [r12], rcx
mov qword [rdx + rax*8], r12
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400436bc
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400436bc
lea r12, [0x140194b08]
mov rcx, r12
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, r12
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r12, rbp
mov ebp, dword [rsp + 0x38]
lea eax, [r14 + 1]
mov dword [r12 + r14*4 + 0x18], r13d
mov dword [r12 + 0x14], eax
jmp 0x1400434b0
lea rax, [r12 + 0x14]
mov qword [rsp + 0x48], rax
jmp 0x1400440a4
mov rdi, r13
test r15d, r15d
je 0x140043906
mov ecx, dword [rdi + 8]
call fcn.1400409a0
mov r15, rax
lea rcx, [r15 + 0x10]
lea rdx, [rdi + 0x10]
movsxd rax, dword [rdi + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
mov ecx, dword [r15 + 8]
mov eax, dword [r15 + 0xc]
mov r14d, dword [r15 + 0x14]
cmp r14d, eax
jl 0x14004374a
nop word cs:[rax + rax]
add ecx, 1
add eax, eax
cmp r14d, eax
jge 0x140043740
call fcn.1400409a0
mov r13, rax
lea rax, [r13 + 0x18]
movsxd rcx, dword [r15 + 0x14]
lea rcx, [r15 + rcx*4]
add rcx, 0x18
lea rdx, [r15 + 0x1c]
cmp rcx, rdx
cmova rdx, rcx
lea rcx, [r15 + 0x18]
mov rbp, 0xffffffffffffffe7
sub rbp, r15
add rbp, rdx
mov r8, rbp
shr r8, 2
lea esi, [r8 + 1]
and esi, 3
cmp rbp, 0xc
jae 0x14004379b
xor edx, edx
test rsi, rsi
jne 0x1400437f7
jmp 0x140043819
lea rbp, [rsi - 1]
sub rbp, r8
xor edx, edx
nop word cs:[rax + rax]
mov ebx, dword [rcx]
add ebx, ebx
or ebx, edx
mov dword [rax], ebx
mov edx, dword [rcx]
mov ebx, dword [rcx + 4]
shld ebx, edx, 1
mov dword [rax + 4], ebx
mov edx, dword [rcx + 4]
mov ebx, dword [rcx + 8]
shld ebx, edx, 1
mov dword [rax + 8], ebx
mov edx, dword [rcx + 8]
mov ebx, dword [rcx + 0xc]
shld ebx, edx, 1
mov dword [rax + 0xc], ebx
add rax, 0x10
mov edx, dword [rcx + 0xc]
add rcx, 0x10
shr edx, 0x1f
add rbp, 4
jne 0x1400437b0
test rsi, rsi
je 0x140043819
xor ebp, ebp
nop dword [rax]
mov ebx, dword [rcx + rbp*4]
add ebx, ebx
or ebx, edx
mov dword [rax + rbp*4], ebx
mov edx, dword [rcx + rbp*4]
shr edx, 0x1f
add rbp, 1
cmp rsi, rbp
jne 0x140043800
mov dword [r13 + r8*4 + 0x1c], edx
cmp edx, 1
sbb r14d, 0
add r14d, 1
mov dword [r13 + 0x14], r14d
test r15, r15
je 0x14004384b
cmp dword [r15 + 8], 8
mov rsi, qword [rsp + 0x30]
jl 0x140043855
mov rcx, r15
call fcn.140022570
jmp 0x140043906
mov rsi, qword [rsp + 0x30]
jmp 0x140043906
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043896
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043896
lea r14, [0x140194b08]
mov rcx, r14
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, r14
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r15 + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [r15], rdx
mov qword [rcx + rax*8], r15
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400438f9
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400438f9
lea rbp, [0x140194b08]
mov rcx, rbp
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbp
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ebx, 1
mov r15, qword [rsp + 0x50]
jmp 0x140043928
add ebx, 1
mov rsi, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rsi
call fcn.140044b60
mov qword [rsp + 0x40], rax
mov r14d, dword [r12 + 0x14]
movsxd rbp, dword [rdi + 0x14]
sub r14d, ebp
jne 0x1400439a0
mov ecx, dword [r12 + rbp*4 + 0x14]
mov esi, dword [rdi + rbp*4 + 0x14]
cmp ecx, esi
jne 0x140043987
lea rax, [r12 + 0x18]
lea rdx, [r12 + rbp*4]
add rdx, 0x14
lea rbp, [rdi + rbp*4]
add rbp, 0x10
nop dword [rax + rax]
cmp rdx, rax
jbe 0x140043998
mov ecx, dword [rdx - 4]
add rdx, 0xfffffffffffffffc
mov esi, dword [rbp]
add rbp, 0xfffffffffffffffc
cmp ecx, esi
je 0x140043970
xor eax, eax
cmp ecx, esi
setae al
lea r14d, [rax + rax]
add r14d, 0xffffffff
jmp 0x14004399b
xor r14d, r14d
mov rsi, qword [rsp + 0x30]
mov dword [rsp + 0x3c], ebx
lea rax, [r12 + 0x14]
mov qword [rsp + 0x48], rax
mov rcx, rsi
mov rdx, r13
call fcn.140041930
mov rbp, rax
mov ebx, 1
cmp dword [rbp + 0x10], 0
je 0x1400439d1
test rbp, rbp
jne 0x140043a40
jmp 0x140043b08
mov rax, qword [rsp + 0x48]
mov ebx, dword [rax]
movsxd rsi, dword [rbp + 0x14]
sub ebx, esi
jne 0x140043a40
mov ecx, dword [r12 + rsi*4 + 0x14]
mov ebx, dword [rbp + rsi*4 + 0x14]
cmp ecx, ebx
jne 0x140043a2a
lea rax, [r12 + 0x18]
lea rdx, [r12 + rsi*4]
add rdx, 0x14
lea rsi, [rsi*4 + 0x10]
add rsi, rbp
nop word cs:[rax + rax]
cmp rdx, rax
jbe 0x140044094
mov ecx, dword [rdx - 4]
add rdx, 0xfffffffffffffffc
mov ebx, dword [rsi]
add rsi, 0xfffffffffffffffc
cmp ecx, ebx
je 0x140043a10
xor eax, eax
cmp ecx, ebx
setae al
lea ebx, [rax + rax]
add ebx, 0xffffffff
test rbp, rbp
je 0x140043b08
cmp dword [rbp + 8], 8
jl 0x140043a53
mov rcx, rbp
call fcn.140022570
jmp 0x140043b08
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043a94
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043a94
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [rbp + 8]
lea rcx, [0x140194ac0]
mov rdx, rcx
mov rcx, qword [rdx + rax*8]
mov qword [rbp], rcx
mov qword [rdx + rax*8], rbp
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043afb
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043afb
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x28], r13
mov rcx, qword [rsp + 0x40]
lea r13d, [rcx + 0x30]
mov rax, qword [rsp + 0x68]
cmp eax, 1
je 0x140043b32
test ebx, ebx
jne 0x140043b32
test byte [rsp + 0x80], 1
je 0x140044417
test r14d, r14d
mov rsi, qword [rsp + 0x30]
js 0x140044129
cmp eax, 1
je 0x140043b58
test r14d, r14d
jne 0x140043b58
test byte [rsp + 0x80], 1
je 0x140044129
test ebx, ebx
jg 0x14004420b
mov byte [r15], r13b
add r15, 1
mov ebx, dword [rsp + 0x3c]
cmp ebx, dword [rsp + 0x38]
je 0x1400440a4
mov rax, qword [rsp + 0x48]
movsxd rsi, dword [rax]
xor eax, eax
xor ebp, ebp
nop word cs:[rax + rax]
mov ecx, dword [r12 + rax*4 + 0x18]
lea rcx, [rcx + rcx*4]
lea rbp, [rbp + rcx*2]
mov dword [r12 + rax*4 + 0x18], ebp
shr rbp, 0x20
add rax, 1
cmp eax, esi
jl 0x140043b90
test rbp, rbp
mov r13, qword [rsp + 0x28]
je 0x140043cd2
cmp esi, dword [r12 + 0xc]
jl 0x140043cc5
mov ecx, dword [r12 + 8]
add ecx, 1
call fcn.1400409a0
mov r14, rax
lea rcx, [r14 + 0x10]
lea rdx, [r12 + 0x10]
movsxd rax, dword [r12 + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [r12 + 8], 8
jl 0x140043c08
mov rcx, r12
call fcn.140022570
jmp 0x140043cc2
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043c4d
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043c4d
lea rax, [0x140194b08]
mov rcx, rax
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
lea rdx, [0x140194b08]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r12 + 8]
lea rcx, [0x140194ac0]
mov rdx, rcx
mov rcx, qword [rdx + rax*8]
mov qword [r12], rcx
mov qword [rdx + rax*8], r12
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043cb5
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043cb5
lea r12, [0x140194b08]
mov rcx, r12
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, r12
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r12, r14
lea eax, [rsi + 1]
mov dword [r12 + rsi*4 + 0x18], ebp
mov dword [r12 + 0x14], eax
movsxd rbp, dword [rdi + 0x14]
xor eax, eax
xor esi, esi
cmp rdi, r13
je 0x140043d50
nop
mov ecx, dword [rdi + rax*4 + 0x18]
lea rcx, [rcx + rcx*4]
lea rsi, [rsi + rcx*2]
mov dword [rdi + rax*4 + 0x18], esi
shr rsi, 0x20
add rax, 1
cmp eax, ebp
jl 0x140043ce0
test rsi, rsi
je 0x140043e81
cmp ebp, dword [rdi + 0xc]
jl 0x140043e77
mov ecx, dword [rdi + 8]
add ecx, 1
call fcn.1400409a0
mov r14, rax
lea rcx, [r14 + 0x10]
lea rdx, [rdi + 0x10]
movsxd rax, dword [rdi + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [rdi + 8], 8
jl 0x140043dbc
mov rcx, rdi
call fcn.140022570
jmp 0x140043e74
mov ecx, dword [rdi + rax*4 + 0x18]
lea rcx, [rcx + rcx*4]
lea rsi, [rsi + rcx*2]
mov dword [rdi + rax*4 + 0x18], esi
shr rsi, 0x20
add rax, 1
cmp eax, ebp
jl 0x140043d50
test rsi, rsi
je 0x14004408c
cmp ebp, dword [rdi + 0xc]
jl 0x140044082
mov ecx, dword [rdi + 8]
add ecx, 1
call fcn.1400409a0
mov r14, rax
lea rcx, [r14 + 0x10]
lea rdx, [rdi + 0x10]
movsxd rax, dword [rdi + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [rdi + 8], 8
jl 0x140043fcb
mov rcx, rdi
call fcn.140022570
jmp 0x14004407f
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043e01
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043e01
lea rax, [0x140194b08]
mov rcx, rax
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
lea rdx, [0x140194b08]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [rdi + 8]
lea rcx, [0x140194ac0]
mov rdx, rcx
mov rcx, qword [rdx + rax*8]
mov qword [rdi], rcx
mov qword [rdx + rax*8], rdi
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043e67
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043e67
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, r14
lea eax, [rbp + 1]
mov dword [rdi + rbp*4 + 0x18], esi
mov dword [rdi + 0x14], eax
movsxd rsi, dword [r13 + 0x14]
xor eax, eax
xor ebp, ebp
nop dword [rax]
mov ecx, dword [r13 + rax*4 + 0x18]
lea rcx, [rcx + rcx*4]
lea rbp, [rbp + rcx*2]
mov dword [r13 + rax*4 + 0x18], ebp
shr rbp, 0x20
add rax, 1
cmp eax, esi
jl 0x140043e90
test rbp, rbp
je 0x140043920
cmp esi, dword [r13 + 0xc]
jl 0x140043fba
mov ecx, dword [r13 + 8]
add ecx, 1
call fcn.1400409a0
mov r14, rax
lea rcx, [r14 + 0x10]
lea rdx, [r13 + 0x10]
movsxd rax, dword [r13 + 0x14]
lea r8, [rax*4 + 8]
call fcn.1400f0ce0
cmp dword [r13 + 8], 8
jl 0x140043efe
mov rcx, r13
call fcn.140022570
jmp 0x140043fb7
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043f43
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043f43
lea rax, [0x140194b08]
mov rcx, rax
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
lea rdx, [0x140194b08]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r13 + 8]
lea rcx, [0x140194ac0]
mov rdx, rcx
mov rcx, qword [rdx + rax*8]
mov qword [r13], rcx
mov qword [rdx + rax*8], r13
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140043faa
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140043faa
lea r13, [0x140194b08]
mov rcx, r13
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, r13
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r13, r14
lea eax, [rsi + 1]
mov dword [r13 + rsi*4 + 0x18], ebp
mov dword [r13 + 0x14], eax
jmp 0x140043920
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x14004400c
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x14004400c
lea r13, [0x140194b08]
mov rcx, r13
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, r13
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [rdi + 8]
lea rcx, [0x140194ac0]
mov rdx, rcx
mov rcx, qword [rdx + rax*8]
mov qword [rdi], rcx
mov qword [rdx + rax*8], rdi
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140044072
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140044072
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
xor r8d, r8d
lea rcx, [0x140194b00]
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, r14
lea eax, [rbp + 1]
mov dword [rdi + rbp*4 + 0x18], esi
mov dword [rdi + 0x14], eax
mov r13, rdi
jmp 0x140043920
xor ebx, ebx
test rbp, rbp
jne 0x140043a40
jmp 0x140043b08
mov ecx, dword [r12 + 8]
mov eax, dword [r12 + 0xc]
mov r14d, dword [r12 + 0x14]
cmp r14d, eax
jl 0x1400440ca
nop dword [rax + rax]
add ecx, 1
add eax, eax
cmp r14d, eax
jge 0x1400440c0
call fcn.1400409a0
lea r10, [rax + 0x18]
mov rcx, qword [rsp + 0x48]
movsxd rcx, dword [rcx]
lea rdx, [r12 + rcx*4]
add rdx, 0x18
lea rcx, [r12 + 0x1c]
cmp rdx, rcx
cmova rcx, rdx
lea rdx, [r12 + 0x18]
mov rbp, 0xffffffffffffffe7
sub rbp, r12
add rbp, rcx
mov r8, rbp
shr r8, 2
lea r9d, [r8 + 1]
and r9d, 3
cmp rbp, 0xc
jae 0x14004414a
xor ecx, ecx
mov rsi, r10
test r9, r9
jne 0x1400441a7
jmp 0x1400441c9
cmp dword [r12 + 0x18], 0
je 0x140044384
test ebx, ebx
jle 0x140044430
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax]
jmp 0x1400443a3
lea rbp, [r9 - 1]
sub rbp, r8
xor ecx, ecx
mov rsi, r10
nop word cs:[rax + rax]
mov ebx, dword [rdx]
add ebx, ebx
or ebx, ecx
mov dword [rsi], ebx
mov ecx, dword [rdx]
mov ebx, dword [rdx + 4]
shld ebx, ecx, 1
mov dword [rsi + 4], ebx
mov ecx, dword [rdx + 4]
mov ebx, dword [rdx + 8]
shld ebx, ecx, 1
mov dword [rsi + 8], ebx
mov ecx, dword [rdx + 8]
mov ebx, dword [rdx + 0xc]
shld ebx, ecx, 1
mov dword [rsi + 0xc], ebx
add rsi, 0x10
mov ecx, dword [rdx + 0xc]
add rdx, 0x10
shr ecx, 0x1f
add rbp, 4
jne 0x140044160
test r9, r9
je 0x1400441c9
xor ebp, ebp
nop dword [rax]
mov ebx, dword [rdx + rbp*4]
add ebx, ebx
or ebx, ecx
mov dword [rsi + rbp*4], ebx
mov ecx, dword [rdx + rbp*4]
shr ecx, 0x1f
add rbp, 1
cmp r9, rbp
jne 0x1400441b0
mov dword [rax + r8*4 + 0x1c], ecx
cmp ecx, 1
sbb r14d, 0
add r14d, 1
mov dword [rax + 0x14], r14d
test r12, r12
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x30]
je 0x1400442ed
mov r14, r10
mov rbp, rax
cmp dword [r12 + 8], 8
jl 0x14004422a
mov rcx, r12
call fcn.140022570
jmp 0x1400442e7
cmp r13d, 0x39
mov rbx, qword [rsp + 0x20]
je 0x140044ab8
add r13b, 1
mov byte [r15], r13b
add r15, 1
jmp 0x140044b34
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140044270
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140044270
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rsi
mov rsi, qword [rsp + 0x30]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r12 + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [r12], rdx
mov qword [rcx + rax*8], r12
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400442da
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400442da
lea rbx, [0x140194b08]
mov rcx, rbx
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbx
mov rbx, qword [rsp + 0x20]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, rbp
mov r10, r14
mov edx, dword [rax + 0x14]
movsxd rcx, dword [rsi + 0x14]
sub edx, ecx
je 0x140044304
test edx, edx
jle 0x140044344
mov r12, rax
jmp 0x140044ac0
mov r8, rbx
mov edx, dword [rax + rcx*4 + 0x14]
mov ebp, dword [rsi + rcx*4 + 0x14]
cmp edx, ebp
jne 0x14004433d
lea rbx, [rax + rcx*4]
add rbx, 0x14
lea rcx, [rsi + rcx*4]
add rcx, 0x10
cmp rbx, r10
jbe 0x140044630
mov edx, dword [rbx - 4]
add rbx, 0xfffffffffffffffc
mov ebp, dword [rcx]
add rcx, 0xfffffffffffffffc
cmp edx, ebp
je 0x140044323
cmp edx, ebp
mov rbx, r8
jae 0x1400442fc
add r15, 1
mov r13, qword [rsp + 0x28]
nop dword [rax]
cmp byte [r15 - 2], 0x30
lea r15, [r15 - 1]
je 0x140044350
mov r12, rax
test rsi, rsi
jne 0x140044782
jmp 0x140044a26
mov r13, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
test rsi, rsi
jne 0x140044782
jmp 0x140044a26
test ebx, ebx
jle 0x140044430
mov rax, qword [rsp + 0x48]
mov r14d, dword [rax]
cmp r14d, 1
mov rbx, qword [rsp + 0x20]
jle 0x140044a82
mov ecx, dword [r12 + 8]
mov eax, dword [r12 + 0xc]
cmp r14d, eax
jl 0x1400443bc
add ecx, 1
add eax, eax
cmp r14d, eax
jge 0x1400443b2
lea rsi, [r12 + 0x18]
call fcn.1400409a0
mov rbp, rax
movsxd rax, dword [r12 + 0x14]
lea rax, [r12 + rax*4]
add rax, 0x18
lea rcx, [r12 + 0x1c]
cmp rax, rcx
cmova rcx, rax
lea r10, [rbp + 0x18]
mov rax, 0xffffffffffffffe7
sub rax, r12
add rax, rcx
mov r8, rax
shr r8, 2
lea r9d, [r8 + 1]
and r9d, 3
cmp rax, 0xc
jae 0x14004443d
xor eax, eax
mov rdx, r10
test r9, r9
jne 0x140044490
jmp 0x1400444b9
cmp r13d, 0x39
mov rsi, qword [rsp + 0x30]
jne 0x14004461a
mov rbx, qword [rsp + 0x20]
jmp 0x140044ab8
mov rbp, r12
mov rbx, qword [rsp + 0x20]
jmp 0x140044b2a
lea rcx, [r9 - 1]
sub rcx, r8
xor eax, eax
mov rdx, r10
mov ebx, dword [rsi]
add ebx, ebx
or ebx, eax
mov dword [rdx], ebx
mov eax, dword [rsi]
mov ebx, dword [rsi + 4]
shld ebx, eax, 1
mov dword [rdx + 4], ebx
mov eax, dword [rsi + 4]
mov ebx, dword [rsi + 8]
shld ebx, eax, 1
mov dword [rdx + 8], ebx
mov eax, dword [rsi + 8]
mov ebx, dword [rsi + 0xc]
shld ebx, eax, 1
mov dword [rdx + 0xc], ebx
add rdx, 0x10
mov eax, dword [rsi + 0xc]
add rsi, 0x10
shr eax, 0x1f
add rcx, 4
jne 0x140044449
test r9, r9
je 0x1400444b9
xor ecx, ecx
nop word cs:[rax + rax]
mov ebx, dword [rsi + rcx*4]
add ebx, ebx
or ebx, eax
mov dword [rdx + rcx*4], ebx
mov eax, dword [rsi + rcx*4]
shr eax, 0x1f
add rcx, 1
cmp r9, rcx
jne 0x1400444a0
mov dword [rbp + r8*4 + 0x1c], eax
cmp eax, 1
sbb r14d, 0
add r14d, 1
mov dword [rbp + 0x14], r14d
test r12, r12
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x30]
je 0x1400445b7
mov r14, r10
cmp dword [r12 + 8], 8
jl 0x1400444f8
mov rcx, r12
call fcn.140022570
jmp 0x1400445b4
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x14004453a
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x14004453a
lea rcx, [0x140194b08]
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
lea rdx, [0x140194b08]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r12 + 8]
lea rcx, [0x140194ac0]
mov rdx, rcx
mov rcx, qword [rdx + rax*8]
mov qword [r12], rcx
mov qword [rdx + rax*8], r12
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400445a7
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400445a7
lea rbx, [0x140194b08]
mov rcx, rbx
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbx
mov rbx, qword [rsp + 0x20]
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r10, r14
mov eax, dword [rbp + 0x14]
movsxd rcx, dword [rsi + 0x14]
sub eax, ecx
je 0x1400445cf
test eax, eax
jg 0x140044aaf
jmp 0x140044b2a
mov edx, dword [rbp + rcx*4 + 0x14]
mov ebx, dword [rsi + rcx*4 + 0x14]
cmp edx, ebx
jne 0x140044608
lea rax, [rcx*4 + 0x14]
add rax, rbp
lea rcx, [rsi + rcx*4]
add rcx, 0x10
cmp rax, r10
jbe 0x140044aa4
mov edx, dword [rax - 4]
add rax, 0xfffffffffffffffc
mov ebx, dword [rcx]
add rcx, 0xfffffffffffffffc
cmp edx, ebx
je 0x1400445ee
cmp edx, ebx
mov rbx, qword [rsp + 0x20]
jae 0x140044aaf
jmp 0x140044b2a
test r14d, r14d
mov rbx, qword [rsp + 0x20]
jg 0x140044a8a
mov ecx, r13d
jmp 0x140044a8d
test r13b, 1
mov rbx, r8
jne 0x1400442fc
jmp 0x140044344
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140044683
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140044683
lea r14, [0x140194b08]
mov rcx, r14
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, r14
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [rsi + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [rsi], rdx
mov qword [rcx + rax*8], rsi
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400446e6
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400446e6
lea r14, [0x140194b08]
mov rcx, r14
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, r14
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, r15
lea eax, [rbp + 1]
mov dword [rsi + rbp*4 + 0x18], edi
mov dword [rsi + 0x14], eax
mov eax, dword [r12 + 0x14]
movsxd rbp, dword [rsi + 0x14]
sub eax, ebp
je 0x14004471a
test eax, eax
mov eax, dword [rsp + 0x3c]
jg 0x140044768
jmp 0x140044a12
mov edx, dword [r12 + rbp*4 + 0x14]
mov ebx, dword [rsi + rbp*4 + 0x14]
cmp edx, ebx
jne 0x140044757
lea rax, [r12 + 0x18]
lea rcx, [r12 + rbp*4]
add rcx, 0x14
lea rbp, [rsi + rbp*4]
add rbp, 0x10
cmp rcx, rax
jbe 0x140044a0e
mov edx, dword [rcx - 4]
add rcx, 0xfffffffffffffffc
mov ebx, dword [rbp]
add rbp, 0xfffffffffffffffc
cmp edx, ebx
je 0x14004473c
cmp edx, ebx
mov rbx, qword [rsp + 0x20]
mov eax, dword [rsp + 0x3c]
jb 0x140044a12
mov rax, qword [rsp + 0x50]
mov byte [rax], 0x31
lea r15, [rax + 1]
add ebx, 1
xor edi, edi
test rsi, rsi
je 0x140044a26
cmp dword [rsi + 8], 8
jl 0x1400447d6
mov rcx, rsi
call fcn.140022570
test r13, r13
je 0x140044a2f
test rdi, rdi
je 0x1400447b5
cmp rdi, r13
je 0x1400447b5
cmp dword [rdi + 8], 8
jl 0x140044895
mov rcx, rdi
call fcn.140022570
cmp dword [r13 + 8], 8
jl 0x140044951
mov rcx, r13
call fcn.140022570
test r12, r12
jne 0x1400428de
jmp 0x140044a38
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140044817
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140044817
lea rbp, [0x140194b08]
mov rcx, rbp
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbp
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [rsi + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [rsi], rdx
mov qword [rcx + rax*8], rsi
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x14004487a
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x14004487a
lea rbp, [0x140194b08]
mov rcx, rbp
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbp
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r13, r13
jne 0x140044799
jmp 0x140044a2f
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400448d6
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400448d6
lea rbp, [0x140194b08]
mov rcx, rbp
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rbp
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [rdi + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [rdi], rdx
mov qword [rcx + rax*8], rdi
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140044939
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140044939
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp dword [r13 + 8], 8
jge 0x1400447c0
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x140044992
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x140044992
lea rdi, [0x140194b08]
mov rcx, rdi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rdi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call fcn.1400387d0
movsxd rax, dword [r13 + 8]
lea rcx, [0x140194ac0]
mov rdx, qword [rcx + rax*8]
mov qword [r13], rdx
mov qword [rcx + rax*8], r13
mov rax, qword [0x140194b00]
cmp rax, 1
ja 0x1400449f6
lea rcx, [0x140194b00]
call fcn.14002a3e0
test al, al
je 0x1400449f6
lea rsi, [0x140194b08]
mov rcx, rsi
call fcn.14004fec0
lea rcx, [0x140194b00]
xor r8d, r8d
mov rdx, rsi
mov r9, rcx
call fcn.14002a4a0
mov rcx, qword [0x140194b00]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r12, r12
jne 0x1400428de
jmp 0x140044a38
mov eax, dword [rsp + 0x3c]
not eax
xor edi, edi
mov ebx, eax
mov r15, qword [rsp + 0x50]
test rsi, rsi
jne 0x140044782
test r13, r13
jne 0x140044799
test r12, r12
jne 0x1400428de
mov byte [r15], 0
add ebx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax], ebx
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x140044a56
mov qword [rax], r15
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1400edc60
mov rax, rdi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, r12
jmp 0x140044b2a
add ecx, 0x31
mov r13, qword [rsp + 0x28]
mov byte [r15], cl
add r15, 1
test rsi, rsi
jne 0x140044782
jmp 0x140044a26
test r13b, 1
mov rbx, qword [rsp + 0x20]
je 0x140044b2a
cmp r13d, 0x39
jne 0x140044b1f
mov r12, rbp
mov byte [r15], 0x39
add r15, 1
mov rcx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x28]
mov al, byte [r15 - 1]
cmp al, 0x39
jne 0x140044af2
add rcx, 5
nop word cs:[rax + rax]
cmp rcx, r15
je 0x140044b06
movzx eax, byte [r15 - 2]
add r15, 0xffffffffffffffff
cmp al, 0x39
je 0x140044ae0
add al, 1
mov byte [r15 - 1], al
test rsi, rsi
jne 0x140044782
jmp 0x140044a26
add ebx, 1
mov rax, qword [rsp + 0x50]
mov byte [rax], 0x31
test rsi, rsi
jne 0x140044782
jmp 0x140044a26
mov rax, qword [rsp + 0x40]
add eax, 0x31
mov r13d, eax
mov byte [r15], r13b
add r15, 1
mov r12, rbp
mov r13, qword [rsp + 0x28]
test rsi, rsi
jne 0x140044782
jmp 0x140044a26