Function at 0x1801dc580
Capabilities:
Check for software breakpoints

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rbx, rcx
xor r15d, r15d
add rcx, 0x30
mov qword [rsp + 0x58], rcx
mov rax, qword [rcx]
call qword [rax + 0x70]
lea rcx, [rbx + 8]
call fcn.1801dc4f0
mov r13d, eax
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov edi, r15d
mov qword [rsp + 0x38], r15
mov rsi, qword [rbx + 0x20]
cmp qword [rbx + 0x18], r15
je 0x1801dc63c
cmp qword [rbx + 0x28], r15
jle 0x1801dc63c
test rsi, rsi
jle 0x1801dc63c
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.1800dcc70
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x1801dc63c
mov r12, qword [rsp + 0x48]
test r12, r12
jle 0x1801dc641
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1801dc627
cmp qword [rbx + 0x28], r15
jg 0x1801dc62a
mov rdx, r15
mov r8, rsi
mov rcx, rdi
call fcn.180298b10
mov r14, qword [rsp + 0x40]
jmp 0x1801dc649
mov r12, qword [rsp + 0x48]
mov r14, r15
mov qword [rsp + 0x40], r15
mov eax, 0x200
mov ecx, 1
test word [rbx + 0x10], ax
je 0x1801dc7cc
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rbx, r15
mov qword [rbp - 0x48], rbx
mov word [rbp + 0x98], 0xff
mov r13d, r15d
test r14, r14
jle 0x1801dc72f
movzx ebx, word [rbp + 0x98]
nop dword [rax + rax]
cmp qword [rbp - 0x40], 0x7fffffff
jge 0x1801dc72b
movsxd rsi, r13d
test rdi, rdi
je 0x1801dc6af
cmp rsi, r12
lea rax, [rsi + rdi]
jl 0x1801dc6b2
mov rax, r15
movzx eax, byte [rax]
mov byte [rbp + 0x90], al
mov byte [rsp + 0x20], 1
mov r9d, 0x4000
xor r8d, r8d
mov rdx, rcx
lea rcx, [rbp - 0x48]
call fcn.1800dcc70
test rax, rax
je 0x1801dc6e3
movzx ecx, byte [rbp + 0x90]
mov byte [rax], cl
test r13d, r13d
js 0x1801dc70a
lea rax, [rsi + 2]
cmp rax, r14
jg 0x1801dc70a
test rdi, rdi
je 0x1801dc6ff
cmp rsi, r12
lea rax, [rsi + rdi]
jl 0x1801dc702
mov rax, r15
cmp word [rax], bx
sete cl
jmp 0x1801dc70c
xor cl, cl
lea eax, [r13 + 1]
test cl, cl
cmove eax, r13d
lea r13d, [rax + 1]
movsxd rax, r13d
cmp rax, r14
mov ecx, 1
jl 0x1801dc690
mov rbx, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x40]
test rbx, rbx
je 0x1801dc7ab
cmp qword [rbp - 0x38], 0
jle 0x1801dc7ab
test rsi, rsi
jle 0x1801dc7ab
cmp rsi, r14
jle 0x1801dc775
mov rdx, rsi
sub rdx, r14
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
lea rcx, [rsp + 0x38]
call fcn.1800dcc70
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
jmp 0x1801dc791
jge 0x1801dc791
mov rax, r14
sub rax, rsi
test rax, rax
jle 0x1801dc791
sub r14, rax
test r14, r14
cmovle r14, r15
mov qword [rsp + 0x40], r14
test rdi, rdi
je 0x1801dc7ab
test r12, r12
jle 0x1801dc7ab
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.180298b10
jmp 0x1801dc7b3
mov r14, r15
mov qword [rsp + 0x40], r15
test rbx, rbx
je 0x1801dc7c0
mov rcx, rbx
call fcn.180296420
mov r13d, dword [rsp + 0x50]
mov rbx, qword [rbp + 0x80]
mov eax, 0x800
test word [rbx + 0x10], ax
je 0x1801dc7f0
lea rcx, [rsp + 0x38]
call fcn.1801e7e00
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov eax, 0x100
test word [rbx + 0x10], ax
mov rbx, r15
mov eax, 4
cmovne rbx, rax
mov qword [rsp + 0x30], rbx
test r13d, r13d
jne 0x1801dc8be
test rbx, rbx
js 0x1801dc82c
lea rax, [rbx + 1]
cmp rax, r14
jg 0x1801dc82c
movzx ecx, byte [rdi + rbx]
mov qword [rsp + 0x30], rax
jmp 0x1801dc82e
xor cl, cl
movzx ebx, cl
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov edx, ebx
lea rcx, [rsp + 0x78]
call fcn.1801e8020
nop
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
mov r8d, ebx
lea rdx, str.Text_Encoding
mov rcx, rdi
call qword [rax + 0x48]
mov rax, qword [rdi]
xor r9d, r9d
lea r8, [rsp + 0x78]
lea rdx, str.Value
mov rcx, rdi
call qword [rax + 0x40]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dc8b2
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dc8a8
mov esi, 0xffffffff
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dc8b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
cmp r13d, 1
jne 0x1801dc9d1
test rbx, rbx
js 0x1801dc8e1
lea rax, [rbx + 1]
cmp rax, r14
jg 0x1801dc8e1
movzx ecx, byte [rdi + rbx]
mov qword [rsp + 0x30], rax
jmp 0x1801dc8e3
xor cl, cl
movzx ebx, cl
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov edx, ebx
lea rcx, [rbp - 0x78]
call fcn.1801e8020
nop
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov edx, ebx
lea rcx, [rbp - 0x80]
call fcn.1801e8020
nop
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
mov r8d, ebx
lea rdx, str.Text_Encoding
mov rcx, rdi
call qword [rax + 0x48]
mov rax, qword [rdi]
xor r9d, r9d
lea r8, [rbp - 0x78]
lea rdx, str.Description
mov rcx, rdi
call qword [rax + 0x40]
mov rax, qword [rdi]
xor r9d, r9d
lea r8, [rbp - 0x80]
lea rdx, str.Value
mov rcx, rdi
call qword [rax + 0x40]
nop
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
mov esi, 0xffffffff
cmp eax, 0x7ffffc17
je 0x1801dc997
mov eax, dword [rdx + 0x10]
cmp eax, esi
je 0x1801dc98d
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dc997
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dc9c5
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dc9bb
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dc9c5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
cmp r13d, 2
jne 0x1801dcb67
test rbx, rbx
js 0x1801dc9f7
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dc9f7
movzx eax, byte [rdi + rbx]
mov rbx, rcx
mov qword [rsp + 0x30], rcx
jmp 0x1801dc9f9
xor al, al
movzx r15d, al
test rbx, rbx
js 0x1801dca19
lea rax, [rbx + 1]
cmp rax, r14
jg 0x1801dca19
movzx ecx, byte [rdi + rbx]
mov rbx, rax
mov qword [rsp + 0x30], rax
jmp 0x1801dca1b
xor cl, cl
movzx eax, cl
shl eax, 8
test rbx, rbx
js 0x1801dca3d
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dca3d
movzx edx, byte [rdi + rbx]
mov rbx, rcx
mov qword [rsp + 0x30], rcx
jmp 0x1801dca3f
xor dl, dl
movzx esi, dl
add esi, eax
shl esi, 8
test rbx, rbx
js 0x1801dca60
lea rax, [rbx + 1]
cmp rax, r14
jg 0x1801dca60
movzx ecx, byte [rdi + rbx]
mov qword [rsp + 0x30], rax
jmp 0x1801dca62
xor cl, cl
movzx eax, cl
add esi, eax
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov edx, r15d
lea rcx, [rbp - 0x68]
call fcn.1801e8020
nop
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov edx, r15d
lea rcx, [rbp - 0x70]
call fcn.1801e8020
nop
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov r8d, r15d
lea rdx, str.Text_Encoding
mov rcx, rbx
call qword [rax + 0x48]
mov rax, qword [rbx]
mov r8d, esi
lea rdx, str.Language_ID
mov rcx, rbx
call qword [rax + 0x48]
mov rax, qword [rbx]
xor r9d, r9d
lea r8, [rbp - 0x68]
lea rdx, str.Description
mov rcx, rbx
call qword [rax + 0x40]
mov rax, qword [rbx]
xor r9d, r9d
lea r8, [rbp - 0x70]
lea rdx, str.Value
mov rcx, rbx
call qword [rax + 0x40]
nop
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
mov esi, 0xffffffff
cmp eax, 0x7ffffc17
je 0x1801dcb2d
mov eax, dword [rdx + 0x10]
cmp eax, esi
je 0x1801dcb23
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dcb2d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dcb5b
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dcb51
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dcb5b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
cmp r13d, 3
jne 0x1801dd164
test rbx, rbx
js 0x1801dcb8d
lea rax, [rbx + 1]
cmp rax, r14
jg 0x1801dcb8d
movzx ecx, byte [rdi + rbx]
mov rbx, rax
mov qword [rsp + 0x30], rax
jmp 0x1801dcb8f
xor cl, cl
movzx eax, cl
mov dword [rsp + 0x50], eax
call fcn.180001e40
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x60], rax
mov esi, 0xffffffff
cmp dword [rbp + 0x88], 3
jl 0x1801dcc14
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
xor edx, edx
lea rcx, [rbp]
call fcn.1801e8020
nop
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800a0610
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dcc0f
mov eax, dword [rdx + 0x10]
cmp eax, esi
je 0x1801dcc05
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dcc0f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1801dcd2d
test rbx, rbx
js 0x1801dcc30
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dcc30
movzx eax, byte [rdi + rbx]
mov rbx, rcx
mov qword [rsp + 0x30], rcx
jmp 0x1801dcc32
xor al, al
mov byte [rbp + 0x90], al
test rbx, rbx
js 0x1801dcc54
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dcc54
movzx eax, byte [rdi + rbx]
mov rbx, rcx
mov qword [rsp + 0x30], rcx
jmp 0x1801dcc56
xor al, al
mov byte [rbp + 0x91], al
test rbx, rbx
js 0x1801dcc78
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dcc78
movzx eax, byte [rdi + rbx]
mov rbx, rcx
mov qword [rsp + 0x30], rcx
jmp 0x1801dcc7a
xor al, al
mov byte [rbp + 0x92], al
mov byte [rbp + 0x93], 0
lea r13, [rbp + 0x90]
nop
movzx eax, byte [r13]
inc r13
test al, al
jne 0x1801dcc90
lea rax, [rbp + 0x90]
sub r13d, eax
dec r13d
lea rcx, [rsp + 0x60]
test r13d, r13d
jle 0x1801dcd43
xor r9d, r9d
mov r8b, 1
mov edx, r13d
call fcn.1800a0830
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
mov r9d, r13d
lea r8, [rbp + 0x90]
xor edx, edx
xor ecx, ecx
call qword [0x1802fe300]
movsxd rdx, eax
mov rax, qword [rsp + 0x60]
cmp edx, esi
jne 0x1801dcd16
test rax, rax
jne 0x1801dccf9
mov edx, r15d
jmp 0x1801dcd1b
mov rdx, rax
nop dword [rax]
movzx ecx, word [rdx]
add rdx, 2
test cx, cx
jne 0x1801dcd00
sub rdx, rax
sar rdx, 1
dec edx
jmp 0x1801dcd1b
mov word [rax + rdx*2], r15w
mov dword [rax - 0x10], edx
mov ecx, dword [rax - 8]
cmp ecx, esi
jne 0x1801dcd2d
mov ecx, 1
xchg dword [rax - 8], ecx
mov rbx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
jmp 0x1801dcd48
call fcn.1800a09f0
test rbx, rbx
js 0x1801dcd64
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dcd64
movzx eax, byte [rdi + rbx]
mov rbx, rcx
mov qword [rsp + 0x30], rcx
jmp 0x1801dcd66
mov al, 3
movzx eax, al
mov dword [rsp + 0x68], eax
test rbx, rbx
js 0x1801dcdbc
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dcdbc
test rdi, rdi
je 0x1801dcd89
cmp rbx, r12
lea rax, [rdi + rbx]
jl 0x1801dcd8c
mov rax, r15
cmp byte [rax], 0xff
jne 0x1801dcdbc
test rcx, rcx
js 0x1801dcdbc
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcdbc
test rdi, rdi
je 0x1801dcdad
cmp rcx, r12
lea rax, [rcx + rdi]
jl 0x1801dcdb0
mov rax, r15
cmp byte [rax], 0xd8
mov byte [rbp + 0x80], 1
je 0x1801dcdc3
mov byte [rbp + 0x80], 0
test rbx, rbx
js 0x1801dcf38
lea rcx, [rbx + 1]
cmp rcx, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dcde7
cmp rbx, r12
lea rax, [rdi + rbx]
jl 0x1801dcdea
mov rax, r15
cmp byte [rax], 0x89
jne 0x1801dcf38
test rcx, rcx
js 0x1801dcf38
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dce17
cmp rcx, r12
lea rax, [rcx + rdi]
jl 0x1801dce1a
mov rax, r15
cmp byte [rax], 0x50
jne 0x1801dcf38
lea rcx, [rbx + 2]
test rcx, rcx
js 0x1801dcf38
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dce4b
cmp rcx, r12
lea rax, [rdi + rcx]
jl 0x1801dce4e
mov rax, r15
cmp byte [rax], 0x4e
jne 0x1801dcf38
lea rcx, [rbx + 3]
test rcx, rcx
js 0x1801dcf38
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dce7f
cmp rcx, r12
lea rax, [rdi + rcx]
jl 0x1801dce82
mov rax, r15
cmp byte [rax], 0x47
jne 0x1801dcf38
lea rcx, [rbx + 4]
test rcx, rcx
js 0x1801dcf38
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dceb3
cmp rcx, r12
lea rax, [rdi + rcx]
jl 0x1801dceb6
mov rax, r15
cmp byte [rax], 0xd
jne 0x1801dcf38
lea rcx, [rbx + 5]
test rcx, rcx
js 0x1801dcf38
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dcedb
cmp rcx, r12
lea rax, [rdi + rcx]
jl 0x1801dcede
mov rax, r15
cmp byte [rax], 0xa
jne 0x1801dcf38
lea rcx, [rbx + 6]
test rcx, rcx
js 0x1801dcf38
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dcf03
cmp rcx, r12
lea rax, [rdi + rcx]
jl 0x1801dcf06
mov rax, r15
cmp byte [rax], 0x1a
jne 0x1801dcf38
lea rcx, [rbx + 7]
test rcx, rcx
js 0x1801dcf38
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dcf38
test rdi, rdi
je 0x1801dcf2b
cmp rcx, r12
lea rax, [rdi + rcx]
jl 0x1801dcf2e
mov rax, r15
cmp byte [rax], 0xa
jne 0x1801dcf38
mov r13b, 1
jmp 0x1801dcf3b
xor r13b, r13b
call fcn.180001e40
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x70], rax
cmp byte [rbp + 0x80], 0
jne 0x1801dcfcb
test r13b, r13b
jne 0x1801dcfcb
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
mov edx, dword [rsp + 0x50]
lea rcx, [rbp + 8]
call fcn.1801e8020
nop
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1800a0610
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dcfb7
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dcfad
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dcfb7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x30], r15
mov r13, r15
test rbx, rbx
cmovns r13, rbx
sub r14, r13
test rdi, rdi
je 0x1801dd030
test r12, r12
jle 0x1801dd030
test r14, r14
jle 0x1801dd030
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.1800dcc70
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1801dd030
cmp qword [rbp - 0x20], 0
jle 0x1801dd030
cmp r13, r12
jge 0x1801dd023
lea r15, [rdi + r13]
mov r8, r14
mov rdx, r15
call fcn.180298b10
jmp 0x1801dd034
mov qword [rbp - 0x28], r15
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x30]
call fcn.1800dcc00
nop
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx]
mov r8d, dword [rsp + 0x50]
lea rdx, str.Text_Encoding
mov rcx, rbx
call qword [rax + 0x48]
mov rax, qword [rbx]
xor r9d, r9d
lea r8, [rsp + 0x60]
lea rdx, str.Mime_Type
mov rcx, rbx
call qword [rax + 0x40]
mov rax, qword [rbx]
mov r8d, dword [rsp + 0x68]
lea rdx, str.Picture_Type
mov rcx, rbx
call qword [rax + 0x48]
mov rax, qword [rbx]
xor r9d, r9d
lea r8, [rsp + 0x70]
lea rdx, str.Description
mov rcx, rbx
call qword [rax + 0x40]
mov rax, qword [rbx]
xor r9d, r9d
lea r8, [rbp - 0x60]
lea rdx, str.Value
mov rcx, rbx
call qword [rax + 0x40]
nop
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dd0e9
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dd0df
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dd0e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1801dd0f8
call fcn.180296420
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dd129
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dd11f
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dd129
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dd158
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dd14e
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dd158
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
cmp r13d, eax
jne 0x1801dd261
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
xor edx, edx
lea rcx, [rbp + 0x18]
call fcn.1801e8020
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
js 0x1801dd1c4
lea rax, [rcx + 1]
cmp rax, r14
jg 0x1801dd1c4
movzx eax, byte [rdi + rcx]
test al, al
je 0x1801dd1c6
cmp al, 0x33
ja 0x1801dd1ab
mov al, 1
jmp 0x1801dd1c6
cmp al, 0x66
ja 0x1801dd1b3
mov al, 2
jmp 0x1801dd1c6
cmp al, 0x99
ja 0x1801dd1bb
mov al, 3
jmp 0x1801dd1c6
cmp al, 0xcc
seta al
add al, 4
jmp 0x1801dd1c6
xor al, al
movzx edx, al
xor r8d, r8d
lea rcx, [rbp + 0x10]
call fcn.18001bc40
nop
mov rdi, qword [rsp + 0x58]
mov r10, qword [rdi]
xor r9d, r9d
mov r8, rax
lea rdx, str.Value
mov rcx, rdi
call qword [r10 + 0x40]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
mov esi, 0xffffffff
cmp eax, 0x7ffffc17
je 0x1801dd227
mov eax, dword [rdx + 0x10]
cmp eax, esi
je 0x1801dd21d
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dd227
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dd255
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dd24b
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dd255
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
cmp r13d, 5
jne 0x1801dd2f6
test rbx, rbx
js 0x1801dd28a
lea rax, [rbx + 4]
cmp rax, r14
jg 0x1801dd28a
test rdi, rdi
je 0x1801dd287
cmp rbx, r12
jge 0x1801dd287
lea r15, [rdi + rbx]
mov r15d, dword [r15]
xor r8d, r8d
mov edx, r15d
lea rcx, [rbp + 0x20]
call fcn.18001bc40
nop
mov rdi, qword [rsp + 0x58]
mov r10, qword [rdi]
xor r9d, r9d
mov r8, rax
lea rdx, str.Value
mov rcx, rdi
call qword [r10 + 0x40]
nop
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dd2ea
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dd2e0
mov esi, 0xffffffff
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dd2ea
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
cmp r13d, 6
jne 0x1801dd373
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.1801e8020
nop
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
xor r9d, r9d
lea r8, [rbp - 0x58]
lea rdx, str.Value
mov rcx, rdi
call qword [rax + 0x40]
nop
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dd367
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dd35d
mov esi, 0xffffffff
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dd367
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
cmp r13d, 7
jne 0x1801dd4ca
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x38]
xor edx, edx
lea rcx, [rsp + 0x50]
call fcn.1801e8020
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp - 0x18], r15
mov rax, qword [rsp + 0x50]
mov eax, dword [rax - 0x10]
add eax, 1
cdqe
mov rbx, r15
cmovns rbx, rax
sub r14, rbx
test rdi, rdi
je 0x1801dd408
test r12, r12
jle 0x1801dd408
test r14, r14
jle 0x1801dd408
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x18]
call fcn.1800dcc70
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1801dd408
cmp qword [rbp - 8], 0
jle 0x1801dd408
cmp rbx, r12
jge 0x1801dd3fb
lea r15, [rdi + rbx]
mov r8, r14
mov rdx, r15
call fcn.180298b10
jmp 0x1801dd40c
mov qword [rbp - 0x10], r15
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x18]
call fcn.1800dcc00
nop
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi]
xor r9d, r9d
lea r8, [rsp + 0x50]
lea rdx, str.Description
mov rcx, rdi
call qword [rax + 0x40]
mov rax, qword [rdi]
xor r9d, r9d
lea r8, [rbp - 0x50]
lea rdx, str.Value
mov rcx, rdi
call qword [rax + 0x40]
nop
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
mov esi, 0xffffffff
cmp eax, 0x7ffffc17
je 0x1801dd483
mov eax, dword [rdx + 0x10]
cmp eax, esi
je 0x1801dd479
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1801dd483
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x1801dd492
call fcn.180296420
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1801dd4c1
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1801dd4b7
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x1801dd4c1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdi, qword [rsp + 0x38]
mov bl, 1
jmp 0x1801dd4cc
xor bl, bl
test rdi, rdi
je 0x1801dd4d9
mov rcx, rdi
call fcn.180296420
movzx eax, bl
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret