Function at 0x180137d80
Capabilities:
Get thread local storage value

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x238
mov eax, dword [rsp + 0x288]
mov rsi, rcx
xor ecx, ecx
mov ebp, r9d
mov rbx, r8
mov edi, ecx
test eax, eax
jne 0x180137ddf
lea r9, [0x180044ff8]
mov r8d, 0xdb0
mov rcx, rsi
call fcn.180109730
mov edi, 0x80004005
mov eax, edi
add rsp, 0x238
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x70], rcx
mov ecx, 1
mov qword [rsp + 0xd0], rcx
test r9d, r9d
je 0x180137e04
xor edx, edx
div ebp
jmp 0x180137e06
mov eax, ecx
mov r8, qword [rsp + 0x298]
mov edx, ecx
lea r9, [rsp + 0x1d0]
mov rcx, rsi
mov qword [rsp + 0x108], rax
call fcn.1801078c0
test eax, eax
js 0x180137f25
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x1d0]
mov rcx, rsi
call fcn.1801379b0
test al, al
sete al
test al, al
jne 0x180137ea8
mov rdx, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x288]
mov rcx, rbp
mov qword [rsp + 0x98], rdx
imul rcx, rdx
cmp rcx, r11
jae 0x180137ea8
mov rcx, qword [rsp + 0xc0]
mov r10, qword [rsp + 0x108]
lea rax, [rcx + 1]
cmp r10, rax
jbe 0x180137f3d
cmp rax, rcx
cmova r10, rax
mov qword [rsp + 0x108], r10
jmp 0x180137f3d
cmp byte [rsi + 0x1b7], dil
jne 0x180137ef5
mov rdx, qword [rsp + 0x268]
mov byte [rsi + 0x1b6], 1
mov qword [rsi + 0x1b8], rdx
test rbx, rbx
je 0x18013c9c9
mov rdx, qword [rsp + 0x280]
mov r8, rbp
mov rcx, rbx
shl r8, 3
call sub.msvcrt.dll_memcpy
mov eax, edi
add rsp, 0x238
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdx, qword [rsp + 0x268]
lea r9, [0x180044ff8]
mov r8d, 0xdb0
mov rcx, rsi
call fcn.180109730
mov edi, 0x80004005
mov eax, edi
add rsp, 0x238
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov r11d, dword [rsp + 0x288]
mov rdx, qword [rsp + 0x98]
mov r10, qword [rsp + 0x108]
test rbx, rbx
je 0x18013c9c9
mov rcx, qword [rsp + 0x290]
lea rax, [rdx + 1]
cmp rax, r10
mov r8, rcx
sete al
mov byte [rsp + 0x51], al
test al, al
je 0x180137fa8
mov rax, qword [rsp + 0x280]
mov rcx, rbp
mov r11d, ebp
mov dword [rsp + 0x288], ebp
mov qword [rsp + 0x108], 1
imul rcx, rdx
lea r9, [rax + rcx*8]
mov rcx, qword [rsp + 0x290]
xor edx, edx
mov qword [rsp + 0x98], rdx
mov r8, rdx
mov qword [rsp + 0x58], r9
jmp 0x180137fb7
mov r9, qword [rsp + 0x280]
xor edx, edx
mov qword [rsp + 0x58], r9
mov ebx, dword [rsp + 0x2a0]
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm7
and ebx, 3
mov dword [rsp + 0xb8], ebx
jne 0x18013800b
test rcx, rcx
je 0x180137fec
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x180137fec
lea rdx, [rax + 0x20]
mov rcx, rsi
mov dword [rsp + 0x20], r11d
call fcn.1801070d0
mov edi, eax
test eax, eax
js 0x18013c9b9
mov r11d, dword [rsp + 0x288]
xor eax, eax
or r10, 0xffffffffffffffff
mov byte [rsp + 0x7c], 1
mov qword [rsp + 0x70], rax
test r11d, r11d
je 0x1801380a2
mov r8, qword [rsp + 0x58]
mov esi, dword [rsp + 0x7c]
mov r9d, r11d
lea r11, [0x180027d20]
mov rbp, rax
xor ebx, ebx
nop dword [rax]
mov rdx, qword [r8]
movzx esi, sil
mov rax, qword [rdx + 0xa8]
mov rcx, qword [rax + 0x10]
movsxd rax, dword [rdx + 0xa4]
or rbp, rcx
and r10, rcx
mov ecx, dword [r11 + rax*4]
shr ecx, 9
test cl, 1
cmove esi, ebx
add r8, 8
sub r9, 1
jne 0x180138040
mov ebx, dword [rsp + 0xb8]
mov r11d, dword [rsp + 0x288]
mov qword [rsp + 0x70], rbp
mov ebp, dword [rsp + 0x278]
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x7c], esi
mov rsi, qword [rsp + 0x260]
mov r8, r10
movzx r9d, r10b
mov rdx, r10
movabs rcx, 0x25e002800080
test rcx, rax
mov al, r10b
sete byte [rsp + 0xc8]
shr al, 1
shr r8, 0x1b
and al, 1
shr rdx, 0xa
shr r9b, 6
mov dword [rsp + 0xf8], eax
mov rax, r10
shr r10, 0x2e
shr rax, 0x16
and r8b, 1
and r9b, 1
and dl, 1
and r10b, 1
and al, 1
mov byte [rsp + 0x60], r9b
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xc0], r10
test r8b, r8b
je 0x180138636
mov dl, 1
mov qword [rsp + 0xf0], rdx
test ebx, ebx
jne 0x180138636
cmp byte [rsp + 0x51], bl
je 0x1801381ae
test ebp, ebp
je 0x180138177
mov rdx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x270]
mov eax, ebp
imul rax, qword [rsp + 0x98]
lea rdx, [rdx + rax*8]
mov rcx, r10
mov r8d, ebp
mov rax, qword [rdx]
add rcx, 8
add rdx, 8
sub r8, 1
mov qword [rcx - 8], rax
jne 0x180138160
jmp 0x18013817f
mov r10, qword [rsp + 0x270]
test byte [rsp + 0x2a0], 4
jne 0x18013c9b9
mov rdx, qword [rsp + 0x268]
mov r9, r10
mov r8, r10
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.180102660
mov edi, eax
jmp 0x18013c9b9
mov rcx, qword [rsi + 0x10]
or r8, 0xffffffffffffffff
lea rdx, [rcx + 0x4c8]
call fcn.1801b42c0
mov edx, dword [rsp + 0x288]
mov r8, qword [rsi + 0x10]
movzx r11d, al
mov byte [rsp + 0x50], al
mov rax, qword [rsp + 0x58]
mov r10, qword [rax]
xor r9d, r9d
lea ecx, [rdx + rdx]
mov rax, qword [r10 + 0xa8]
mov ebx, r9d
mov qword [rsp + 0x100], r8
mov qword [rsp + 0x110], rax
mov rax, r9
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x78], ebx
mov qword [rsp + 0xd8], rax
cmp ecx, 0x1ffffffe
jbe 0x180138223
mov edi, 0x80070216
jmp 0x18013827c
lea ebx, [rcx*8]
mov eax, 8
lea rcx, [r8 + 0xd280]
test ebx, ebx
cmove ebx, eax
mov edx, ebx
mov dword [rsp + 0x78], ebx
call fcn.1800c58b0
mov r8, qword [rsp + 0x100]
mov r10, qword [rsp + 0x80]
mov r11b, byte [rsp + 0x50]
mov edx, dword [rsp + 0x288]
test rax, rax
mov edi, 0x8007000e
mov r9d, 0
mov qword [rsp + 0xd8], rax
cmovne edi, r9d
test edi, edi
jns 0x1801382c7
mov ecx, ebx
test rax, rax
je 0x18013c9b9
mov rdx, qword [r8 + 0xd280]
test ebx, ebx
mov eax, 1
cmove rcx, rax
cmp rcx, qword [rdx + 8]
jae 0x1801382ac
sub qword [rdx + 8], rcx
jmp 0x18013c9b9
mov rax, qword [rdx]
lea rcx, [r8 + 0xd280]
mov qword [r8 + 0xd280], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov ebx, edx
mov edi, r9d
lea rbp, [rax + rbx*8]
test edx, edx
je 0x180138321
mov rdx, qword [rsp + 0x58]
mov esi, dword [rsp + 0x288]
mov r8, rax
mov r9, rbp
sub r8, rdx
mov rcx, rdx
sub r9, rdx
nop
mov rdx, qword [rcx]
mov rax, qword [r10 + 0xa8]
cmp qword [rdx + 0xa8], rax
jne 0x180138319
mov qword [r8 + rcx], rdx
inc edi
mov qword [r9 + rcx], 0xffffffffffffffff
add rcx, 8
cmp edi, esi
jb 0x1801382f0
mov rsi, qword [rsp + 0x260]
test r11b, r11b
je 0x18013856c
mov r11d, dword [rsp + 0x288]
cmp edi, r11d
jne 0x180138588
mov rdx, qword [rsi + 0x30]
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xb8]
movzx r9d, byte [rsi + 0x168]
mov r8, qword [rsi + 0x160]
mov rdx, qword [rdx + rax*8]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsi + 0x10]
mov dword [rsp + 0x20], r11d
call fcn.1801cfb50
mov edi, eax
test eax, eax
jns 0x1801383d6
mov rcx, qword [rsp + 0x100]
mov eax, dword [rsp + 0x78]
add rcx, 0xd280
cmp qword [rsp + 0xd8], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x1801383c6
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov r8, qword [rbp]
cmp r8, 0xffffffffffffffff
je 0x180138580
mov rax, qword [r8 + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 0xa
test cl, 1
je 0x180138576
mov r11d, dword [rsp + 0x288]
xor eax, eax
mov edi, eax
test r11d, r11d
je 0x180138434
mov rcx, rbp
nop
mov rdx, qword [rcx]
cmp rdx, 0xffffffffffffffff
je 0x180138434
mov rax, qword [r8 + 0xa8]
cmp qword [rdx + 0xa8], rax
jne 0x180138434
inc edi
add rcx, 8
cmp edi, r11d
jb 0x180138410
cmp edi, r11d
jne 0x180138588
mov rax, qword [rsi + 0x10]
inc dword [rax + 0x4cc]
test r11d, r11d
je 0x180138472
mov rax, qword [rsp + 0x58]
mov rcx, rax
sub rbp, rax
nop word [rax + rax]
mov rax, qword [rcx + rbp]
add rcx, 8
sub rbx, 1
mov qword [rcx - 8], rax
jne 0x180138460
mov eax, dword [rsp + 0x2a0]
mov r9d, dword [rsp + 0x278]
mov r8, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x290]
mov rcx, rsi
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x28], r11d
mov qword [rsp + 0x20], rax
call fcn.180137d80
mov edi, eax
test eax, eax
jns 0x18013851c
mov rcx, qword [rsp + 0x100]
mov eax, dword [rsp + 0x78]
add rcx, 0xd280
cmp qword [rsp + 0xd8], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013850c
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x100]
mov eax, dword [rsp + 0x78]
add rcx, 0xd280
cmp qword [rsp + 0xd8], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013855c
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov r11d, dword [rsp + 0x288]
jmp 0x180138588
mov r11d, dword [rsp + 0x288]
jmp 0x180138588
mov r11d, dword [rsp + 0x288]
mov rcx, qword [rsp + 0x100]
mov eax, dword [rsp + 0x78]
add rcx, 0xd280
cmp qword [rsp + 0xd8], 0
je 0x180138616
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x1801385e1
sub qword [rdx + 8], rax
mov ebx, dword [rsp + 0xb8]
mov ebp, dword [rsp + 0x278]
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0x68]
mov r9b, byte [rsp + 0x60]
jmp 0x180138636
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov ebx, dword [rsp + 0xb8]
mov r11d, dword [rsp + 0x288]
mov rdx, qword [rsp + 0xf0]
mov ebp, dword [rsp + 0x278]
mov r8, qword [rsp + 0x68]
mov r9b, byte [rsp + 0x60]
jmp 0x180138636
mov ebx, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0xf0]
mov ebp, dword [rsp + 0x278]
mov r8, qword [rsp + 0x68]
mov r9b, byte [rsp + 0x60]
bt qword [rsp + 0x70], 0x13
mov byte [rsp + 0xc9], dl
jae 0x1801386b2
mov eax, dword [rsi + 0x21c]
mov r10, qword [rsp + 0x98]
cmp r10, rax
jb 0x180138673
mov eax, dword [rsi + 0x220]
cmp qword [rsp + 0x108], rax
ja 0x180138673
test byte [rsi + 0x24], 4
je 0x180138735
mov eax, dword [rsi + 0x1c4]
mov byte [rsp + 0xf0], 0
mov ecx, eax
and ecx, 7
cmp ecx, 3
je 0x180138735
cmp ecx, 4
je 0x180138735
cmp ecx, 1
je 0x180138735
and eax, 0xfffffffa
or eax, 2
mov dword [rsi + 0x1c4], eax
jmp 0x180138735
test dl, dl
jne 0x1801386c3
mov rax, qword [rsi + 0x10]
test byte [rax + 0xcefa], 0x10
je 0x1801386d5
test r8b, r8b
je 0x18013870f
mov rax, qword [rsi + 0x10]
test byte [rax + 0xcefc], 4
jne 0x180138705
mov eax, dword [rsi + 0x1c4]
mov ecx, eax
and ecx, 7
cmp ecx, 3
je 0x18013872d
cmp ecx, 4
je 0x180138723
cmp ecx, 1
je 0x180138719
mov r10, qword [rsp + 0x98]
and eax, 0xfffffffa
or eax, 2
mov dword [rsi + 0x1c4], eax
jmp 0x180138735
mov r10, qword [rsp + 0x98]
jmp 0x180138735
mov r10, qword [rsp + 0x98]
jmp 0x180138735
mov r10, qword [rsp + 0x98]
jmp 0x180138735
mov r10, qword [rsp + 0x98]
jmp 0x180138735
mov r10, qword [rsp + 0x98]
cmp byte [rsp + 0x51], 0
je 0x18013889e
test r8b, r8b
jne 0x18013889e
test ebx, ebx
je 0x18013885b
test ebp, ebp
je 0x180138766
mov rdi, qword [rsp + 0x270]
mov ecx, ebp
or rax, 0xffffffffffffffff
rep stosq qword [rdi], rax
mov rcx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x278]
mov r9, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
and r8d, 0xfffff
mov rax, rbp
bts r8d, 0x1c
imul rax, r10
lea rbx, [rcx + rax*8]
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
cmp dword [rsp + 0x278], 0
jbe 0x180138895
mov rdi, qword [rsp + 0x270]
nop
mov rcx, qword [rbx]
mov rdx, qword [rdi]
add rbx, 8
mov rax, qword [rcx + 0x108]
add rdi, 8
sub rbp, 1
mov qword [rdx + 0x108], rax
mov eax, dword [rcx + 0x110]
mov dword [rdx + 0x110], eax
mov rax, qword [rcx + 0x128]
mov qword [rdx + 0x128], rax
mov eax, dword [rcx + 0x130]
mov dword [rdx + 0x130], eax
mov eax, dword [rcx + 0x134]
mov dword [rdx + 0x134], eax
mov eax, dword [rcx + 0x13c]
mov dword [rdx + 0x13c], eax
mov eax, dword [rcx + 0x48]
mov dword [rdx + 0x48], eax
mov eax, dword [rcx + 0xdc]
mov dword [rdx + 0xdc], eax
jne 0x1801387e0
xor eax, eax
mov edi, eax
jmp 0x18013c9b9
test ebp, ebp
je 0x180138895
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x270]
mov eax, ebp
imul rax, r10
lea rcx, [rcx + rax*8]
mov edx, ebp
nop dword [rax + rax]
mov rax, qword [rcx]
add rdi, 8
add rcx, 8
sub rdx, 1
mov qword [rdi - 8], rax
jne 0x180138880
xor eax, eax
mov edi, eax
jmp 0x18013c9b9
mov r8b, r9b
mov r10d, ebp
movzx edi, r9b
mov byte [rsp + 0x50], r9b
movsxd rbp, ebp
mov dword [rsp + 0x78], r8d
cmp dword [rsp + 0x278], r11d
jae 0x1801389a6
mov rcx, qword [rsp + 0x58]
mov rax, rbp
sub rax, rbp
lea r11, [rcx + rbp*8]
lea rbx, [rcx + rax*8]
test r8b, r8b
jne 0x1801388e4
test r9b, r9b
je 0x1801389ab
mov rdx, qword [r11]
mov rcx, qword [rbx]
mov r8, qword [rdx + 0xa8]
mov rdi, qword [rcx + 0xa8]
mov rax, qword [r8 + 0x20]
cmp qword [rdi + 0x20], rax
jne 0x18013897a
mov rax, qword [rdx + 0xc0]
cmp qword [rcx + 0xc0], rax
jne 0x18013897a
mov rax, qword [rdx + 0xb8]
cmp qword [rcx + 0xb8], rax
jne 0x18013897a
mov eax, dword [rdx + 0xb0]
cmp dword [rcx + 0xb0], eax
jne 0x180138935
cmp rdi, r8
je 0x18013893f
xor dil, dil
mov byte [rsp + 0x50], dil
jmp 0x180138944
mov dil, byte [rsp + 0x50]
mov eax, dword [rdx + 0xc8]
mov r8d, dword [rsp + 0x78]
cmp dword [rcx + 0xc8], eax
mov eax, 0
movzx r8d, r8b
cmovne r8d, eax
mov eax, dword [rdx + 0xcc]
mov dword [rsp + 0x78], r8d
cmp dword [rcx + 0xcc], eax
je 0x18013898d
xor r9b, r9b
jmp 0x18013898d
xor dil, dil
xor r8b, r8b
xor r9b, r9b
mov byte [rsp + 0x50], dil
mov dword [rsp + 0x78], r8d
inc r10d
add rbx, 8
add r11, 8
cmp r10d, dword [rsp + 0x288]
jb 0x1801388d6
test r9b, r9b
jne 0x1801389b7
xor al, al
mov qword [rsp + 0xf0], rax
jmp 0x1801389bf
mov rax, qword [rsp + 0xf0]
test dil, dil
je 0x180138afc
test r8b, r8b
je 0x180138b2c
test r9b, r9b
je 0x180138b22
cmp byte [rsp + 0x68], 0
jne 0x180138b18
mov ebx, dword [rsp + 0x278]
test ebx, ebx
je 0x180138a07
mov rbp, qword [rsp + 0x270]
mov rcx, rbx
or rax, 0xffffffffffffffff
mov rdi, rbp
rep stosq qword [rdi], rax
jmp 0x180138a0f
mov rbp, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov r8d, ebx
mov r9, rbp
and r8d, 0xfffff
mov rcx, rsi
mov qword [rsp + 0x20], rax
bts r8d, 0x1c
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
test ebx, ebx
je 0x180138af3
mov rcx, qword [rsp + 0x58]
mov rax, rbx
mov r8, rbx
imul rax, qword [rsp + 0x98]
lea rdi, [rcx + rax*8]
nop dword [rax]
mov rcx, qword [rdi]
mov rdx, qword [rbp]
add rdi, 8
mov rax, qword [rcx + 0x108]
add rbp, 8
sub r8, 1
mov qword [rdx + 0x108], rax
mov eax, dword [rcx + 0x110]
mov dword [rdx + 0x110], eax
mov rax, qword [rcx + 0x128]
mov qword [rdx + 0x128], rax
mov eax, dword [rcx + 0x130]
mov dword [rdx + 0x130], eax
mov eax, dword [rcx + 0x134]
mov dword [rdx + 0x134], eax
mov eax, dword [rcx + 0x13c]
mov dword [rdx + 0x13c], eax
mov eax, dword [rcx + 0x48]
mov dword [rdx + 0x48], eax
mov eax, dword [rcx + 0xdc]
mov dword [rdx + 0xdc], eax
jne 0x180138a80
xor eax, eax
mov edi, eax
jmp 0x18013c9b9
test r8b, r8b
jne 0x180138b36
mov r11, qword [rsp + 0xc0]
test r11b, r11b
jne 0x180138b3e
xor dl, dl
xor r10d, r10d
jmp 0x180138c76
mov r11, qword [rsp + 0xc0]
jmp 0x180138b3e
mov r11, qword [rsp + 0xc0]
jmp 0x180138b3e
mov r11, qword [rsp + 0xc0]
jmp 0x180138b3e
mov r11, qword [rsp + 0xc0]
test al, al
je 0x180138c59
test r8b, r8b
jne 0x180138bbd
mov r8, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x278]
mov r9d, 1
mov rcx, qword [r8 + rbx*8]
mov rdx, qword [r8]
mov r10d, dword [rcx + 0xc8]
sub r10d, dword [rdx + 0xc8]
cmp ebx, r9d
jbe 0x180138bc9
lea rdi, [r8 + 8]
lea r8, [r8 + rbp*8 + 8]
mov rcx, qword [r8]
mov rax, qword [rdi]
mov edx, dword [rcx + 0xc8]
sub edx, dword [rax + 0xc8]
cmp r10d, edx
jne 0x180138bb3
inc r9d
add rdi, 8
add r8, 8
cmp r9d, ebx
jb 0x180138b80
mov dil, byte [rsp + 0x50]
mov r8, qword [rsp + 0x58]
jmp 0x180138bc9
xor dl, dl
xor r10d, r10d
jmp 0x180138c76
mov ebx, dword [rsp + 0x278]
mov r8, qword [rsp + 0x58]
test dil, dil
jne 0x180138c66
mov rdx, qword [r8]
mov eax, ebx
mov r9d, 1
mov rcx, qword [r8 + rax*8]
mov r10d, dword [rcx + 0xb0]
sub r10d, dword [rdx + 0xb0]
cmp ebx, r9d
jbe 0x180138c35
lea rdi, [r8 + 8]
lea r8, [r8 + rbp*8 + 8]
nop dword [rax]
mov rcx, qword [r8]
mov rax, qword [rdi]
mov edx, dword [rcx + 0xb0]
sub edx, dword [rax + 0xb0]
cmp r10d, edx
jne 0x180138c31
inc r9d
add rdi, 8
add r8, 8
cmp r9d, ebx
jb 0x180138c00
mov rdx, qword [rsp + 0xf0]
jmp 0x180138c3d
xor dl, dl
jmp 0x180138c3d
mov rdx, qword [rsp + 0xf0]
cmp byte [rsp + 0xe0], 0
jne 0x180138c73
movzx edx, dl
test r11b, r11b
mov r10d, 0
cmove edx, r10d
jmp 0x180138c76
mov rdx, qword [rsp + 0xf0]
xor r10d, r10d
jmp 0x180138c76
mov rdx, qword [rsp + 0xf0]
xor r10d, r10d
jmp 0x180138c76
xor r10d, r10d
movzx ecx, byte [rsp + 0x51]
xor dil, dil
mov r9d, r10d
mov dword [rsp + 0xb8], r10d
test cl, cl
je 0x180138ca2
mov rax, qword [rsp + 0x68]
test al, al
je 0x180138ca7
mov r8d, dword [rsp + 0xf8]
mov dl, 1
jmp 0x180138cb9
mov rax, qword [rsp + 0x68]
mov r8d, dword [rsp + 0xf8]
test dl, dl
movzx r8d, r8b
cmove r8d, r10d
test cl, cl
jne 0x180138d49
test byte [rsp + 0x2a0], 2
je 0x180138d42
test r8b, r8b
jne 0x180138d3b
test al, al
je 0x180138cde
mov r8d, dword [rsp + 0x78]
test r8b, r8b
je 0x180138d4e
movzx edx, byte [rsi + 0x1b4]
test dl, dl
jne 0x180138cf8
cmp byte [rsi + 0x1b5], dl
jne 0x180138cf8
mov eax, 1
jmp 0x180138d07
mov eax, 0x1c
mov ecx, 0x1e
test dl, dl
cmove eax, ecx
mov rdx, qword [rsp + 0x268]
lea rcx, [0x180045020]
mov r9d, 0xdde
mov qword [rsp + 0x28], rcx
lea r8d, [r9 - 0x32]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.180109790
mov edi, 0x80004005
jmp 0x18013c9b9
mov r8d, dword [rsp + 0x78]
jmp 0x180138d4e
mov r8d, dword [rsp + 0x78]
jmp 0x180138d4e
mov r8d, dword [rsp + 0x78]
test al, al
je 0x180138dcc
test cl, cl
jne 0x180138dcc
cmp dword [rsi + 0x198], 0
je 0x180138d68
and dword [rsi + 0x1c4], 0xfffffff7
jmp 0x180138dcc
mov ecx, dword [rsi + 0x1c4]
mov eax, ecx
shr eax, 3
test al, 1
je 0x180138da2
mov eax, ecx
and eax, 7
cmp eax, 3
je 0x180138dc3
cmp eax, 4
je 0x180138db8
cmp eax, 1
je 0x180138dad
mov rax, qword [rsp + 0x68]
and ecx, 0xfffffffa
or ecx, 2
mov dword [rsi + 0x1c4], ecx
mov cl, byte [rsp + 0x51]
jmp 0x180138dcc
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x51]
jmp 0x180138dcc
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x51]
jmp 0x180138dcc
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x51]
jmp 0x180138dcc
mov rax, qword [rsp + 0x68]
mov cl, byte [rsp + 0x51]
test dl, dl
jne 0x18013bde9
cmp byte [rsp + 0xc9], dl
je 0x180138f5b
cmp byte [rsp + 0x50], dl
je 0x180138f51
mov r8d, dword [rsp + 0x278]
mov ecx, dword [rsp + 0x288]
mov ebp, 2
mov eax, ecx
lea ebx, [r8 + r8]
shr eax, 1
mov dword [rsp + 0xf8], eax
cmp ebx, eax
jae 0x180138ef2
mov dword [rsp + 0xb8], r10d
nop
movsxd r8, ebx
mov dil, 1
mov r9d, r10d
cmp r8d, ecx
jae 0x180138eca
mov rdx, qword [rsp + 0x58]
lea r11, [rdx + r8*8]
nop dword [rax + rax]
test dil, dil
je 0x180138eca
mov eax, r8d
movzx edi, dil
sub eax, ebx
mov rcx, qword [rdx + rax*8]
mov rdx, qword [r11]
mov eax, dword [rdx + 0xcc]
cmp dword [rcx + 0xcc], eax
cmovne edi, r10d
mov r10d, dword [rdx + 0xc8]
xor edx, edx
sub r10d, dword [rcx + 0xc8]
mov eax, r10d
div ebp
test edx, edx
jne 0x180138e8a
xor dil, dil
xor r10d, r10d
jmp 0x180138ea8
test r9d, r9d
jne 0x180138e97
mov r9d, r10d
xor r10d, r10d
jmp 0x180138ea8
cmp r9d, r10d
movzx edi, dil
mov r10d, 0
cmovne edi, r10d
mov ecx, dword [rsp + 0x288]
mov rdx, qword [rsp + 0x58]
inc r8d
add r11, 8
cmp r8d, ecx
jb 0x180138e40
test dil, dil
je 0x180138eca
test r9d, r9d
jne 0x180138f3d
mov r8d, dword [rsp + 0x278]
inc ebp
xor dil, dil
mov ebx, ebp
imul ebx, r8d
cmp ebx, dword [rsp + 0xf8]
jb 0x180138e20
mov r9d, dword [rsp + 0xb8]
cmp byte [rsp + 0xc8], 0
jne 0x180138fae
movzx edi, byte [rsi + 0x1b4]
movabs rax, 0x6000000000
lea rcx, [0x180034cb0]
test qword [rsp + 0x70], rax
lea rdx, [0x180034de0]
cmove rdx, rcx
test dil, dil
jne 0x180138f65
cmp byte [rsi + 0x1b5], dil
jne 0x180138f65
mov eax, 1
jmp 0x180138f75
mov r8d, dword [rsp + 0x278]
mov r9d, ebp
mov dword [rsp + 0xb8], ebp
jmp 0x180138ef2
mov r8d, dword [rsp + 0x278]
jmp 0x180138ef2
mov r8d, dword [rsp + 0x278]
jmp 0x180138ef2
mov eax, 0x1c
mov ecx, 0x1e
test dil, dil
cmove eax, ecx
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x268]
lea rcx, [0x180045068]
mov qword [rsp + 0x28], rcx
mov r9d, 0xdde
mov rcx, rsi
lea r8d, [r9 - 0x26]
mov dword [rsp + 0x20], eax
call fcn.180109790
mov edi, 0x80004005
jmp 0x18013c9b9
mov r10, qword [rsp + 0x298]
mov rdx, qword [r10]
movsxd rax, dword [rdx + 0xa4]
test eax, eax
je 0x18013bbd4
xorpd xmm6, xmm6
movsd xmm7, qword [0x180068590]
lea rcx, [0x180027d20]
mov ecx, dword [rcx + rax*4]
shr ecx, 9
test cl, 1
je 0x18013900f
mov eax, dword [rdx + 0x98]
bt rax, 0x15
jae 0x18013900f
movsd xmm0, qword [rdx + 0x158]
comisd xmm0, xmm6
jb 0x18013900f
comisd xmm7, xmmword [rdx + 0x160]
jae 0x18013bbd4
test dil, dil
je 0x18013933e
mov rcx, qword [rsi + 0x10]
xor edx, edx
mov eax, r9d
mov qword [rsp + 0x70], rcx
mov rbx, rdx
mov ebp, edx
imul eax, r8d
mov dword [rsp + 0x260], eax
cmp eax, 0x1ffffffe
jbe 0x180139047
mov edi, 0x80070216
jmp 0x1801390da
lea ebp, [rax*8]
mov eax, 8
lea rbx, [rcx + 0xd280]
mov rcx, qword [rbx]
test ebp, ebp
cmove ebp, eax
mov eax, 1
test ebp, ebp
mov edi, ebp
cmove rdi, rax
test rcx, rcx
je 0x180139081
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx + 8]
cmp rdi, rax
jbe 0x180139099
mov rdx, rdi
mov rcx, rbx
call fcn.1800c57b0
test eax, eax
je 0x180139097
xor edx, edx
mov rbx, rdx
jmp 0x1801390b3
xor edx, edx
mov rcx, qword [rbx]
test rcx, rcx
je 0x1801390ac
mov rax, qword [rcx + 8]
lea rbx, [rax + rcx + 0x18]
jmp 0x1801390af
mov rbx, rdx
add qword [rcx + 8], rdi
mov eax, dword [rsp + 0x260]
mov rcx, qword [rsp + 0x70]
mov r9d, dword [rsp + 0xb8]
mov r10, qword [rsp + 0x298]
mov edi, 0x8007000e
test rbx, rbx
cmovne edi, edx
test edi, edi
jns 0x18013911d
add rcx, 0xd280
mov eax, ebp
test rbx, rbx
je 0x18013c9b9
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013910d
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
test eax, eax
je 0x18013912d
mov ecx, eax
mov rdi, rbx
or rax, 0xffffffffffffffff
rep stosq qword [rdi], rax
mov r8, qword [r10]
mov rdx, qword [rsp + 0x268]
lea rax, [rsp + 0x100]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xc0]
mov rcx, rsi
mov qword [rsp + 0xc0], 0xffffffffffffffff
mov qword [rsp + 0x100], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.180103c50
mov edi, eax
test eax, eax
jns 0x1801391bc
mov rcx, qword [rsp + 0x70]
mov eax, ebp
add rcx, 0xd280
test rbx, rbx
je 0x18013c9b9
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x1801391ac
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov eax, dword [rsp + 0x2a0]
mov r9d, dword [rsp + 0x260]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0xc0]
mov r8, rbx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x290]
mov rcx, rsi
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x288]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.180137d80
mov edi, eax
test eax, eax
jns 0x18013925b
mov rcx, qword [rsp + 0x70]
mov eax, ebp
add rcx, 0xd280
test rbx, rbx
je 0x18013c9b9
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013924b
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov eax, dword [rsp + 0x2a0]
mov r9d, dword [rsp + 0x278]
mov r8, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x290]
mov rcx, rsi
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x260]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
call fcn.180137d80
mov edi, eax
test eax, eax
jns 0x1801392fa
mov rcx, qword [rsp + 0x70]
mov eax, ebp
add rcx, 0xd280
test rbx, rbx
je 0x18013c9b9
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x1801392ea
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x70]
mov eax, ebp
add rcx, 0xd280
test rbx, rbx
je 0x18013c9b9
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013932e
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rdi, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x98]
mov rax, rdi
sub rax, rdx
cmp rax, 4
ja 0x18013a689
cmp r8d, 1
jne 0x18013936d
cmp byte [rsp + 0x60], 0
je 0x180139382
jmp 0x180139377
cmp r8d, 4
ja 0x18013a689
cmp byte [rsp + 0x78], 0
je 0x18013a689
cmp byte [rsi + 0x1b4], 0
jne 0x180139394
cmp byte [rsi + 0x1b5], 0
je 0x1801393cd
cmp r8d, 1
ja 0x1801393a7
mov rax, qword [rsi + 0x10]
test byte [rax + 0xcefa], 0x10
jne 0x1801393cd
mov eax, dword [rsi + 0x1c4]
mov ecx, eax
and ecx, 7
cmp ecx, 3
je 0x1801393cd
cmp ecx, 4
je 0x1801393cd
cmp ecx, 1
je 0x1801393cd
and eax, 0xfffffffa
or eax, 2
mov dword [rsi + 0x1c4], eax
mov r8, qword [rsi + 0x10]
xor eax, eax
mov ebp, edi
sub ebp, edx
mov qword [rsp + 0xa8], r8
mov dword [rsp + 0xb0], 2
mov ebx, ebp
mov rdx, rax
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0x288], ebp
mov dword [rsp + 0xb4], eax
imul ebx, ebx, 7
add ebx, 4
cmp ebx, 0x1ffffffe
jbe 0x18013941a
mov edi, 0x80070216
jmp 0x180139472
lea eax, [rbx*8]
mov ecx, 8
test eax, eax
cmove eax, ecx
lea rcx, [r8 + 0xd280]
mov edx, eax
mov dword [rsp + 0xb4], eax
call fcn.1800c58b0
mov r8, qword [rsp + 0xa8]
mov r10, qword [rsp + 0x298]
test rax, rax
mov rdx, rax
mov qword [rsp + 0xa0], rax
mov eax, 0
mov edi, 0x8007000e
cmovne edi, eax
mov eax, dword [rsp + 0xb4]
test edi, edi
jns 0x1801394bd
mov ecx, eax
test rdx, rdx
je 0x18013c9b9
mov rdx, qword [r8 + 0xd280]
test eax, eax
mov eax, 1
cmove rcx, rax
cmp rcx, qword [rdx + 8]
jae 0x1801394a2
sub qword [rdx + 8], rcx
jmp 0x18013c9b9
mov rax, qword [rdx]
lea rcx, [r8 + 0xd280]
mov qword [r8 + 0xd280], rax
call fcn.1800c56f0
jmp 0x18013c9b9
test ebx, ebx
je 0x1801394cd
mov ecx, ebx
mov rdi, rdx
or rax, 0xffffffffffffffff
rep stosq qword [rdi], rax
mov r8d, 4
mov rax, rdx
lea rcx, [rsp + 0x120]
mov rdx, r8
mov qword [rcx], rax
add rcx, 8
add rax, 8
sub rdx, 1
jne 0x1801394e1
mov edi, ebp
lea rcx, [rsp + 0x140]
mov edx, 7
mov qword [rsp + 0x70], rdi
shl rdi, 3
nop word [rax + rax]
mov qword [rcx], rax
add rcx, 8
add rax, rdi
sub rdx, 1
jne 0x180139510
mov rcx, qword [r10]
mov rdx, qword [rsi + 0x10]
mov qword [rsp + 0x68], rcx
test byte [rdx + 0xcefb], 0x10
jne 0x1801395e5
mov eax, dword [rcx + 0x98]
shr rax, 0x15
test al, 1
jne 0x1801395e5
test byte [rdx + 0xcefa], 0x10
je 0x180139561
test byte [rdx + 0xcef7], 8
jne 0x1801395e5
mov rdx, qword [rsp + 0x268]
lea rax, [rsp + 0x68]
mov r8, rcx
mov r9b, 1
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180103aa0
mov edi, eax
test eax, eax
jns 0x1801395da
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x1801395ca
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x68]
mov r8d, 4
mov rdi, qword [rsi + 0x10]
test byte [rdi + 0xcefa], 0x10
je 0x180139cdb
mov rax, qword [rsp + 0x98]
mov ebx, 0x20000002
test rax, rax
je 0x1801399d8
test byte [rdi + 0xcefb], 0x10
je 0x18013987d
mov r8, qword [rdi + 0xd040]
neg eax
mov rcx, rdi
movsxd rdx, eax
xor eax, eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0xe0]
lea r9d, [rax + 0xb]
call fcn.18019f260
mov edi, eax
test eax, eax
jns 0x1801396a1
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x180139691
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x260]
mov r8d, 0x20000001
mov rcx, rsi
mov qword [rsp + 0x260], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013982a
mov rdi, qword [rsp + 0x260]
lea rcx, [0x180027d20]
mov qword [rsp + 0x68], rdi
movsxd rax, dword [rdi + 0xa4]
mov rdx, qword [rdi + 0x168]
mov ecx, dword [rcx + rax*4]
mov r9, qword [rdi + 0x170]
and ecx, 0xf
cmp cl, 3
jne 0x18013976e
mov rax, rdx
and rax, 0xffffffff80000000
cmp rax, 0xffffffff80000000
jne 0x180139746
mov edx, edx
mov rax, r9
and rax, 0xffffffff80000000
cmp rax, 0xffffffff80000000
jne 0x18013975a
mov r9d, r9d
mov rax, rdx
xor rax, r9
test rax, 0xffffffff80000000
jne 0x1801397dc
movsxd rdx, edx
movsxd r9, r9d
test rdx, rdx
jns 0x1801399d8
test r9, r9
js 0x1801399d8
mov rdx, qword [rsi + 0x10]
xor r8d, r8d
mov rcx, rdi
call fcn.18019ac60
mov edi, eax
test eax, eax
jns 0x1801399d8
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013981a
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, rdx
movabs rcx, 0xffffffff00000000
xor rax, r9
test rcx, rax
jne 0x18013980b
mov eax, 0x80000000
test rax, rdx
je 0x18013980b
test rax, r9
jne 0x18013980b
movsxd rdx, edx
movsxd r9, r9d
jmp 0x18013976e
movabs r9, 0x7fffffffffffffff
jmp 0x180139780
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013986d
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
test rax, rax
jns 0x180139893
addsd xmm0, qword [0x1800685e0]
xorpd xmm0, xmmword [0x1800686f0]
xor eax, eax
mov r9d, r8d
mov r8, qword [rdi + 0xd040]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
movsd qword [rsp + 0x20], xmm0
lea rdx, [rsp + 0xe0]
mov rcx, rdi
call fcn.18019f150
mov edi, eax
test eax, eax
jns 0x18013991e
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013990e
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x260]
mov r8d, 0x20000001
mov rcx, rsi
mov qword [rsp + 0x260], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x1801399cb
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x1801399bb
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x10]
cmp dword [rax + 0xce74], 0
je 0x180139b31
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov qword [rsp + 0x260], 0xffffffffffffffff
test byte [rax + 0xcefb], 0x10
mov eax, 0
lea r9, [rsp + 0x260]
cmovne ebx, eax
mov r8d, 0x10000001
mov rcx, rsi
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x180139a9b
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x180139a8b
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x260]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rax + 0xd080]
mov rdi, qword [rcx + 0xa8]
cmp rdi, rdx
je 0x180139b31
test rdi, rdi
je 0x180139afc
cmp rdi, 0xffffffffffffffff
je 0x180139afc
mov r8, qword [rcx + 8]
test r8, r8
je 0x180139adb
mov rax, qword [rcx]
mov qword [r8], rax
jmp 0x180139ae2
mov rax, qword [rcx]
mov qword [rdi + 0x30], rax
mov r8, qword [rcx]
test r8, r8
je 0x180139af4
mov rax, qword [rcx + 8]
mov qword [r8 + 8], rax
jmp 0x180139afc
mov rax, qword [rcx + 8]
mov qword [rdi + 0x38], rax
test rdx, rdx
je 0x180139b2a
cmp rdx, 0xffffffffffffffff
je 0x180139b2a
mov rax, qword [rdx + 0x38]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x180139b1d
mov qword [rax], rcx
jmp 0x180139b21
mov qword [rdx + 0x30], rcx
xor eax, eax
mov qword [rcx], rax
mov qword [rdx + 0x38], rcx
mov qword [rcx + 0xa8], rdx
xor edx, edx
mov ebx, edx
test ebp, ebp
je 0x18013a1be
mov eax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x168]
mov edi, 0xc
test al, al
mov edx, 4
mov rbp, rcx
cmovne edi, edx
mov dword [rsp + 0x260], edi
test al, al
je 0x180139b6f
mov r8, qword [rsi + 0x1a0]
jmp 0x180139b76
mov r8, qword [rsi + 0x1a8]
mov eax, ebx
xor r9d, r9d
mov dword [rsp + 0x28], edi
lea rdx, [rcx + rax*8]
mov rcx, qword [rsi + 0x10]
mov dword [rsp + 0x20], ebx
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x180139c88
cmp byte [rsp + 0x7c], 0
mov rcx, qword [rbp]
mov rax, qword [rsp + 0x68]
mov qword [rcx + 0xc0], rax
je 0x180139c16
mov rdx, qword [rsi + 0x10]
or qword [rcx + 0x98], 0x300000
movapd xmm3, xmm7
movapd xmm2, xmm6
call fcn.18019a700
mov edi, eax
test eax, eax
jns 0x180139c2c
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x180139c53
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rdx, qword [rsi + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
call fcn.18019ac60
mov edi, eax
test eax, eax
js 0x180139c76
inc ebx
add rbp, 8
cmp ebx, dword [rsp + 0x288]
jae 0x180139c63
mov rcx, qword [rsp + 0x168]
mov edi, dword [rsp + 0x260]
mov eax, dword [rsp + 0x7c]
jmp 0x180139b62
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov ebp, dword [rsp + 0x288]
mov r9, qword [rsp + 0x70]
xor edx, edx
jmp 0x18013a1c8
lea rcx, [rsp + 0xa0]
call fcn.18014b7c0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x180139ccb
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
xor r10d, r10d
mov ebx, r10d
test ebp, ebp
je 0x180139e45
mov rbp, qword [rsp + 0x140]
movsd xmm7, qword [0x1800686f0]
movsd xmm6, qword [0x1800685e0]
lea r9d, [r10 + 0xc]
nop word [rax + rax]
mov qword [rbp], rcx
mov rdi, qword [rsi + 0x10]
test byte [rdi + 0xcefb], 0x10
je 0x180139dad
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x148]
mov r8, qword [rdi + 0xd040]
mov eax, ebx
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r10d
add rcx, rax
lea rdx, [rdx + rax*8]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.18019f260
mov edi, eax
test eax, eax
jns 0x180139e05
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x180139e2b
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rsp + 0x98]
mov ecx, ebx
pxor xmm0, xmm0
add rax, rcx
cvtsi2sd xmm0, rax
jns 0x180139dc9
addsd xmm0, xmm6
mov rax, qword [rsp + 0x148]
mov dword [rsp + 0x30], r10d
mov r9d, r8d
xorpd xmm0, xmm7
mov r8, qword [rdi + 0xd040]
lea rdx, [rax + rcx*8]
mov dword [rsp + 0x28], r10d
movsd qword [rsp + 0x20], xmm0
mov rcx, rdi
call fcn.18019f150
mov edi, eax
test eax, eax
js 0x180139efa
inc ebx
add rbp, 8
cmp ebx, dword [rsp + 0x288]
jae 0x180139e3b
mov rcx, qword [rsp + 0x68]
mov r8d, 4
xor r10d, r10d
lea r9d, [r8 + 8]
jmp 0x180139d10
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov ebp, dword [rsp + 0x288]
xor r10d, r10d
mov rax, qword [rsi + 0x10]
test byte [rax + 0xcefb], 0x10
je 0x18013a007
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x140]
and ebp, 0xfffff
mov r8d, ebp
mov r9, rbx
mov rcx, rsi
or r8d, 0x22300000
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x180139f5d
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x180139f4d
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x180139f3d
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
cmp byte [rsp + 0x7c], 0
je 0x180139fbe
mov r9, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
or ebp, 0x13e00000
mov rcx, rsi
mov r8d, ebp
mov qword [rsp + 0x20], rbx
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013a1a7
lea rcx, [rsp + 0xa0]
call fcn.18014b7c0
jmp 0x18013c9b9
mov ebp, dword [rsp + 0x288]
test ebp, ebp
je 0x18013a1b7
mov rax, qword [rsp + 0x168]
mov r9, rbp
mov rdx, rbp
mov rcx, rax
sub rbx, rax
nop word [rax + rax]
mov rax, qword [rcx + rbx]
add rcx, 8
sub rdx, 1
mov qword [rcx - 8], rax
jne 0x180139ff0
jmp 0x18013a1c8
mov rax, qword [rsp + 0x148]
mov r9, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], 0x20
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x140]
mov ebx, ebp
and ebx, 0xfffff
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov r8d, ebx
bts r8d, 0x1d
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013a0b7
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a0a7
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rax, qword [rsp + 0x150]
mov r9, qword [rsp + 0x160]
mov r8, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x268]
mov rcx, rsi
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rax
call fcn.180103260
mov edi, eax
test eax, eax
jns 0x18013a141
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a131
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov r9, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x158]
or ebx, 0x21900000
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x160]
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013a1c3
lea rcx, [rsp + 0xa0]
call fcn.18014b7c0
jmp 0x18013c9b9
mov ebp, dword [rsp + 0x288]
mov r9, qword [rsp + 0x70]
xor edx, edx
jmp 0x18013a1c8
mov r9, rbp
xor edx, edx
jmp 0x18013a1c8
mov r9d, ebp
jmp 0x18013a1c8
mov r9d, ebp
xor edx, edx
mov r8d, dword [rsp + 0x278]
test r8d, r8d
je 0x18013a1e7
mov rdi, qword [rsp + 0x270]
mov rcx, r8
or rax, 0xffffffffffffffff
rep stosq qword [rdi], rax
mov ebx, edx
mov qword [rsp + 0x260], rdx
test r8d, r8d
je 0x18013a62c
nop word [rax + rax]
test ebp, ebp
je 0x18013a244
mov rcx, qword [rsp + 0x170]
mov eax, r8d
mov rdi, r9
lea r8, [rax*8]
imul rax, qword [rsp + 0x98]
add rax, rdx
mov rdx, qword [rsp + 0x58]
lea rdx, [rdx + rax*8]
nop
mov rax, qword [rdx]
add rcx, 8
add rdx, r8
sub rdi, 1
mov qword [rcx - 8], rax
jne 0x18013a230
mov rax, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x268]
mov rcx, rsi
mov r9, rax
mov r8, rax
mov dword [rsp + 0x20], ebp
call fcn.1801024b0
mov edi, eax
test eax, eax
js 0x18013a5d9
cmp byte [rsp + 0x7c], 0
je 0x18013a328
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov eax, ebx
mov r8d, ebp
lea r9, [rcx + rax*8]
xor eax, eax
and r8d, 0xfffff
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x170]
or r8d, 0x50000000
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013a4f5
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a523
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov r9, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x168]
mov r8d, ebp
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x170]
and r8d, 0xfffff
or r8d, 0x22d00000
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013a586
mov rcx, qword [rsp + 0x158]
mov r9, qword [rcx]
mov qword [rsp + 0x80], r9
cmp ebp, 1
jbe 0x18013a3ae
mov rdi, qword [rcx + 8]
mov qword [rsp + 0xe0], rdi
jmp 0x18013a3d0
mov edx, dword [r9 + 0xa4]
mov rcx, rsi
call fcn.1801067e0
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rax]
mov qword [rsp + 0xe0], rdi
cmp ebp, 2
jbe 0x18013a3e3
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x88], rax
jmp 0x18013a405
mov edx, dword [r9 + 0xa4]
mov rcx, rsi
call fcn.1801067e0
mov rcx, qword [rax]
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsp + 0x158]
cmp ebp, 3
jbe 0x18013a418
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0xe8], rax
jmp 0x18013a431
mov edx, dword [rdi + 0xa4]
mov rcx, rsi
call fcn.1801067e0
mov rcx, qword [rax]
mov qword [rsp + 0xe8], rcx
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
lea r9, [rsp + 0x110]
mov r8d, 0x22e00002
mov rcx, rsi
mov qword [rsp + 0x110], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x118], 0xffffffffffffffff
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013a533
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov eax, ebx
mov r8d, 0x22e00001
lea r9, [rcx + rax*8]
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013a533
mov rdx, qword [rsp + 0x260]
mov r8d, dword [rsp + 0x278]
inc ebx
inc rdx
mov qword [rsp + 0x260], rdx
cmp ebx, r8d
jae 0x18013a62c
mov r9d, ebp
jmp 0x18013a200
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a576
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a5c9
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a61c
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xb4]
add rcx, 0xd280
cmp qword [rsp + 0xa0], 0
je 0x18013c9e1
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a674
sub qword [rdx + 8], rax
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
cmp byte [rsi + 0x1b4], 0
jne 0x18013a69b
cmp byte [rsi + 0x1b5], 0
je 0x18013a6c1
mov eax, dword [rsi + 0x1c4]
mov ecx, eax
and ecx, 7
cmp ecx, 3
je 0x18013a6c1
cmp ecx, 4
je 0x18013a6c1
cmp ecx, 1
je 0x18013a6c1
and eax, 0xfffffffa
or eax, 2
mov dword [rsi + 0x1c4], eax
mov r9d, edi
mov dword [rsp + 0x90], 2
sub r9d, edx
mov dword [rsp + 0x288], r9d
lea eax, [r9 + r9*2]
add eax, eax
lea ebx, [rax + r8*4 + 4]
mov r8, qword [rsi + 0x10]
xor eax, eax
mov rbp, rax
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x94], eax
mov qword [rsp + 0x88], r8
cmp ebx, 0x1ffffffe
jbe 0x18013a714
mov edi, 0x80070216
jmp 0x18013a774
lea eax, [rbx*8]
mov ecx, 8
test eax, eax
cmove eax, ecx
lea rcx, [r8 + 0xd280]
mov edx, eax
mov dword [rsp + 0x94], eax
call fcn.1800c58b0
mov r8, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x288]
mov r10, qword [rsp + 0x298]
test rax, rax
mov rbp, rax
mov qword [rsp + 0x80], rax
mov eax, 0
mov edi, 0x8007000e
cmovne edi, eax
mov eax, dword [rsp + 0x94]
test edi, edi
jns 0x18013a7bf
mov ecx, eax
test rbp, rbp
je 0x18013c9b9
mov rdx, qword [r8 + 0xd280]
test eax, eax
mov eax, 1
cmove rcx, rax
cmp rcx, qword [rdx + 8]
jae 0x18013a7a4
sub qword [rdx + 8], rcx
jmp 0x18013c9b9
mov rax, qword [rdx]
lea rcx, [r8 + 0xd280]
mov qword [r8 + 0xd280], rax
call fcn.1800c56f0
jmp 0x18013c9b9
test ebx, ebx
je 0x18013a7cf
mov ecx, ebx
mov rdi, rbp
or rax, 0xffffffffffffffff
rep stosq qword [rdi], rax
mov r8d, 4
mov rax, rbp
lea rcx, [rsp + 0x120]
mov rdx, r8
nop word [rax + rax]
mov qword [rcx], rax
add rcx, 8
add rax, 8
sub rdx, 1
jne 0x18013a7f0
mov edi, r9d
lea rcx, [rsp + 0x140]
mov edx, 6
mov qword [rsp + 0xe0], rdi
shl rdi, 3
nop dword [rax]
mov qword [rcx], rax
add rcx, 8
add rax, rdi
sub rdx, 1
jne 0x18013a820
mov ecx, dword [rsp + 0x278]
mov rdx, r8
lea rdi, [rcx*8]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x110], rdi
nop word [rax + rax]
mov qword [rcx], rax
add rcx, 8
add rax, rdi
sub rdx, 1
jne 0x18013a860
mov rcx, qword [r10]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x68], rcx
test byte [rax + 0xcefb], 0x10
jne 0x18013a921
mov eax, dword [rcx + 0x98]
shr rax, 0x15
test al, 1
jne 0x18013a921
mov rdx, qword [rsp + 0x268]
lea rax, [rsp + 0x68]
mov r8, rcx
mov r9b, 1
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180103aa0
mov edi, eax
test eax, eax
jns 0x18013a90e
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a8fe
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x288]
mov r8d, 4
mov rdi, qword [rsi + 0x10]
mov rax, qword [rsp + 0x168]
test byte [rdi + 0xcefa], 0x10
mov qword [rsp + 0xc0], rax
je 0x18013afaa
cmp r9d, 4
ja 0x18013afaa
mov rax, qword [rsp + 0x98]
mov ebx, 0x20000002
test rax, rax
je 0x18013ac94
test byte [rdi + 0xcefb], 0x10
je 0x18013ab80
mov r8, qword [rdi + 0xd040]
neg eax
mov rcx, rdi
movsxd rdx, eax
xor eax, eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0xe0]
lea r9d, [rax + 0xb]
call fcn.18019f260
mov edi, eax
test eax, eax
jns 0x18013a9f1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013a9e1
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x260]
mov r8d, 0x20000001
mov rcx, rsi
mov qword [rsp + 0x260], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013ab33
mov rdi, qword [rsp + 0x260]
lea rcx, [0x180027d20]
mov qword [rsp + 0x68], rdi
movsxd rax, dword [rdi + 0xa4]
mov rdx, qword [rdi + 0x168]
mov ecx, dword [rcx + rax*4]
mov r9, qword [rdi + 0x170]
and ecx, 0xf
cmp cl, 3
jne 0x18013aabe
mov rax, rdx
and rax, 0xffffffff80000000
cmp rax, 0xffffffff80000000
jne 0x18013aa96
mov edx, edx
mov rax, r9
and rax, 0xffffffff80000000
cmp rax, 0xffffffff80000000
jne 0x18013aaaa
mov r9d, r9d
mov rax, rdx
xor rax, r9
test rax, 0xffffffff80000000
jne 0x18013aafb
movsxd rdx, edx
movsxd r9, r9d
test rdx, rdx
jns 0x18013ac94
test r9, r9
js 0x18013ac94
mov rdx, qword [rsi + 0x10]
xor r8d, r8d
mov rcx, rdi
call fcn.18019ac60
mov edi, eax
test eax, eax
jns 0x18013ac94
lea rcx, [rsp + 0x80]
call fcn.18014b7c0
jmp 0x18013c9b9
mov rax, rdx
movabs rcx, 0xffffffff00000000
xor rax, r9
test rcx, rax
jne 0x18013ab27
mov eax, 0x80000000
test rax, rdx
je 0x18013ab27
test rax, r9
jne 0x18013ab27
movsxd rdx, edx
movsxd r9, r9d
jmp 0x18013aabe
movabs r9, 0x7fffffffffffffff
jmp 0x18013aad0
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013ab70
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
test rax, rax
jns 0x18013ab96
addsd xmm0, qword [0x1800685e0]
xorpd xmm0, xmmword [0x1800686f0]
xor eax, eax
mov r9d, r8d
mov r8, qword [rdi + 0xd040]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
movsd qword [rsp + 0x20], xmm0
lea rdx, [rsp + 0xe0]
mov rcx, rdi
call fcn.18019f150
mov edi, eax
test eax, eax
jns 0x18013ac1b
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013ac0b
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x260]
mov r8d, 0x20000001
mov rcx, rsi
mov qword [rsp + 0x260], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013ac87
lea rcx, [rsp + 0x80]
call fcn.18014b7c0
jmp 0x18013c9b9
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x10]
cmp dword [rax + 0xce74], 0
je 0x18013adb1
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], ebx
xor ebx, ebx
lea rax, [rsp + 0x68]
lea r9, [rsp + 0x260]
mov qword [rsp + 0x30], rbx
mov r8d, 0x10000001
mov rcx, rsi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x260], 0xffffffffffffffff
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013ad09
lea rcx, [rsp + 0x80]
call fcn.18014b7c0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x260]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x68], rcx
mov rdx, qword [rax + 0xd080]
mov rdi, qword [rcx + 0xa8]
cmp rdi, rdx
je 0x18013adb3
test rdi, rdi
je 0x18013ad6e
cmp rdi, 0xffffffffffffffff
je 0x18013ad6e
mov r8, qword [rcx + 8]
test r8, r8
je 0x18013ad4d
mov rax, qword [rcx]
mov qword [r8], rax
jmp 0x18013ad54
mov rax, qword [rcx]
mov qword [rdi + 0x30], rax
mov r8, qword [rcx]
test r8, r8
je 0x18013ad66
mov rax, qword [rcx + 8]
mov qword [r8 + 8], rax
jmp 0x18013ad6e
mov rax, qword [rcx + 8]
mov qword [rdi + 0x38], rax
test rdx, rdx
je 0x18013ada8
cmp rdx, 0xffffffffffffffff
je 0x18013ada8
mov rax, qword [rdx + 0x38]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x18013ad9d
mov qword [rax], rcx
mov qword [rcx], rbx
mov qword [rdx + 0x38], rcx
mov qword [rcx + 0xa8], rdx
jmp 0x18013adb3
mov qword [rdx + 0x30], rcx
mov qword [rcx], rbx
mov qword [rdx + 0x38], rcx
mov qword [rcx + 0xa8], rdx
jmp 0x18013adb3
xor ebx, ebx
mov edi, dword [rsp + 0x288]
test edi, edi
je 0x18013b53a
mov eax, dword [rsp + 0x7c]
mov edx, 4
mov ecx, 0xc
test al, al
cmovne ecx, edx
mov rdx, qword [rsp + 0x168]
mov rbp, rdx
mov dword [rsp + 0x260], ecx
test al, al
je 0x18013adf4
mov r8, qword [rsi + 0x1a0]
jmp 0x18013adfb
mov r8, qword [rsi + 0x1a8]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsi + 0x10]
mov eax, ebx
lea rdx, [rdx + rax*8]
xor r9d, r9d
mov dword [rsp + 0x20], ebx
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x18013af57
mov rcx, qword [rbp]
call fcn.180199f00
cmp byte [rsp + 0x7c], 0
mov rdx, qword [rsp + 0x68]
mov qword [rcx + 0xc0], rdx
je 0x18013aea0
mov rdx, qword [rsi + 0x10]
or qword [rcx + 0x98], 0x300000
movapd xmm3, xmm7
movapd xmm2, xmm6
call fcn.18019a700
mov edi, eax
test eax, eax
jns 0x18013aeb6
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013aedf
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rdx, qword [rsi + 0x10]
xor r9d, r9d
or r8, 0xffffffffffffffff
call fcn.18019ac60
mov edi, eax
test eax, eax
js 0x18013af04
mov edi, dword [rsp + 0x288]
inc ebx
add rbp, 8
cmp ebx, edi
jae 0x18013aeef
mov ecx, dword [rsp + 0x260]
mov rdx, qword [rsp + 0x168]
mov eax, dword [rsp + 0x7c]
jmp 0x18013ade7
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rbp, qword [rsp + 0x80]
mov r11, qword [rsp + 0x168]
jmp 0x18013b542
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013af47
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013af9a
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
xor r10d, r10d
mov ebx, r10d
test r9d, r9d
je 0x18013b105
mov rbp, qword [rsp + 0x140]
movsd xmm7, qword [0x1800686f0]
movsd xmm6, qword [0x1800685e0]
mov qword [rbp], rcx
mov rdi, qword [rsi + 0x10]
test byte [rdi + 0xcefb], 0x10
je 0x18013b074
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x148]
mov r8, qword [rdi + 0xd040]
mov eax, ebx
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r10d
add rcx, rax
lea rdx, [rdx + rax*8]
mov r9d, 0xb
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.18019f260
mov edi, eax
test eax, eax
jns 0x18013b0cc
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b0f2
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rsp + 0x98]
mov ecx, ebx
pxor xmm0, xmm0
add rax, rcx
cvtsi2sd xmm0, rax
jns 0x18013b090
addsd xmm0, xmm6
mov rax, qword [rsp + 0x148]
mov dword [rsp + 0x30], r10d
mov r9d, r8d
xorpd xmm0, xmm7
mov r8, qword [rdi + 0xd040]
lea rdx, [rax + rcx*8]
mov dword [rsp + 0x28], r10d
movsd qword [rsp + 0x20], xmm0
mov rcx, rdi
call fcn.18019f150
mov edi, eax
test eax, eax
js 0x18013b1bd
mov r9d, dword [rsp + 0x288]
inc ebx
add rbp, 8
cmp ebx, r9d
jae 0x18013b102
mov rcx, qword [rsp + 0x68]
mov r8d, 4
xor r10d, r10d
jmp 0x18013afd1
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
xor r10d, r10d
mov rax, qword [rsi + 0x10]
test byte [rax + 0xcefb], 0x10
je 0x18013b317
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], r10d
mov ebp, r9d
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x140]
and ebp, 0xfffff
mov r9, rbx
mov rcx, rsi
mov r8d, ebp
mov qword [rsp + 0x20], rax
or r8d, 0x22300000
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013b220
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b210
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b200
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
cmp byte [rsp + 0x7c], 0
je 0x18013b2c6
mov r9, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
or ebp, 0x13e00000
mov rcx, rsi
mov r8d, ebp
mov qword [rsp + 0x20], rbx
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013b4f6
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b2b6
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov edi, dword [rsp + 0x288]
test edi, edi
je 0x18013b50f
mov r11, qword [rsp + 0x168]
mov rsi, qword [rsp + 0xe0]
mov rcx, r11
sub rbx, r11
nop dword [rax + rax]
mov rax, qword [rbx + rcx]
add rcx, 8
sub rsi, 1
mov qword [rcx - 8], rax
jne 0x18013b2f0
mov rsi, qword [rsp + 0x260]
mov rbp, qword [rsp + 0x80]
jmp 0x18013b542
mov rax, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x40], 0x11
mov ebx, r9d
mov dword [rsp + 0x38], 0x20
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x140]
and ebx, 0xfffff
mov r9, rbp
mov rcx, rsi
mov r8d, ebx
mov qword [rsp + 0x20], rax
bts r8d, 0x1d
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013b3cb
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b3bb
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov eax, dword [rsp + 0x288]
mov r8, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x268]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbp
mov rbp, qword [rsp + 0x160]
mov r9, rbp
mov rcx, rsi
call fcn.180103260
mov edi, eax
test eax, eax
jns 0x18013b457
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b447
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov r9, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x158]
or ebx, 0x21900000
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov r8d, ebx
mov qword [rsp + 0x20], rbp
call fcn.18012ed20
mov edi, eax
test eax, eax
jns 0x18013b521
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
cmp qword [rsp + 0x80], 0
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b4e6
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rbp, qword [rsp + 0x80]
mov r11, qword [rsp + 0x168]
mov edi, dword [rsp + 0x288]
jmp 0x18013b542
mov rbp, qword [rsp + 0x80]
mov r11, qword [rsp + 0x168]
jmp 0x18013b542
mov rbp, qword [rsp + 0x80]
mov r11, qword [rsp + 0x168]
mov edi, dword [rsp + 0x288]
jmp 0x18013b542
mov r11, qword [rsp + 0x168]
mov edx, dword [rsp + 0x278]
test edx, edx
je 0x18013b593
mov rcx, qword [rsp + 0x270]
mov ebp, dword [rsp + 0x7c]
mov r8d, edx
mov rdx, r8
nop
test bpl, bpl
je 0x18013b56e
mov rax, qword [rsi + 0xc8]
jmp 0x18013b575
mov rax, qword [rsi + 0xa8]
mov qword [rcx], rax
add rcx, 8
sub rdx, 1
jne 0x18013b560
mov rbp, qword [rsp + 0x80]
mov edx, dword [rsp + 0x278]
jmp 0x18013b59b
mov r8d, dword [rsp + 0x278]
xor eax, eax
mov dword [rsp + 0x260], eax
test edi, edi
je 0x18013b95e
mov rcx, qword [rsp + 0x58]
mov rax, r8
imul rax, qword [rsp + 0x98]
lea rax, [rcx + rax*8]
mov qword [rsp + 0x70], rax
test edx, edx
je 0x18013b66b
mov rdi, qword [rsp + 0x270]
mov rbx, qword [rsp + 0x178]
mov r8, qword [rsp + 0x170]
mov r10, qword [rsp + 0x188]
sub r8, rdi
mov r9, rbx
sub r9, rdi
mov rcx, rdi
sub r10, rdi
mov edi, dword [rsp + 0x278]
mov rdx, rax
nop word [rax + rax]
mov rax, qword [r11]
add rcx, 8
add rdx, 8
sub rdi, 1
mov qword [r8 + rcx - 8], rax
mov rax, qword [rcx - 8]
mov qword [r9 + rcx - 8], rax
mov rax, qword [rdx - 8]
mov qword [r10 + rcx - 8], rax
jne 0x18013b610
mov edx, dword [rsp + 0x278]
mov rdi, qword [rsp + 0x270]
or rax, 0xffffffffffffffff
mov rcx, rdx
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 0x180]
mov rcx, rdx
mov edx, dword [rsp + 0x278]
or rax, rax
rep stosq qword [rdi], rax
jmp 0x18013b673
mov rbx, qword [rsp + 0x178]
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x268]
mov r9, rbx
mov r8, rbx
mov rcx, rsi
call fcn.1801024b0
mov edi, eax
test eax, eax
js 0x18013bb72
mov eax, dword [rsp + 0x278]
mov rdx, qword [rsp + 0x268]
mov rcx, rsi
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x188]
mov r9, rax
mov r8, rax
call fcn.1801024b0
mov edi, eax
test eax, eax
js 0x18013bb25
cmp byte [rsp + 0x7c], 0
je 0x18013b80c
mov rax, qword [rsi + 0x10]
test byte [rax + 0xcef5], 2
je 0x18013b749
test byte [rax + 0xcef4], 4
jne 0x18013b749
mov edx, dword [rsp + 0x278]
test edx, edx
je 0x18013b91b
mov rax, qword [rsp + 0x170]
mov r8, qword [rsp + 0x270]
mov dword [rsp + 0x30], edx
mov rdx, qword [rsp + 0x268]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x188]
mov r9, rbx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.18016e410
mov edi, eax
test eax, eax
js 0x18013b9a4
mov edx, dword [rsp + 0x278]
jmp 0x18013b91b
mov ebx, dword [rsp + 0x278]
mov r9, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
and ebx, 0xfffff
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x170]
mov r8d, ebx
or r8d, 0x20400000
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013b9f1
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x270]
bts ebx, 0x1d
mov r8d, ebx
mov rcx, rsi
mov r9, rax
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013b9f1
mov edx, dword [rsp + 0x278]
jmp 0x18013b91b
mov ebx, dword [rsp + 0x278]
mov r9, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0xc
and ebx, 0xfffff
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x188]
mov r8d, ebx
mov rcx, rsi
bts r8d, 0x1c
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013bad8
mov r9, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0xc
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x180]
mov r8d, ebx
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x170]
or r8d, 0x22d00000
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013ba8b
mov rdx, qword [rsp + 0x268]
xor eax, eax
mov dword [rsp + 0x40], 0xc
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x270]
or ebx, 0x22e00000
mov r8d, ebx
mov rcx, rsi
mov r9, rax
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013ba3e
mov edx, dword [rsp + 0x278]
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x260]
mov r11, qword [rsp + 0xc0]
add rax, qword [rsp + 0x110]
inc ecx
add r11, 8
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x260], ecx
mov qword [rsp + 0xc0], r11
cmp ecx, dword [rsp + 0x288]
jb 0x18013b5c6
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9d7
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bbbf
sub qword [rdx + 8], rax
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013b9e1
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013ba2e
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013ba7b
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bac8
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bb15
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bb62
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x94]
add rcx, 0xd280
test rbp, rbp
je 0x18013c9b9
test rax, rax
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bbaf
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rcx, qword [rsi + 0x10]
xor edx, edx
mov qword [rsp + 0x260], rcx
mov rbx, rdx
mov ebp, edx
cmp r8d, 0x1ffffffe
jbe 0x18013bbfa
mov edi, 0x80070216
jmp 0x18013bc8a
lea ebp, [r8*8]
mov eax, 8
lea rbx, [rcx + 0xd280]
mov rcx, qword [rbx]
test ebp, ebp
cmove ebp, eax
mov eax, 1
test ebp, ebp
mov edi, ebp
cmove rdi, rax
test rcx, rcx
je 0x18013bc35
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx + 8]
cmp rdi, rax
jbe 0x18013bc4d
mov rdx, rdi
mov rcx, rbx
call fcn.1800c57b0
test eax, eax
je 0x18013bc4b
xor edx, edx
mov rbx, rdx
jmp 0x18013bc67
xor edx, edx
mov rcx, qword [rbx]
test rcx, rcx
je 0x18013bc60
mov rax, qword [rcx + 8]
lea rbx, [rax + rcx + 0x18]
jmp 0x18013bc63
mov rbx, rdx
add qword [rcx + 8], rdi
mov rcx, qword [rsp + 0x260]
mov r8d, dword [rsp + 0x278]
mov r10, qword [rsp + 0x298]
mov edi, 0x8007000e
test rbx, rbx
cmovne edi, edx
test edi, edi
jns 0x18013bccd
add rcx, 0xd280
mov eax, ebp
test rbx, rbx
je 0x18013c9b9
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bcbd
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
test r8d, r8d
je 0x18013bcf1
mov rcx, rbx
mov edx, r8d
nop dword [rax + rax]
mov rax, qword [r10]
add rcx, 8
sub rdx, 1
mov qword [rcx - 8], rax
jne 0x18013bce0
test r8d, r8d
je 0x18013bd0d
mov rdx, qword [rsp + 0x270]
mov ecx, r8d
or rax, 0xffffffffffffffff
mov rdi, rdx
rep stosq qword [rdi], rax
jmp 0x18013bd15
mov rdx, qword [rsp + 0x270]
test r8d, r8d
je 0x18013bd98
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x30], r8d
mov eax, r8d
lea rcx, [rdi + rax*8]
mov r8, rdx
mov rdx, qword [rsp + 0x268]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rcx
mov r9, rdi
mov rcx, rsi
call fcn.18016e410
mov edi, eax
test eax, eax
jns 0x18013bd98
mov rcx, qword [rsp + 0x260]
mov eax, ebp
add rcx, 0xd280
test rbx, rbx
je 0x18013c9b9
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bd88
sub qword [rdx + 8], rax
jmp 0x18013c9b9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
jmp 0x18013c9b9
mov rcx, qword [rsp + 0x260]
mov eax, ebp
add rcx, 0xd280
test rbx, rbx
je 0x18013c9f5
test ebp, ebp
mov edx, 1
cmove rax, rdx
mov rdx, qword [rcx]
cmp rax, qword [rdx + 8]
jae 0x18013bdd4
sub qword [rdx + 8], rax
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
cmp byte [rsp + 0x50], 0
jne 0x18013bdf5
test r11b, r11b
jne 0x18013be06
test r8b, r8b
je 0x18013bfe9
test al, al
jne 0x18013bfe9
mov eax, dword [rsp + 0x278]
cmp dword [rsp + 0x288], eax
jbe 0x18013be32
mov rbp, qword [rsp + 0x58]
mov rcx, qword [rbp + rax*8]
mov rdx, qword [rbp]
mov eax, dword [rcx + 0xb0]
sub eax, dword [rdx + 0xb0]
jmp 0x18013be3c
mov rbp, qword [rsp + 0x58]
mov eax, 1
mov r9, qword [rsp + 0x298]
mov qword [rsp + 0x70], 0xffffffffffffffff
mov r9, qword [r9]
mov qword [rsp + 0x260], r9
cmp eax, 1
je 0x18013bfdc
mov rbx, qword [rsp + 0x268]
lea rcx, [rsp + 0x260]
mov r8d, eax
mov qword [rsp + 0x20], rcx
mov rdx, rbx
mov rcx, rsi
call fcn.180137b20
mov edi, eax
test eax, eax
js 0x18013c9b9
xor r10d, r10d
mov rax, qword [rbp]
mov rcx, qword [rax + 0xc0]
mov qword [rsp + 0xe0], rcx
cmp rcx, 0xffffffffffffffff
je 0x18013bf0c
mov dword [rsp + 0x40], 0x11
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x30], r10
lea rax, [rsp + 0x260]
lea r9, [rsp + 0x70]
mov r8d, 0x20000001
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe0]
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x70], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x260], rax
xor edi, edi
mov ebx, edi
cmp dword [rsp + 0x278], ebx
jbe 0x18013c7da
mov rdx, qword [rsp + 0x270]
mov rax, rdx
sub rax, qword [rsp + 0x58]
mov qword [rsp + 0x110], rax
nop word [rax + rax]
mov rcx, qword [rsi + 0x10]
mov eax, ebx
xor r9d, r9d
mov r8, qword [rcx + 0xd078]
lea rdx, [rdx + rax*8]
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], edi
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0x110]
mov rdx, qword [rbp]
mov rcx, qword [rax + rbp]
call fcn.1801994e0
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rdx, qword [rsp + 0x270]
mov qword [rcx + 0xe8], 0xffffffffffffffff
mov dword [rcx + 0xdc], 0xffffffff
mov rax, qword [rsp + 0x260]
inc ebx
add rbp, 8
mov qword [rcx + 0xb8], rax
mov edi, 0
cmp ebx, dword [rsp + 0x278]
jb 0x18013bf40
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rbx, qword [rsp + 0x268]
jmp 0x18013be91
test cl, cl
je 0x18013c103
test al, al
je 0x18013c103
mov r8d, dword [rsp + 0x278]
test r8d, r8d
je 0x18013c047
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x270]
mov rax, r8
imul rax, qword [rsp + 0x98]
lea rdx, [rdx + rax*8]
mov rcx, r9
mov rdi, r8
nop dword [rax]
mov rax, qword [rdx]
add rcx, 8
add rdx, 8
sub rdi, 1
mov qword [rcx - 8], rax
jne 0x18013c030
jmp 0x18013c04f
mov r9, qword [rsp + 0x270]
mov ebx, r10d
mov rbp, r10
test r8d, r8d
je 0x18013c0fb
nop
mov rcx, qword [rsi + 0x10]
mov eax, ebx
mov dword [rsp + 0x28], 0x11
mov r8, qword [rcx + 0xd078]
lea rdx, [r9 + rax*8]
xor r9d, r9d
mov dword [rsp + 0x20], r10d
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0x270]
mov edi, dword [rsp + 0x278]
mov rcx, qword [rax + rbp*8]
mov rax, qword [rsp + 0x58]
mov rdx, rdi
imul rdx, qword [rsp + 0x98]
add rdx, rbp
mov rdx, qword [rax + rdx*8]
call fcn.1801994e0
mov r9, qword [rsp + 0x270]
inc ebx
inc rbp
mov qword [rcx + 0xe8], 0xffffffffffffffff
mov dword [rcx + 0xdc], 0xffffffff
mov qword [rcx + 0xc0], 0xffffffffffffffff
mov r10d, 0
cmp ebx, edi
jb 0x18013c060
mov edi, r10d
jmp 0x18013c9b9
mov eax, dword [rsp + 0x278]
cmp dword [rsp + 0x288], eax
jbe 0x18013c135
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
mov rcx, qword [rcx + rax*8]
mov eax, dword [rcx + 0xc8]
sub eax, dword [rdx + 0xc8]
mov qword [rsp + 0xd0], rax
jmp 0x18013c13a
mov eax, 1
mov r9, qword [rsp + 0x298]
mov qword [rsp + 0x70], 0xffffffffffffffff
mov r9, qword [r9]
mov qword [rsp + 0x260], r9
cmp eax, 1
je 0x18013c19d
mov rbp, qword [rsi + 0x10]
test byte [rbp + 0xcefb], 0x10
je 0x18013c1bb
mov rbp, qword [rsp + 0x268]
lea rcx, [rsp + 0x260]
mov r8d, eax
mov qword [rsp + 0x20], rcx
mov rdx, rbp
mov rcx, rsi
call fcn.180137b20
mov edi, eax
test eax, eax
js 0x18013c9b9
xor r10d, r10d
jmp 0x18013c3e6
mov rbp, qword [rsi + 0x10]
test byte [rbp + 0xcef7], 8
jne 0x18013c3de
test byte [rbp + 0xcefb], 0x10
jne 0x18013c3d4
mov ecx, dword [0x18025e63c]
mov rdi, qword [rbp + 0xd040]
test ecx, ecx
jns 0x18013c1d1
mov rcx, r10
jmp 0x18013c1dd
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r10d, r10d
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x18013c211
mov rbx, qword [rcx + 0x18]
test rbx, rbx
jne 0x18013c1f2
mov rbx, r10
jmp 0x18013c228
mov rax, qword [rbx]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x18013c202
mov qword [rcx + 0x20], r10
movabs rax, 0xfefefefefefefefe
mov qword [rbx], rax
jmp 0x18013c228
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rbx, rax
test rbx, rbx
je 0x18013c327
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
mov dword [rbx + 0xa0], 0xffffffff
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x88], rax
mov qword [rbx + 0x90], rax
mov qword [rbx + 0x40], rax
mov qword [rbx + 0xa8], 0xffffffffffffffff
call fcn.1801992b0
mov edi, eax
test eax, eax
js 0x18013c2d1
mov eax, dword [rsp + 0xd0]
mov edx, 4
pxor xmm2, xmm2
mov dword [rbx + 0xa4], edx
mov r9d, edx
mov rdx, rbp
cvtsi2sd xmm2, rax
call fcn.18019a200
mov edi, eax
test eax, eax
js 0x18013c2d1
mov r8b, 1
mov rdx, rbx
mov rcx, rbp
call fcn.18019ec70
mov edi, eax
test eax, eax
js 0x18013c2d1
xor eax, eax
mov qword [rsp + 0xe0], rbx
mov edi, eax
jmp 0x18013c32c
mov rcx, rbx
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x18013c2ea
xor eax, eax
mov rbp, rax
jmp 0x18013c2f3
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rbx
call fcn.18024adb8
xor eax, eax
mov qword [rbx], rax
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x18013c31d
mov qword [rax], rbx
mov qword [rbp + 0x20], rbx
jmp 0x18013c32c
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rbx
jmp 0x18013c32c
mov edi, 0x8007000e
test edi, edi
js 0x18013c9b9
mov rbp, qword [rsp + 0x268]
mov r8, qword [rsp + 0x260]
lea rax, [rsp + 0x70]
mov rdx, rbp
mov r9b, 1
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180103aa0
mov edi, eax
test eax, eax
js 0x18013c9b9
xor eax, eax
mov dword [rsp + 0x40], 0x11
lea r9, [rsp + 0xc0]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov r8d, 0x20400001
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0xc0], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0xc0]
xor r10d, r10d
mov qword [rsp + 0x260], rax
jmp 0x18013c3e6
mov rbp, qword [rsp + 0x268]
jmp 0x18013c3e6
mov rbp, qword [rsp + 0x268]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov r8, qword [rax + 0xc0]
mov qword [rsp + 0xd8], r8
cmp r8, 0xffffffffffffffff
je 0x18013c619
mov rcx, qword [rsi + 0x10]
test byte [rcx + 0xcefb], 0x10
je 0x18013c4f7
mov qword [rsp + 0x70], 0xffffffffffffffff
mov rax, qword [r8 + 0xa8]
mov rcx, qword [rax + 0x10]
shr rcx, 0x25
test cl, 1
je 0x18013c498
mov dword [rsp + 0x40], 0xc
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x30], r10
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x28], r10
lea r9, [rsp + 0xd0]
mov r8d, 0x10000001
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xd0], 0xffffffffffffffff
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd8], rax
mov dword [rsp + 0x40], 0x11
xor ebx, ebx
lea rax, [rsp + 0x260]
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd8]
lea r9, [rsp + 0x70]
mov r8d, 0x20000001
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x260], rax
jmp 0x18013c61b
mov rcx, qword [rcx + 0xd078]
mov rdx, qword [r8 + 0xa8]
cmp rdx, rcx
je 0x18013c57a
test rdx, rdx
je 0x18013c547
cmp rdx, 0xffffffffffffffff
je 0x18013c547
mov rdi, qword [r8 + 8]
test rdi, rdi
je 0x18013c526
mov rax, qword [r8]
mov qword [rdi], rax
jmp 0x18013c52d
mov rax, qword [r8]
mov qword [rdx + 0x30], rax
mov rdi, qword [r8]
test rdi, rdi
je 0x18013c53f
mov rax, qword [r8 + 8]
mov qword [rdi + 8], rax
jmp 0x18013c547
mov rax, qword [r8 + 8]
mov qword [rdx + 0x38], rax
test rcx, rcx
je 0x18013c573
cmp rcx, 0xffffffffffffffff
je 0x18013c573
mov rax, qword [rcx + 0x38]
mov qword [r8 + 8], rax
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x18013c568
mov qword [rax], r8
jmp 0x18013c56c
mov qword [rcx + 0x30], r8
mov qword [r8], r10
mov qword [rcx + 0x38], r8
mov qword [r8 + 0xa8], rcx
lea rax, [rsp + 0xd8]
mov r9b, 1
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0xd8], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.180103aa0
mov edi, eax
test eax, eax
js 0x18013c9b9
mov dword [rsp + 0x40], 0x11
xor ebx, ebx
lea rax, [rsp + 0x260]
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd8]
lea r9, [rsp + 0xd0]
mov r8d, 0x20000001
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0xd0], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x260], rax
jmp 0x18013c61b
xor ebx, ebx
mov rax, qword [rsi + 0x10]
cmp dword [rax + 0xce74], 0
je 0x18013c71c
mov dword [rsp + 0x40], 0x11
mov ebx, 0x20000002
lea rax, [rsp + 0x260]
mov dword [rsp + 0x38], ebx
xor ebx, ebx
lea r9, [rsp + 0xd0]
mov qword [rsp + 0x30], rbx
mov r8d, 0x10000001
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0xd0], 0xffffffffffffffff
mov qword [rsp + 0x20], rax
call fcn.18012ed20
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x260], rcx
mov rdx, qword [rax + 0xd080]
mov rdi, qword [rcx + 0xa8]
cmp rdi, rdx
je 0x18013c71c
test rdi, rdi
je 0x18013c6e9
cmp rdi, 0xffffffffffffffff
je 0x18013c6e9
mov r8, qword [rcx + 8]
test r8, r8
je 0x18013c6c8
mov rax, qword [rcx]
mov qword [r8], rax
jmp 0x18013c6cf
mov rax, qword [rcx]
mov qword [rdi + 0x30], rax
mov r8, qword [rcx]
test r8, r8
je 0x18013c6e1
mov rax, qword [rcx + 8]
mov qword [r8 + 8], rax
jmp 0x18013c6e9
mov rax, qword [rcx + 8]
mov qword [rdi + 0x38], rax
test rdx, rdx
je 0x18013c715
cmp rdx, 0xffffffffffffffff
je 0x18013c715
mov rax, qword [rdx + 0x38]
mov qword [rcx + 8], rax
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x18013c70a
mov qword [rax], rcx
jmp 0x18013c70e
mov qword [rdx + 0x30], rcx
mov qword [rcx], rbx
mov qword [rdx + 0x38], rcx
mov qword [rcx + 0xa8], rdx
cmp dword [rsp + 0x278], 0
jbe 0x18013c9eb
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x270]
mov rax, rdx
mov rbp, rcx
sub rax, rcx
mov qword [rsp + 0xe0], rax
nop dword [rax + rax]
mov rcx, qword [rsi + 0x10]
mov eax, ebx
xor r9d, r9d
mov r8, qword [rcx + 0xd078]
lea rdx, [rdx + rax*8]
xor eax, eax
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x20], eax
call fcn.18019f030
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rbp]
mov rcx, qword [rax + rbp]
call fcn.1801994e0
mov rdx, qword [rsp + 0x270]
mov qword [rcx + 0xe8], 0xffffffffffffffff
mov dword [rcx + 0xdc], 0xffffffff
mov rax, qword [rsp + 0x260]
inc ebx
add rbp, 8
mov qword [rcx + 0xc0], rax
cmp ebx, dword [rsp + 0x278]
jb 0x18013c750
mov rbp, qword [rsp + 0x58]
xor ebx, ebx
mov dword [rsp + 0x288], ebx
mov qword [rsp + 0x260], rbx
cmp dword [rsp + 0x278], ebx
jbe 0x18013c9b7
mov rax, qword [rsp + 0x270]
mov rcx, rbp
sub rax, rbp
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x270], rax
mov rdx, qword [rax + rcx]
mov rbx, qword [rcx]
mov eax, dword [rbx + 0xa4]
lea rbp, [rdx + 0x98]
mov rcx, rdx
and qword [rbp], 0xffffffffffcdffef
mov dword [rdx + 0xa4], eax
mov edi, dword [rbx + 0x98]
mov rax, qword [rbp]
and edi, 0x320000
mov qword [rsp + 0xd0], rdx
and rax, 0xffffffffffffffef
or rdi, rax
mov qword [rbp], rdi
call fcn.1800f5210
lea r9, [rsp + 0x190]
movzx edx, al
mov r8b, 1
mov rcx, rbx
shl rdx, 4
xor rdx, rdi
and edx, 0x10
xor rdx, rdi
mov qword [rbp], rdx
mov rdx, qword [rsi + 0x10]
call fcn.180199a80
mov edi, eax
test eax, eax
js 0x18013c9b9
mov rdx, qword [rsp + 0x98]
mov rbp, rdx
cmp rdx, qword [rsp + 0x108]
jae 0x18013c954
mov eax, dword [rsp + 0x278]
lea rcx, [rax*8]
imul rax, rdx
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x58]
add rax, qword [rsp + 0x260]
lea rbx, [rcx + rax*8]
nop word [rax + rax]
mov rax, qword [rbx]
mov rdx, qword [rsi + 0x10]
lea r9, [rsp + 0x120]
mov rcx, rax
mov r8b, 1
mov qword [rsp + 0xe0], rax
call fcn.180199a80
mov edi, eax
test eax, eax
js 0x18013c9b9
mov r9, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xd0]
lea r8, [rsp + 0x120]
mov r9, qword [r9 + 0x98]
lea rcx, [rsp + 0x190]
add rdx, 0x98
call fcn.1801203f0
add rbx, qword [rsp + 0x110]
inc rbp
cmp rbp, qword [rsp + 0x108]
jb 0x18013c8e0
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x190]
mov r9, qword [rcx + 0x98]
call fcn.18019a4d0
mov edi, eax
test eax, eax
js 0x18013c9b9
mov eax, dword [rsp + 0x288]
mov rcx, qword [rsp + 0x70]
inc qword [rsp + 0x260]
inc eax
add rcx, 8
cmp eax, dword [rsp + 0x278]
mov dword [rsp + 0x288], eax
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x70], rcx
jb 0x18013c813
xor ebx, ebx
mov edi, ebx
movaps xmm6, xmmword [rsp + 0x220]
movaps xmm7, xmmword [rsp + 0x210]
mov eax, edi
add rsp, 0x238
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da
mov rbp, qword [rsp + 0x58]
jmp 0x18013c7da