Function at 0x180055ce0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd78
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xce0], xmm6
mov qword [rbp + 0xa98], rdx
mov rdx, qword [0x18009d028]
test rdx, rdx
je 0x180057927
mov rax, qword [0x18009d020]
mov rdi, rdx
shl rdi, 6
add rdi, rax
xor r15d, r15d
mov r8, rax
mov r10, qword [r8 + 0x28]
mov r9, qword [r8 + 0x30]
mov r12, qword [r8 + 0x38]
add r8, 0x40
shl r9, 4
nop word cs:[rax + rax]
test r9, r9
je 0x180055d80
mov r11, r10
add r10, 0x10
mov rsi, qword [r11]
add rsi, r12
add r9, 0xfffffffffffffff0
cmp rsi, rcx
ja 0x180055d50
add rsi, qword [r11 + 8]
cmp rsi, rcx
jbe 0x180055d50
jmp 0x180055d8d
inc r15
cmp r8, rdi
jne 0x180055d30
jmp 0x180057927
mov r13, rcx
mov rdi, qword [0x18009d040]
test rdi, rdi
je 0x180055dc9
mov r14, qword [0x18009d038]
imul rsi, rdi, 0x230
xor ecx, ecx
xor ebx, ebx
nop
cmp qword [r14 + rbx], r15
je 0x180056028
add rbx, 0x230
dec rcx
cmp rsi, rbx
jne 0x180055db0
cmp rdx, r15
jbe 0x180059c60
mov rcx, r15
shl rcx, 6
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
lea rcx, [rbp + 0x860]
call fcn.180055490
cmp qword [rbp + 0x860], 0
je 0x180057927
mov rax, qword [rbp + 0x868]
mov qword [rbp + 0xc60], rax
mov r14, qword [rbp + 0x870]
mov rcx, qword [rbp + 0x878]
mov qword [rbp + 0x738], 0
mov qword [rbp + 0x740], 8
xorps xmm0, xmm0
movups xmmword [rbp + 0x748], xmm0
mov qword [rbp + 0x758], 8
mov qword [rbp + 0x760], 0
cmp rcx, 0x40
jb 0x180057907
movzx eax, word [r14]
cmp eax, 0x5a4d
jne 0x180057907
mov edi, dword [r14 + 0x3c]
mov rax, rcx
sub rax, rdi
jb 0x180057907
cmp rax, 0x88
jb 0x180057907
cmp dword [r14 + rdi], 0x4550
jne 0x180057907
movzx eax, word [r14 + rdi + 0x18]
cmp eax, 0x20b
jne 0x180057907
movzx esi, word [r14 + rdi + 0x14]
cmp rsi, 0x70
jb 0x180057907
lea rbx, [rdi + 0x88]
add rsi, 0xffffffffffffff90
mov rax, rcx
sub rax, rbx
cmp rax, rsi
jb 0x180057907
mov qword [rbp + 0xc38], rcx
lea rdx, [r14 + rbx]
mov r9d, dword [r14 + rdi + 0x84]
lea rcx, [rbp + 0x860]
mov r8, rsi
call fcn.18005c320
cmp qword [rbp + 0x860], 0
mov rcx, qword [rbp + 0xc38]
jne 0x180057907
add rsi, rbx
movzx r10d, word [r14 + rdi + 6]
lea eax, [r10*8]
lea rax, [rax + rax*4]
sub rcx, rsi
setb dl
cmp rcx, rax
setb al
or al, dl
mov rdx, qword [rbp + 0xc38]
add rsi, r14
xor r11d, r11d
test al, al
cmove r11, rsi
jne 0x180057907
mov r8d, dword [r14 + rdi + 0xc]
test r8, r8
je 0x180056d97
mov rax, rdx
sub rax, r8
jb 0x180057907
mov r9d, dword [r14 + rdi + 0x10]
lea rcx, [r9 + r9]
lea rcx, [rcx + rcx*8]
cmp rax, rcx
jb 0x180057907
add rcx, r8
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x180057907
mov qword [rbp + 0xca0], r11
mov qword [rbp + 0xca8], r10
mov eax, dword [r14 + rcx]
mov qword [rbp + 0xc88], rcx
add rax, rcx
mov qword [rbp + 0xc78], rax
mov rax, qword [r14 + rdi + 0x30]
mov qword [rbp + 0xc98], rax
mov qword [rbp + 0x860], 0
mov qword [rbp + 0x868], 8
mov qword [rbp + 0x870], 0
mov qword [rbp + 0xc80], r9
test r9, r9
je 0x180056ed8
mov r10, r8
add r10, r14
lea rax, [rbp + 0x868]
mov qword [rbp + 0xaa0], rax
mov eax, 8
xor ecx, ecx
mov qword [rbp + 0xcd8], rcx
xor edi, edi
mov r8, qword [rbp + 0xca8]
mov r9, qword [rbp + 0xca0]
mov r11, qword [rbp + 0xc80]
mov qword [rbp + 0xc70], r10
jmp 0x180056e38
test rcx, rcx
je 0x1800560b8
mov r15, r14
add r14, rbx
lea rcx, [rbp - 0x58]
mov r8d, 0x230
mov rdx, r14
call fcn.18009b440
lea rdx, [r15 + rbx]
add rdx, 0x230
sub rsi, rbx
add rsi, 0xfffffffffffffdd0
mov rcx, r14
mov r8, rsi
call sub.msvcrt.dll_memmove
lea rsi, [rdi - 1]
mov qword [0x18009d040], rsi
cmp rsi, qword [0x18009d030]
jne 0x180056082
call fcn.1800162f0
mov r14, qword [0x18009d038]
lea rcx, [r14 + 0x230]
imul r8, rsi, 0x230
mov rdx, r14
call sub.msvcrt.dll_memmove
lea rdx, [rbp - 0x58]
mov r8d, 0x230
mov rcx, r14
call fcn.18009b440
mov qword [0x18009d040], rdi
sub r13, r12
mov qword [rbp + 0xcd8], r13
lea rdi, [r13 + 1]
mov rbx, qword [r14 + 0x1b8]
mov rdx, qword [r14 + 0x1c0]
xor ecx, ecx
test rdx, rdx
je 0x180056125
mov rax, rdx
mov r8, rdx
nop word cs:[rax + rax]
shr rax, 1
add rax, rcx
mov r9, rax
shl r9, 5
mov r9, qword [rbx + r9]
cmp r9, rdi
je 0x18005611f
lea r10, [rax + 1]
cmp r9, rdi
cmova r8, rax
cmovb rcx, r10
mov rax, r8
sub rax, rcx
ja 0x1800560f0
jmp 0x180056125
inc rax
mov rcx, rax
cmp rcx, rdx
ja 0x180059d6c
mov r15d, 3
test rcx, rcx
mov qword [rbp + 0xc78], r14
je 0x180056447
lea rsi, [r14 + 0x1b0]
shl rcx, 5
lea r12, [rcx + rbx]
add r12, 0xffffffffffffffe0
neg rcx
xor eax, eax
mov rdx, qword [rbp + 0xcd8]
jmp 0x18005617e
add r12, 0xffffffffffffffe0
add rcx, 0x20
je 0x180056447
cmp qword [r12 + 0x18], rdx
jbe 0x1800561c9
cmp qword [r12 + 8], rdx
jbe 0x180056170
cmp rdi, qword [r12]
jbe 0x180056170
mov rcx, qword [r12 + 0x10]
mov rdx, qword [r14 + 0x1d0]
cmp rcx, rdx
jae 0x180059d78
imul rax, rcx, 0x218
add rax, qword [r14 + 0x1c8]
mov qword [rbp + 0x868], rax
mov ecx, 0x10
xor r13d, r13d
mov rax, r12
jmp 0x1800561d1
mov ecx, 8
mov r13b, 1
mov qword [rbp + rcx + 0x860], rax
mov r14, qword [rbp + 0x868]
test r14, r14
je 0x180056447
lea rcx, [rbp + 0x860]
mov rdx, r14
mov r15, qword [rbp + 0xcd8]
mov r8, r15
mov r9, rsi
call fcn.18001fd80
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], r14
mov qword [rbp + 0x1e8], rsi
mov qword [rbp + 0x1f0], rsi
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x200], rdi
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x210], r12
mov qword [rbp + 0x218], rdi
mov qword [rbp + 0x220], r15
mov byte [rbp + 0x228], r13b
lea rcx, [rbp - 0x58]
lea r8, [rbp + 0x1d8]
lea rdx, [rbp + 0x860]
call fcn.180022040
cmp byte [rbp + 0x58], 2
je 0x180056443
lea rbx, [rbp - 0x28]
lea r14, [rbp + 0x1f0]
lea rdi, [rbp + 0x871]
lea r13, [rbp + 0x510]
lea r12, [rbp + 0x860]
lea rsi, [rbp + 0x800]
lea r15, [rbp - 0x58]
nop
movups xmm0, xmmword [rbp - 0x58]
movups xmm1, xmmword [rbp - 0x48]
movups xmm2, xmmword [rbp - 0x38]
movaps xmmword [rbp + 0xad0], xmm2
movaps xmmword [rbp + 0xac0], xmm1
movaps xmmword [rbp + 0xab0], xmm0
mov r8d, 0x88
lea rcx, [rbp + 0x1d8]
mov rdx, rbx
call fcn.18009b440
mov rax, qword [rbp + 0xab0]
lock dec qword [rax]
jne 0x1800562ef
lea rcx, [rbp + 0xab0]
call fcn.180015220
mov rax, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1e8]
movzx edx, byte [rax + 0x200]
cmp edx, 0x4b
je 0x180056330
cmp edx, 0x4c
jne 0x180056360
mov byte [rax + 0x200], 0x4b
mov qword [rax + 0x208], 0
jmp 0x180056350
mov r8, qword [rax + 0x208]
test r8, r8
je 0x180056350
mov rcx, qword [r8]
add rcx, 0x10
add r8, 8
mov dl, 2
mov rax, r8
jmp 0x180056359
mov rcx, qword [rcx]
add rcx, 0x10
xor edx, edx
xor r8d, r8d
jmp 0x18005638e
mov rcx, qword [rax + 0x200]
movzx edx, byte [rax + 0x208]
mov r8d, dword [rax + 0x20c]
mov dword [rbp + 0x803], r8d
mov eax, dword [rax + 0x209]
mov dword [rbp + 0x800], eax
mov r8d, 1
mov qword [rbp + 0x860], r8
mov qword [rbp + 0x868], rcx
mov byte [rbp + 0x870], dl
mov ecx, dword [rbp + 0x800]
mov edx, dword [rbp + 0x803]
mov dword [rdi + 3], edx
mov dword [rdi], ecx
mov qword [rbp + 0x878], rax
mov rcx, r13
mov rdx, r14
mov r8, r12
call fcn.1800202a0
mov qword [rbp + 0x540], 0
mov rax, qword [r14 + 0x68]
mov qword [rbp + 0x850], rax
movups xmm0, xmmword [r14 + 0x58]
movaps xmmword [rbp + 0x840], xmm0
movups xmm0, xmmword [r14 + 0x18]
movups xmm1, xmmword [r14 + 0x28]
movups xmm2, xmmword [r14 + 0x38]
movups xmm3, xmmword [r14 + 0x48]
movaps xmmword [rbp + 0x830], xmm3
movaps xmmword [rbp + 0x820], xmm2
movaps xmmword [rbp + 0x810], xmm1
movaps xmmword [rbp + 0x800], xmm0
mov rcx, r12
mov rdx, r13
mov r8, rsi
call fcn.180022040
mov r8d, 0xb8
mov rcx, r15
mov rdx, r12
call fcn.18009b440
cmp byte [rbp + 0x58], 2
jne 0x1800562a0
mov r15d, dword [rbp - 0x58]
mov rbx, qword [rbp + 0xc78]
add rbx, 8
cmp r15d, 5
je 0x180056d2b
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xc90], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0xcb8], rax
lea rax, [rax*8]
mov qword [rbp + 0xc68], rax
lea eax, [r15 - 3]
cmp eax, 2
mov ecx, 2
cmovb ecx, eax
test ecx, ecx
je 0x180056597
mov qword [rbp + 0xc78], rbx
mov esi, dword [rbp - 0x54]
mov r11d, dword [rbp - 0x50]
mov ebx, dword [rbp - 0x4c]
mov r14, qword [rbp - 0x48]
mov r13, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x30]
mov qword [rbp + 0xc10], r8
mov r8, qword [rbp - 0x28]
mov qword [rbp + 0xc30], r8
mov r8, qword [rbp - 0x18]
mov qword [rbp + 0xc58], r8
mov r8, qword [rbp - 8]
mov qword [rbp + 0xc88], r8
lea r8, [rdx + 0x60]
mov qword [rbp + 0xc40], r8
mov qword [rbp + 0xc98], rdx
add rdx, 0x1b8
mov qword [rbp + 0xc48], rdx
mov rdx, qword [rbp + 0xa98]
mov r8, qword [rdx]
mov qword [rbp + 0xc80], r8
mov rdx, qword [rdx + 8]
cmp ecx, 1
mov qword [rbp + 0xca0], rdx
jne 0x18005659e
mov qword [rbp + 0xcd0], rsi
mov qword [rbp + 0xca8], rbx
mov rsi, rbx
shl rsi, 0x20
or rsi, r11
cmp eax, 2
jb 0x180056562
cmp qword [rbp + 0xcb8], 0
je 0x180056562
mov r8d, 8
mov rcx, qword [rbp + 0xc90]
mov rdx, qword [rbp + 0xc68]
call fcn.180002550
mov dword [rbp + 0xcc8], 2
mov eax, 3
mov qword [rbp + 0xc38], rax
mov rax, qword [rbp + 0xc98]
mov qword [rbp + 0xc60], rax
mov rbx, r14
mov r15, r14
mov r14, r13
mov r12, r13
jmp 0x180056856
xor esi, esi
jmp 0x180056cfa
mov rax, qword [rbp + 0xc88]
cmp qword [rbp + 0xc58], rax
je 0x180056618
mov qword [rbp + 0xc70], r11
mov qword [rbp + 0xca8], rbx
mov qword [rbp + 0xcd0], rsi
mov qword [rbp + 0xcc0], r13
mov rsi, qword [rax - 8]
mov r8d, dword [rsi + 0x28]
mov edx, dword [rsi + 0x2c]
xor ecx, ecx
mov qword [rbp + 0xc38], rcx
mov qword [rbp + 0xc60], r8
test r8d, r8d
setne bl
mov dword [rbp + 0xcc8], 0
mov r12, rdx
test edx, edx
setne dil
cmp qword [rsi], 0
je 0x180056610
mov rcx, qword [rbp + 0xc40]
cmp dword [rcx], 0x2f
jne 0x180056640
xor r10d, r10d
jmp 0x1800567aa
mov rcx, qword [rbp + 0xc30]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x1800566b0
mov rdx, qword [rcx + 0x30]
mov rcx, qword [rbp + 0xc98]
movzx edi, word [rcx + 0x210]
jmp 0x1800566b4
mov rax, qword [rsi + 8]
mov qword [rbp + 0xcb0], rax
mov rax, qword [rbp + 0xc98]
cmp qword [rax + 0x1b0], 0
jne 0x180056753
lea rcx, [rbp + 0x860]
mov rdx, qword [rbp + 0xc40]
call fcn.18001ebf0
mov r13, qword [rbp + 0xc98]
lea rcx, [rbp - 0x58]
lea r8, [rbp + 0x860]
mov rdx, r13
mov r9, qword [rbp + 0xc10]
call fcn.180022570
cmp qword [r13 + 0x1b0], 0
je 0x180056732
lea rcx, [rbp - 0x58]
call fcn.1800076e0
jmp 0x180056753
mov di, 2
mov ecx, 3
mov qword [rbp + 0xc38], rcx
cmp qword [rbp + 0xcb8], 0
je 0x180056717
mov r8d, 8
mov rcx, qword [rbp + 0xc90]
mov r12, rsi
mov rsi, rdx
mov rdx, qword [rbp + 0xc68]
mov qword [rbp + 0xc70], r11
mov word [rbp + 0xc60], di
mov rdi, rbx
mov rbx, rax
call fcn.180002550
mov rdx, rsi
mov rsi, r12
mov rax, rbx
mov rbx, rdi
movzx edi, word [rbp + 0xc60]
mov r11, qword [rbp + 0xc70]
mov r12, r13
mov r10, r14
mov r8d, ebx
mov ecx, r11d
mov dword [rbp + 0xcc8], r11d
mov r9d, esi
jmp 0x18005681e
mov qword [r13 + 0x1b0], 1
movups xmm0, xmmword [rbp - 0x58]
movups xmm1, xmmword [rbp - 0x48]
mov rax, qword [rbp + 0xc48]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [rbp + 0xc48]
cmp qword [rax], 0
je 0x180056780
mov rcx, qword [rbp + 0xcb0]
cmp rcx, qword [rax + 8]
jae 0x1800567a0
mov rax, qword [rax]
lea rcx, [rcx + rcx*2]
mov r10, qword [rax + rcx*8 + 8]
mov r11, qword [rax + rcx*8 + 0x10]
jmp 0x1800567a3
mov rax, qword [rbp + 0xc98]
cmp byte [rax + 0x1c0], 0x4b
jne 0x180056d7e
mov rax, qword [rax + 0x1c8]
test rax, rax
jne 0x180056760
xor r10d, r10d
mov rax, qword [rbp + 0xc88]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0xc88], rax
mov rax, qword [rbp + 0xc38]
mov al, bl
mov qword [rbp + 0xc38], rax
mov eax, dword [rbp + 0xcc8]
mov al, dil
mov dword [rbp + 0xcc8], eax
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x1800567f1
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rbp + 0xc98]
movzx edi, word [rcx + 0x210]
jmp 0x1800567f5
mov di, 2
mov r8, r12
mov r9, qword [rbp + 0xc60]
mov r12, r11
mov r13, qword [rbp + 0xcc0]
mov rsi, qword [rbp + 0xcd0]
mov rbx, qword [rbp + 0xca8]
mov r11, qword [rbp + 0xc70]
mov ecx, r15d
shl rsi, 0x20
or rsi, rcx
shl rbx, 0x20
or rbx, r11
mov qword [rbp + 0xc60], r13
mov ecx, r9d
mov qword [rbp + 0xcd0], rcx
mov r13, r8
mov qword [rbp + 0xca8], r8
cmp di, 2
mov rdi, r9
mov r15, r10
jne 0x180056877
mov rcx, qword [rbp + 0xc78]
mov rdx, qword [rbp + 0xcd8]
call fcn.18005a390
mov rdi, qword [rbp + 0xcd0]
mov r13, qword [rbp + 0xca8]
mov qword [rbp + 0x860], rsi
mov qword [rbp + 0x868], rbx
mov qword [rbp + 0x870], r14
mov rcx, qword [rbp + 0xc60]
mov qword [rbp + 0x878], rcx
mov rcx, qword [rbp + 0xcd8]
mov qword [rbp + 0x880], rcx
mov qword [rbp + 0x888], rax
mov qword [rbp + 0x890], rdx
mov rax, qword [rbp + 0xca0]
mov rax, qword [rax + 0x20]
lea rdx, [rbp + 0x860]
mov rcx, qword [rbp + 0xc80]
mov qword [rbp + 0xc70], rax
call rax
nop dword [rax + rax]
mov rax, qword [rbp + 0xc38]
add eax, 0xfffffffd
cmp eax, 2
mov ecx, 2
cmovb ecx, eax
cmp ecx, 1
mov qword [rbp + 0xc60], rdi
je 0x180056980
cmp ecx, 2
jne 0x180056cf0
mov rax, qword [rbp + 0xc88]
cmp qword [rbp + 0xc58], rax
je 0x1800569eb
mov qword [rbp + 0xcb0], r12
mov qword [rbp + 0xcc0], r15
mov r15, qword [rax - 8]
mov edx, dword [r15 + 0x28]
mov ecx, dword [r15 + 0x2c]
mov dword [rbp + 0xca0], 0
mov dword [rbp + 0xc50], edx
test edx, edx
setne r14b
xor edi, edi
mov esi, ecx
test ecx, ecx
setne r12b
cmp qword [r15], 0
je 0x18005696e
mov rcx, qword [rbp + 0xc40]
cmp dword [rcx], 0x2f
jne 0x180056a79
xor ecx, ecx
mov qword [rbp + 0xcd0], rcx
jmp 0x180056bc3
cmp eax, 2
jb 0x1800569a8
cmp qword [rbp + 0xcb8], 0
je 0x1800569a8
mov r8d, 8
mov rcx, qword [rbp + 0xc90]
mov rdx, qword [rbp + 0xc68]
call fcn.180002550
mov eax, dword [rbp + 0xcc8]
mov rdi, r13
shl r13, 0x20
or r13, rax
mov dword [rbp + 0xcc8], 2
mov eax, 3
mov qword [rbp + 0xc38], rax
mov rsi, qword [rbp + 0xc98]
mov rbx, r15
mov qword [rbp + 0xcd0], r15
mov qword [rbp + 0xca8], r12
jmp 0x180056c6e
mov rbx, r15
mov rax, qword [rbp + 0xc30]
mov r14, qword [rax + 0x28]
test r14, r14
je 0x180056ad6
mov r15, qword [rax + 0x30]
mov rax, qword [rbp + 0xc98]
movzx r11d, word [rax + 0x210]
mov edi, dword [rbp + 0xcc8]
mov dword [rbp + 0xca0], 3
cmp qword [rbp + 0xcb8], 0
je 0x180056a4e
mov r8d, 8
mov rcx, qword [rbp + 0xc90]
mov rdx, qword [rbp + 0xc68]
mov esi, r11d
call fcn.180002550
mov r11d, esi
mov qword [rbp + 0xca8], r12
mov r8, rbx
mov rax, rbx
mov qword [rbp + 0xcd0], rbx
mov rbx, r13
mov r9d, ebx
mov ecx, edi
mov r13, qword [rbp + 0xc60]
mov r10d, r13d
jmp 0x180056c2b
mov rax, qword [r15 + 8]
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xc98]
cmp qword [rax + 0x1b0], 0
lea rax, [rbp + 0x860]
je 0x180056afe
mov rax, qword [rbp + 0xc48]
cmp qword [rax], 0
jne 0x180056b85
mov rax, qword [rbp + 0xc98]
cmp byte [rax + 0x1c0], 0x4b
jne 0x180056d79
mov rax, qword [rax + 0x1c8]
test rax, rax
jne 0x180056b85
jmp 0x180056bb3
mov r11w, 2
mov edi, dword [rbp + 0xcc8]
mov dword [rbp + 0xca0], 3
cmp qword [rbp + 0xcb8], 0
jne 0x180056a2f
jmp 0x180056a4e
mov rcx, rax
mov rdx, qword [rbp + 0xc40]
call fcn.18001ebf0
mov rbx, qword [rbp + 0xc98]
lea rcx, [rbp - 0x58]
mov rdx, rbx
lea r8, [rbp + 0x860]
mov r9, qword [rbp + 0xc10]
call fcn.180022570
cmp qword [rbx + 0x1b0], 0
je 0x180056b53
lea rcx, [rbp - 0x58]
call fcn.1800076e0
mov rax, qword [rbp + 0xc48]
cmp qword [rax], 0
jne 0x180056b85
jmp 0x180056aad
mov qword [rbx + 0x1b0], 1
movups xmm0, xmmword [rbp - 0x58]
movups xmm1, xmmword [rbp - 0x48]
mov rax, qword [rbp + 0xc48]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [rbp + 0xc48]
cmp qword [rax], 0
je 0x180056aad
mov rcx, qword [rbp + 0xcd0]
cmp rcx, qword [rax + 8]
jae 0x180056bb3
mov rax, qword [rax]
lea rcx, [rcx + rcx*2]
mov rdx, qword [rax + rcx*8 + 8]
mov qword [rbp + 0xcd0], rdx
mov rax, qword [rax + rcx*8 + 0x10]
mov qword [rbp + 0xca8], rax
jmp 0x180056bbc
xor eax, eax
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xc88]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0xc88], rax
mov eax, dword [rbp + 0xca0]
mov al, r14b
mov dword [rbp + 0xca0], eax
mov dil, r12b
mov r14, qword [r15 + 0x18]
test r14, r14
je 0x180056bfe
mov r15, qword [r15 + 0x20]
mov rax, qword [rbp + 0xc98]
movzx r11d, word [rax + 0x210]
jmp 0x180056c03
mov r11w, 2
mov ecx, dword [rbp + 0xcc8]
mov rbx, r13
mov r13, qword [rbp + 0xc60]
mov r8, qword [rbp + 0xcc0]
mov r12, qword [rbp + 0xcb0]
mov r9d, esi
mov r10d, dword [rbp + 0xc50]
mov eax, dword [rbp + 0xc38]
shl r13, 0x20
or r13, rax
mov eax, ecx
shl rbx, 0x20
or rbx, rax
mov rsi, r12
mov r12, r8
mov eax, dword [rbp + 0xca0]
mov qword [rbp + 0xc38], rax
mov eax, r10d
mov qword [rbp + 0xc60], rax
mov dword [rbp + 0xcc8], edi
mov edi, r9d
cmp r11w, 2
jne 0x180056c87
mov rcx, qword [rbp + 0xc78]
mov rdx, qword [rbp + 0xcd8]
call fcn.18005a390
mov r14, rax
mov r15, rdx
mov qword [rbp + 0x860], r13
mov qword [rbp + 0x868], rbx
mov qword [rbp + 0x870], r12
mov qword [rbp + 0x878], rsi
mov rax, qword [rbp + 0xcd8]
mov qword [rbp + 0x880], rax
mov qword [rbp + 0x888], r14
mov qword [rbp + 0x890], r15
mov rcx, qword [rbp + 0xc80]
lea rdx, [rbp + 0x860]
call qword [rbp + 0xc70]
mov r12, qword [rbp + 0xca8]
mov r15, qword [rbp + 0xcd0]
mov r13, rdi
mov rdi, qword [rbp + 0xc60]
jmp 0x1800568e0
mov sil, 1
mov rbx, qword [rbp + 0xc78]
cmp eax, 2
jb 0x180056d22
cmp qword [rbp + 0xcb8], 0
je 0x180056d22
mov r8d, 8
mov rcx, qword [rbp + 0xc90]
mov rdx, qword [rbp + 0xc68]
call fcn.180002550
test sil, sil
jne 0x180057927
mov rcx, rbx
mov rdx, qword [rbp + 0xcd8]
call fcn.18005a390
test rax, rax
je 0x180057927
mov r8, qword [rbp + 0xa98]
mov rcx, qword [r8]
mov r8, qword [r8 + 8]
mov dword [rbp + 0x860], 3
mov qword [rbp + 0x868], rax
mov qword [rbp + 0x870], rdx
lea rdx, [rbp + 0x860]
call qword [r8 + 0x20]
jmp 0x180057927
mov sil, 1
jmp 0x180056d80
xor esi, esi
cmp qword [rbp + 0xcb8], 0
mov rbx, qword [rbp + 0xc78]
jne 0x180056d09
jmp 0x180056d22
mov qword [rbp + 0x860], 0
mov qword [rbp + 0x868], 8
mov qword [rbp + 0x870], 0
xor eax, eax
xor esi, esi
xor edi, edi
jmp 0x180056ef7
mov rax, qword [rbp + 0x868]
add rsi, qword [rbp + 0xc98]
add rbx, rsi
mov rdx, qword [rbp + 0xcd8]
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], rbx
mov r8, qword [rbp + 0xcd0]
mov qword [rax + rcx + 8], r8
inc rdx
mov rcx, rdx
mov qword [rbp + 0xcd8], rdx
mov qword [rbp + 0x870], rdx
mov r8, qword [rbp + 0xca8]
mov r9, qword [rbp + 0xca0]
mov r10, qword [rbp + 0xc70]
mov r11, qword [rbp + 0xc80]
mov rsi, qword [rbp + 0xcc8]
add rdi, rsi
inc rdi
cmp rdi, r11
jae 0x180056eca
lea rcx, [rdi + rdi*8]
movzx esi, byte [r10 + rcx*2 + 0x11]
movzx edx, word [r10 + rcx*2 + 0xe]
and edx, 0x30
cmp dx, 0x20
jne 0x180056e29
lea rbx, [r10 + rcx*2]
movzx edx, word [rbx + 0xc]
cmp edx, 0xfeff
movsx ecx, dx
cmovb ecx, edx
test ecx, ecx
jle 0x180056e29
mov qword [rbp + 0xcc8], rsi
mov edx, ecx
dec rdx
lea rcx, [rdx + rdx*4]
lea rcx, [r9 + rcx*8]
cmp rdx, r8
mov edx, 0x1d
cmovae rcx, rdx
jae 0x180057768
test rcx, rcx
je 0x180057768
mov qword [rbp + 0xcd0], rbx
mov esi, dword [rbx + 8]
mov ebx, dword [rcx + 0xc]
mov rcx, qword [rbp + 0xcd8]
cmp rcx, qword [rbp + 0x860]
jne 0x180056dca
lea rcx, [rbp + 0x860]
call fcn.180016000
jmp 0x180056dc3
cmp qword [rbp + 0xcd8], 2
jae 0x1800576e2
mov rax, r14
mov r10, qword [rbp + 0xca8]
mov r11, qword [rbp + 0xca0]
mov rsi, qword [rbp + 0xc88]
mov rdi, qword [rbp + 0xc78]
movabs r9, 0x8000000000000000
mov rcx, qword [rbp + 0x860]
mov rdx, qword [rbp + 0x868]
mov qword [rbp + 0x510], rdx
mov rdx, qword [rbp + 0x870]
mov qword [rbp + 0x518], rdx
cmp rcx, r9
mov rdx, qword [rbp + 0xc38]
je 0x180057907
mov r8, rdx
lea rdx, [rbp + 0xab8]
mov qword [rbp + 0xaa0], rdx
mov rdx, qword [rbp + 0x510]
mov qword [rbp + 0xab8], rdx
mov rdx, qword [rbp + 0x518]
mov qword [rbp + 0xac0], rdx
mov qword [rbp + 0xab0], rcx
mov qword [rbp + 0xac8], r14
mov qword [rbp + 0xad0], r8
mov qword [rbp + 0xad8], r11
mov qword [rbp + 0xae0], r10
mov qword [rbp + 0xae8], rax
mov qword [rbp + 0xaf0], r8
mov qword [rbp + 0xaf8], rsi
mov qword [rbp + 0xb00], rdi
mov qword [rbp + 0x800], r9
lea rdx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types
lea rcx, [rbp + 0xab0]
mov r8d, 0xd
call fcn.18005a210
mov qword [rbp + 0xcd8], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xcd0], r8
cmove rdx, rcx
mov qword [rbp + 0xc68], rdx
mov rcx, qword [rbp + 0xcd8]
cmove rcx, rax
mov qword [rbp + 0xcd8], rcx
lea rdx, [0x1800c591d]
lea rcx, [rbp + 0xab0]
mov r8d, 0xb
call fcn.18005a210
mov qword [rbp + 0xcc8], rdx
test rax, rax
mov rcx, qword [rbp + 0xcd0]
cmovne rcx, rax
mov qword [rbp + 0xcd0], rcx
mov rcx, qword [rbp + 0xcc8]
cmove rcx, rax
mov qword [rbp + 0xcc8], rcx
lea rdx, [0x1800c5928]
lea rcx, [rbp + 0xab0]
mov r8d, 0xe
call fcn.18005a210
mov qword [rbp + 0xca8], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xc80], r8
cmove rdx, rcx
mov qword [rbp + 0xc40], rdx
mov rcx, qword [rbp + 0xca8]
cmove rcx, rax
mov qword [rbp + 0xca8], rcx
lea rdx, [0x1800c5945]
lea rcx, [rbp + 0xab0]
mov r8d, 0xb
call fcn.18005a210
mov qword [rbp + 0xca0], rdx
test rax, rax
mov rcx, qword [rbp + 0xc80]
cmovne rcx, rax
mov qword [rbp + 0xc80], rcx
mov rcx, qword [rbp + 0xca0]
cmove rcx, rax
mov qword [rbp + 0xca0], rcx
lea rdx, [0x1800c5950]
lea rcx, [rbp + 0xab0]
mov r8d, 0xb
call fcn.18005a210
mov qword [rbp + 0xc98], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xc88], r8
cmove rdx, rcx
mov qword [rbp + 0xc30], rdx
mov rcx, qword [rbp + 0xc98]
cmove rcx, rax
mov qword [rbp + 0xc98], rcx
lea rdx, [0x1800c595b]
lea rcx, [rbp + 0xab0]
mov r8d, 0xf
call fcn.18005a210
mov qword [rbp + 0xc70], rdx
test rax, rax
mov rcx, qword [rbp + 0xc88]
cmovne rcx, rax
mov qword [rbp + 0xc88], rcx
mov rcx, qword [rbp + 0xc70]
cmove rcx, rax
mov qword [rbp + 0xc70], rcx
lea rdx, [0x1800c599f]
lea rcx, [rbp + 0xab0]
mov r8d, 0xa
call fcn.18005a210
mov qword [rbp + 0xc78], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xcb0], r8
cmove rdx, rcx
mov qword [rbp + 0xc48], rdx
mov rcx, qword [rbp + 0xc78]
cmove rcx, rax
mov qword [rbp + 0xc78], rcx
lea rdx, [0x1800c59a9]
lea rcx, [rbp + 0xab0]
mov r8d, 0x12
call fcn.18005a210
mov qword [rbp + 0xcc0], rdx
test rax, rax
mov rcx, qword [rbp + 0xcb0]
cmovne rcx, rax
mov qword [rbp + 0xcb0], rcx
mov rcx, qword [rbp + 0xcc0]
cmove rcx, rax
mov qword [rbp + 0xcc0], rcx
lea rdx, [0x1800c59ca]
lea rcx, [rbp + 0xab0]
mov r8d, 0xc
call fcn.18005a210
mov qword [rbp + 0xc50], rdx
test rax, rax
mov ecx, 1
mov rdx, rax
mov r8d, 1
mov qword [rbp + 0xc58], r8
cmove rdx, rcx
mov qword [rbp + 0xc10], rdx
mov rcx, qword [rbp + 0xc50]
cmove rcx, rax
mov qword [rbp + 0xc50], rcx
lea rdx, [0x1800c596a]
lea rcx, [rbp + 0xab0]
mov r8d, 0xa
call fcn.18005a210
mov qword [rbp + 0xcb8], rdx
test rax, rax
mov rcx, qword [rbp + 0xc58]
cmovne rcx, rax
mov qword [rbp + 0xc58], rcx
mov rcx, qword [rbp + 0xcb8]
cmove rcx, rax
mov qword [rbp + 0xcb8], rcx
lea rdx, [0x1800c5974]
lea rcx, [rbp + 0xab0]
mov r8d, 0xf
call fcn.18005a210
mov qword [rbp + 0xc90], rdx
test rax, rax
mov edi, 1
cmovne rdi, rax
mov rcx, qword [rbp + 0xc90]
cmove rcx, rax
mov qword [rbp + 0xc90], rcx
lea rdx, [0x1800c5983]
lea rcx, [rbp + 0xab0]
mov r8d, 0xd
call fcn.18005a210
mov rsi, rax
mov rbx, rdx
lea rdx, [0x1800c5990]
lea rcx, [rbp + 0xab0]
mov r8d, 0xf
call fcn.18005a210
test rsi, rsi
cmove rbx, rsi
mov ecx, 1
cmove rsi, rcx
test rax, rax
cmovne rcx, rax
cmove rdx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x940], xmm0
mov rax, qword [rbp + 0xc68]
mov qword [rbp + 0x870], rax
mov rax, qword [rbp + 0xcd8]
mov qword [rbp + 0x878], rax
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0x880], rax
mov rax, qword [rbp + 0xcc8]
mov qword [rbp + 0x888], rax
mov rax, qword [rbp + 0xc40]
mov qword [rbp + 0x890], rax
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x898], rax
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0x8a0], rax
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0x8a8], rax
mov rax, qword [rbp + 0xc30]
mov qword [rbp + 0x8b0], rax
mov rax, qword [rbp + 0xc98]
mov qword [rbp + 0x8b8], rax
mov rax, qword [rbp + 0xc88]
mov qword [rbp + 0x8c0], rax
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0x8c8], rax
mov rax, qword [rbp + 0xc48]
mov qword [rbp + 0x8d0], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0x8d8], rax
mov rax, qword [rbp + 0xcb0]
mov qword [rbp + 0x8e0], rax
mov rax, qword [rbp + 0xcc0]
mov qword [rbp + 0x8e8], rax
mov rax, qword [rbp + 0xc10]
mov qword [rbp + 0x8f0], rax
mov rax, qword [rbp + 0xc50]
mov qword [rbp + 0x8f8], rax
mov rax, qword [rbp + 0xc58]
mov qword [rbp + 0x900], rax
mov rax, qword [rbp + 0xcb8]
mov qword [rbp + 0x908], rax
mov qword [rbp + 0x910], rdi
mov rax, qword [rbp + 0xc90]
mov qword [rbp + 0x918], rax
mov qword [rbp + 0x920], rsi
mov qword [rbp + 0x928], rbx
mov qword [rbp + 0x930], rcx
mov qword [rbp + 0x938], rdx
mov qword [rbp + 0x958], 0
mov byte [rbp + 0x960], 0
mov qword [rbp + 0x860], 1
mov qword [rbp + 0x868], 1
mov rax, qword [0x1800e7488]
movzx eax, byte [rax]
mov ecx, 0x108
mov edx, 8
call fcn.180002540
test rax, rax
je 0x180059d84
mov rbx, rax
lea rdx, [rbp + 0x860]
mov r8d, 0x108
mov rcx, rax
call fcn.18009b440
mov qword [rbp + 0xba8], rbx
mov qword [rbp + 0xb88], 0
mov qword [rbp + 0xb90], 8
mov qword [rbp + 0xb98], 0
mov rax, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x38]
mov qword [rbp + 0xc80], rax
mov qword [rbp + 0x7e8], rax
mov qword [rbp + 0x7f0], rcx
mov qword [rbp + 0x7f8], 0
mov qword [rbp + 0xca0], rcx
test rcx, rcx
mov qword [rbp + 0xca8], rbx
je 0x180057793
mov eax, 8
mov qword [rbp + 0xcd0], rax
xor eax, eax
mov qword [rbp + 0xcd8], rax
xor esi, esi
xor eax, eax
mov qword [rbp + 0xcc8], rax
mov rdi, qword [rbp + 0xca0]
jmp 0x1800575cf
mov rax, qword [rbp + 0xb90]
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xcd8]
mov rcx, qword [rbp + 0xcd0]
mov qword [rcx + rax], rdi
mov qword [rcx + rax + 8], rbx
inc rsi
mov qword [rbp + 0xb98], rsi
mov rdi, qword [rbp + 0x7f0]
add rax, 0x10
mov qword [rbp + 0xcd8], rax
test rdi, rdi
je 0x180057644
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x7e8]
mov r8, qword [rbp + 0xcc8]
call fcn.18001d550
cmp byte [rbp + 0x889], 3
je 0x180057880
sub rdi, qword [rbp + 0x7f0]
mov rbx, qword [rbp + 0x870]
mov rax, rdi
add rax, qword [rbp + 0x7f8]
mov rdi, qword [rbp + 0x880]
mov rcx, rax
mov qword [rbp + 0xcc8], rax
mov qword [rbp + 0x7f8], rax
cmp rsi, qword [rbp + 0xb88]
jne 0x180057597
lea rcx, [rbp + 0xb88]
call fcn.180016000
jmp 0x180057589
cmp rsi, 2
mov rbx, qword [rbp + 0xca8]
jb 0x180057793
mov rcx, qword [rbp + 0xb90]
cmp rsi, 0x15
jae 0x180057784
add qword [rbp + 0xcd8], rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
mov rbx, qword [rbp + 0xca8]
jmp 0x1800576ab
mov r10, rcx
mov qword [r10], r8
mov qword [r10 + 8], r9
mov rbx, qword [rbp + 0xca8]
lea r8, [rdx + 0x10]
add rax, 0x10
mov r9, rdx
cmp qword [rbp + 0xcd8], r8
je 0x180057793
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x180057693
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x180057682
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x1800576be
add r10, rcx
jmp 0x180057685
mov rcx, qword [rbp + 0x868]
cmp qword [rbp + 0xcd8], 0x15
jae 0x180058d69
mov rsi, qword [rbp + 0xcd8]
shl rsi, 4
add rsi, rcx
lea r8, [rcx + 0x10]
mov eax, 0x10
mov r9, rcx
jmp 0x180057731
mov r10, rcx
mov qword [r10], r8
mov qword [r10 + 8], r9
lea r8, [rdx + 0x10]
add rax, 0x10
mov r9, rdx
cmp r8, rsi
je 0x180056ed8
mov rdx, r8
mov r8, qword [r9 + 0x10]
cmp r8, qword [r9]
jae 0x18005771d
mov r9, qword [r9 + 0x18]
mov r11, rax
movups xmm0, xmmword [rcx + r11 - 0x10]
movups xmmword [rcx + r11], xmm0
cmp r11, 0x10
je 0x180057713
lea r10, [r11 - 0x10]
cmp r8, qword [rcx + r11 - 0x20]
mov r11, r10
jb 0x180057744
add r10, rcx
jmp 0x180057716
mov rdx, qword [rbp + 0x860]
test rdx, rdx
je 0x180057907
mov rcx, qword [rbp + 0x868]
jmp 0x1800578f8
mov rdx, rsi
call fcn.180008650
mov rbx, qword [rbp + 0xca8]
mov qword [rbp + 0xc18], 0
mov qword [rbp + 0xc20], 8
mov qword [rbp + 0xc28], 0
mov qword [rbp + 0xbe0], 0
mov qword [rbp + 0xbe8], 8
mov qword [rbp + 0xbf0], 0
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rbp + 0xb10], xmm0
mov qword [rbp + 0xb20], 0
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xb10]
call fcn.1800199a0
mov rax, qword [rbp + 0x860]
cmp rax, 3
jne 0x180057942
mov rsi, qword [rbp + 0xbe8]
mov rdi, qword [rbp + 0xbf0]
inc rdi
mov rcx, rsi
cmp rdi, 1
je 0x18005783d
lea r15, [rcx + 0x218]
dec rdi
call fcn.1800053f0
mov rcx, r15
jmp 0x180057823
mov rax, qword [rbp + 0xbe0]
test rax, rax
je 0x18005785e
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, rsi
call fcn.180002550
mov rdx, qword [rbp + 0xc18]
test rdx, rdx
je 0x180057880
mov rcx, qword [rbp + 0xc20]
shl rdx, 5
mov r8d, 8
call fcn.180002550
mov rdx, qword [rbp + 0xb88]
test rdx, rdx
je 0x1800578a2
mov rcx, qword [rbp + 0xb90]
shl rdx, 4
mov r8d, 8
call fcn.180002550
mov rax, qword [rbp + 0xba8]
lock dec qword [rax]
jne 0x1800578bb
lea rcx, [rbp + 0xba8]
call fcn.180015220
mov rdx, qword [rbp + 0x800]
lea rax, [rdx*2]
test rax, rax
je 0x1800578e5
mov rcx, qword [rbp + 0x808]
shl rdx, 4
mov r8d, 8
call fcn.180002550
mov rdx, qword [rbp + 0xab0]
test rdx, rdx
je 0x180057907
mov rcx, qword [rbp + 0xab8]
shl rdx, 4
mov r8d, 8
call fcn.180002550
lea rcx, [rbp + 0x738]
call fcn.180007240
mov rcx, r14
call sub.KERNEL32.DLL_UnmapViewOfFile
mov rcx, qword [rbp + 0xc60]
call sub.KERNEL32.DLL_CloseHandle
movaps xmm6, xmmword [rbp + 0xce0]
add rsp, 0xd78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rbx
add rcx, 0x10
mov qword [rbp + 0xcd8], rcx
lea rdi, [rbp + 0x878]
lea rcx, [rbp + 0x520]
mov rdx, qword [rbx + 0xd0]
mov qword [rbp + 0xc88], rdx
mov rdx, qword [rbx + 0xd8]
mov qword [rbp + 0xc98], rdx
movzx edx, byte [rbx + 0x100]
mov byte [rbp + 0xc78], dl
mov rdx, qword [rbx + 0x20]
mov qword [rbp + 0xc70], rdx
mov rdx, qword [rbx + 0x28]
mov qword [rbp + 0xcd0], rdx
mov rbx, rcx
jmp 0x1800579d4
lea rdi, [rbp + 0x878]
lea rbx, [rbp + 0x520]
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xb10]
call fcn.1800199a0
mov rax, qword [rbp + 0x860]
cmp rax, 3
je 0x18005780f
mov rsi, qword [rbp + 0x868]
mov rcx, qword [rbp + 0x870]
mov rdx, qword [rdi + 0x30]
mov qword [rbp + 0x540], rdx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movaps xmmword [rbp + 0x530], xmm2
movaps xmmword [rbp + 0x520], xmm1
movaps xmmword [rbp + 0x510], xmm0
movaps xmmword [rbp + 0x410], xmm0
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0x7c0], xmm0
movaps xmmword [rbp + 0x7d0], xmm1
mov rdx, qword [rbx + 0x20]
mov qword [rbp + 0x7e0], rdx
cmp rax, 2
je 0x180058c90
test rax, rax
jne 0x1800579b0
mov rax, rcx
or rax, 4
cmp rax, 5
je 0x1800579b0
mov rax, qword [rbp + 0xbf0]
mov qword [rbp + 0xcc8], rax
mov qword [rbp + 0xb30], 0
mov qword [rbp + 0xb38], rsi
mov qword [rbp + 0xb40], rcx
movaps xmm0, xmmword [rbp + 0x410]
lea rcx, [rbp + 0xb48]
movups xmmword [rcx], xmm0
mov rax, qword [rbp + 0x7e0]
mov qword [rcx + 0x30], rax
movaps xmm0, xmmword [rbp + 0x7c0]
movaps xmm1, xmmword [rbp + 0x7d0]
movups xmmword [rcx + 0x20], xmm1
movups xmmword [rcx + 0x10], xmm0
lea rcx, [rbp + 0x860]
mov rdx, qword [rbp + 0xcd8]
lea r8, [rbp + 0xb30]
call fcn.180019fa0
cmp dword [rbp + 0x860], 2
je 0x1800579a2
mov r8d, 0x1a8
lea rdi, [rbp + 0x510]
mov rcx, rdi
lea rdx, [rbp + 0x860]
call fcn.18009b440
mov rdx, qword [rbp + 0x668]
lea rax, [rdx + 0x10]
mov r8, qword [rbp + 0x538]
mov r9, qword [rbp + 0x540]
mov qword [rbp + 0xb30], r8
mov qword [rbp + 0xb38], r9
mov qword [rbp + 0xb40], rdi
mov qword [rbp + 0xb48], rax
mov qword [rbp + 0xb50], 0
test r9, r9
je case.0x180058a1b.3
mov r10d, 1
sub r10, r9
lea r11, [r8 + 1]
xor eax, eax
xor ecx, ecx
movzx ebx, byte [r11 - 1]
cmp ecx, 0x3f
jne 0x180057b61
cmp bl, 2
jae 0x180058d99
movzx edi, bl
mov ebx, edi
and ebx, 0x7f
shl rbx, cl
or rax, rbx
test dil, dil
jns 0x180057b88
add ecx, 7
inc r10
inc r11
cmp r10, 1
jne 0x180057b4e
jmp 0x180058dac
mov qword [rbp + 0xb30], r11
neg r10
mov qword [rbp + 0xb38], r10
test rax, rax
jne 0x180057c56
lock dec qword [rdx]
jne 0x180057bb4
lea rcx, [rbp + 0x668]
call fcn.180015160
cmp dword [rbp + 0x570], 0x2f
je 0x1800579a2
mov rdx, qword [rbp + 0x5b0]
test rdx, rdx
je 0x180057be3
mov rcx, qword [rbp + 0x5b8]
shl rdx, 2
mov r8d, 2
call fcn.180002550
mov rax, qword [rbp + 0x5c8]
test rax, rax
je 0x180057c09
mov rcx, qword [rbp + 0x5d0]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.180002550
mov rdx, qword [rbp + 0x5e0]
test rdx, rdx
je 0x180057c2b
mov rcx, qword [rbp + 0x5e8]
shl rdx, 2
mov r8d, 2
call fcn.180002550
mov rdx, qword [rbp + 0x5f8]
test rdx, rdx
je 0x1800579a2
mov rcx, qword [rbp + 0x600]
shl rdx, 6
mov r8d, 8
call fcn.180002550
jmp 0x1800579a2
lea rcx, [rax - 1]
cmp rcx, qword [rdx + 0x20]
jae 0x180057c6a
imul rcx, rcx, 0x70
add rcx, qword [rdx + 0x18]
jmp 0x180057ce5
mov rcx, qword [rdx + 0x28]
test rcx, rcx
je case.0x180058a1b.3
mov rdx, qword [rdx + 0x30]
movzx r10d, word [rcx + 0x532]
imul r11, r10, 0x70
mov r8, 0xffffffffffffffff
xor r9d, r9d
mov rdi, r11
add rdi, r9
je 0x180057cc7
xor edi, edi
cmp qword [rcx + r8*8 + 0x4e0], rax
setne dil
mov ebx, 0xff
cmova edi, ebx
inc r8
add r9, 0xffffffffffffff90
cmp dil, 1
je 0x180057c91
movzx r10d, dil
test r10d, r10d
jne 0x180057cca
jmp 0x180057cde
mov r8, r10
sub rdx, 1
jb case.0x180058a1b.3
mov rcx, qword [rcx + r8*8 + 0x538]
jmp 0x180057c7b
sub rcx, r9
add rcx, 0xffffffffffffff90
cmp byte [rcx + 0x6a], 1
jne 0x180057cf6
mov qword [rbp + 0xb50], 1
call fcn.180065450
mov qword [rbp + 0xcb0], rax
mov qword [rbp + 0xcc0], rdx
cmp qword [rbp + 0xcc0], 0
je 0x1800582bf
mov ebx, dword [rbp + 0x558]
mov rcx, qword [rbp + 0x6b0]
mov rax, qword [rbp + 0xc98]
sub rax, rcx
mov qword [rbp + 0x7a8], rax
mov eax, ebx
and eax, 0xff00
mov dword [rbp + 0xb0c], eax
mov eax, ebx
shr eax, 0x10
xor edi, edi
mov dword [rbp + 0xba4], eax
cmp ax, 5
mov edx, 0
cmovb rdx, rcx
mov rax, qword [rbp + 0xc88]
mov qword [rbp + 0xc10], rcx
add rax, rcx
mov qword [rbp + 0xaa8], rax
cmp byte [rbp + 0xc78], 0
cmove rdx, rdi
mov qword [rbp + 0x7a0], rdx
movzx eax, bh
mov qword [rbp + 0x7b0], rax
mov rcx, qword [rbp + 0x6a0]
mov rax, qword [rbp + 0xcd0]
sub rax, rcx
mov qword [rbp + 0xc30], rax
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0xc48], rcx
add rax, rcx
mov qword [rbp + 0xc00], rax
movzx eax, bl
mov qword [rbp + 0xc58], rax
shl qword [rbp + 0xcc0], 4
xor eax, eax
mov qword [rbp + 0xc50], rax
xor eax, eax
mov qword [rbp + 0xc90], rax
xor eax, eax
mov qword [rbp + 0xc68], rax
xor eax, eax
mov qword [rbp + 0xb28], rax
xor eax, eax
mov qword [rbp + 0xcb8], rax
jmp 0x180057e2b
cmp eax, 0x26
mov eax, 1
mov rcx, qword [rbp + 0xc50]
cmove ecx, eax
mov qword [rbp + 0xc50], rcx
add rdi, 0x10
cmp qword [rbp + 0xcc0], rdi
je 0x1800583a8
mov rax, qword [rbp + 0xcb0]
movups xmm0, xmmword [rax + rdi]
movaps xmmword [rbp + 0x400], xmm0
mov rax, qword [rbp + 0xb40]
mov r8d, dword [rax + 0x48]
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xb30]
lea r9, [rbp + 0x400]
call fcn.180017780
mov rax, qword [rbp + 0x860]
cmp rax, 0x2e
je case.0x180058a1b.3
mov rcx, qword [rbp + 0x878]
movups xmm0, xmmword [rbp + 0x868]
movups xmmword [rbp + 0xbc0], xmm0
mov qword [rbp + 0xbb8], rax
mov qword [rbp + 0xbd0], rcx
movzx eax, cx
cmp eax, 0x12
jg 0x180057f5b
cmp eax, 0x11
je 0x180058020
cmp eax, 0x12
jne 0x180057e1a
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xbb8]
call fcn.180019020
mov rax, qword [rbp + 0x860]
test rax, rax
je 0x180058141
cmp eax, 7
je 0x180058160
cmp eax, 0xc
jne 0x180057e1a
mov rax, qword [rbp + 0xc48]
cmp qword [rbp + 0xcd0], rax
jb case.0x180058a1b.3
mov rax, qword [rbp + 0x868]
imul rax, qword [rbp + 0xc58]
mov rcx, qword [rbp + 0xc30]
sub rcx, rax
jb case.0x180058a1b.3
mov rdx, qword [rbp + 0xc58]
dec edx
cmp edx, 7
ja case.0x180058a1b.3
lea r8, [0x1800c4990]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rbp + 0xc30], rax
je case.0x180058a1b.3
mov rcx, qword [rbp + 0xc00]
movzx eax, byte [rcx + rax]
jmp 0x1800582a7
cmp eax, 0x13
je 0x1800580be
cmp eax, 0x55
jne 0x180057e1a
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xbb8]
call fcn.180019020
mov rcx, qword [rbp + 0x860]
mov rax, qword [rbp + 0x868]
cmp rcx, 0x16
je 0x1800580f5
cmp ecx, 0x18
jne 0x180058114
mov rcx, qword [rbp + 0xc10]
cmp qword [rbp + 0xc98], rcx
jb case.0x180058a1b.3
imul rax, qword [rbp + 0x7b0]
mov rcx, qword [rbp + 0x7a8]
sub rcx, rax
jb case.0x180058a1b.3
cmp dword [rbp + 0xb0c], 0x800
jne 0x18005817f
cmp rcx, 7
jbe case.0x180058a1b.3
mov r9, qword [rbp + 0xaa8]
movzx ecx, byte [r9 + rax + 7]
movzx edx, word [r9 + rax + 4]
movzx r8d, byte [r9 + rax + 6]
shl r8d, 0x10
or r8d, edx
mov eax, dword [r9 + rax]
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
jmp 0x180058193
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xbb8]
call fcn.180019020
mov rax, qword [rbp + 0x860]
test rax, rax
je 0x180058122
cmp eax, 0xc
jne 0x180057e1a
mov rax, qword [rbp + 0xc48]
cmp qword [rbp + 0xcd0], rax
jb case.0x180058a1b.3
mov rax, qword [rbp + 0x868]
imul rax, qword [rbp + 0xc58]
mov rcx, qword [rbp + 0xc30]
sub rcx, rax
jb case.0x180058a1b.3
mov rdx, qword [rbp + 0xc58]
dec edx
cmp edx, 7
ja case.0x180058a1b.3
lea r8, [0x1800c49b0]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rbp + 0xc30], rax
je case.0x180058a1b.3
mov rcx, qword [rbp + 0xc00]
movzx eax, byte [rcx + rax]
jmp 0x180058224
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xbb8]
call fcn.180019020
mov rax, qword [rbp + 0x860]
cmp rax, 0x26
jne 0x180057e01
movzx ecx, word [rbp + 0x868]
mov word [rbp + 0xbde], cx
jmp 0x180057e01
add rax, qword [rbp + 0x7a0]
mov ecx, 1
mov qword [rbp + 0xcb8], rcx
mov qword [rbp + 0xc40], rax
jmp 0x180057e1a
xor eax, eax
mov qword [rbp + 0xcb8], rax
jmp 0x180057e1a
mov eax, 1
mov qword [rbp + 0xc90], rax
mov rax, qword [rbp + 0x868]
mov qword [rbp + 0xc08], rax
jmp 0x180057e1a
mov eax, 1
mov qword [rbp + 0xc68], rax
mov rax, qword [rbp + 0x868]
mov qword [rbp + 0xbb0], rax
jmp 0x180057e1a
mov eax, 1
mov qword [rbp + 0xb28], rax
mov rax, qword [rbp + 0x868]
mov qword [rbp + 0x7b8], rax
jmp 0x180057e1a
cmp rcx, 3
jbe case.0x180058a1b.3
mov rcx, qword [rbp + 0xaa8]
mov eax, dword [rcx + rax]
mov qword [rbp + 0xc40], rax
mov rax, qword [rbp + 0xc10]
add qword [rbp + 0xc40], rax
mov eax, 1
mov qword [rbp + 0xcb8], rax
jmp 0x180057e1a
cmp rcx, 1
jbe case.0x180058a1b.3
mov rcx, qword [rbp + 0xc00]
movzx eax, word [rcx + rax]
jmp 0x180058224
cmp rcx, 3
jbe case.0x180058a1b.3
mov rcx, qword [rbp + 0xc00]
mov eax, dword [rcx + rax]
jmp 0x180058224
cmp rcx, 8
jb case.0x180058a1b.3
mov r9, qword [rbp + 0xc00]
movzx ecx, byte [r9 + rax + 7]
movzx edx, word [r9 + rax + 4]
movzx r8d, byte [r9 + rax + 6]
shl r8d, 0x10
or r8d, edx
mov eax, dword [r9 + rax]
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
mov qword [rbp + 0xc08], rax
mov eax, 1
mov qword [rbp + 0xc90], rax
jmp 0x180057e1a
cmp rcx, 1
jbe case.0x180058a1b.3
mov rcx, qword [rbp + 0xc00]
movzx eax, word [rcx + rax]
jmp 0x1800582a7
cmp rcx, 3
jbe case.0x180058a1b.3
mov rcx, qword [rbp + 0xc00]
mov eax, dword [rcx + rax]
jmp 0x1800582a7
cmp rcx, 8
jb case.0x180058a1b.3
mov r9, qword [rbp + 0xc00]
movzx ecx, byte [r9 + rax + 7]
movzx edx, word [r9 + rax + 4]
movzx r8d, byte [r9 + rax + 6]
shl r8d, 0x10
or r8d, edx
mov eax, dword [r9 + rax]
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
mov qword [rbp + 0xbb0], rax
mov eax, 1
mov qword [rbp + 0xc68], rax
jmp 0x180057e1a
xor eax, eax
mov qword [rbp + 0xc50], rax
xor eax, eax
mov qword [rbp + 0xc90], rax
xor eax, eax
mov qword [rbp + 0xc68], rax
xor eax, eax
mov qword [rbp + 0xb28], rax
mov rax, qword [rbp + 0xb98]
test rax, rax
je 0x180058332
mov rdx, rax
mov rax, qword [rbp + 0xb90]
mov r10, rdx
mov rdi, rdx
xor ecx, ecx
shr rdi, 1
add rdi, rcx
mov r8, rdi
shl r8, 4
mov r9, qword [rax + r8]
cmp r9, rsi
je 0x1800584b6
lea r8, [rdi + 1]
cmp r9, rsi
cmova r10, rdi
cmovb rcx, r8
mov rdi, r10
sub rdi, rcx
ja 0x180058301
cmp qword [rbp + 0xc90], 0
je 0x18005856a
cmp qword [rbp + 0xc68], 0
je 0x1800584ec
mov rax, qword [rbp + 0xbb0]
cmp qword [rbp + 0xc08], rax
jae 0x18005856a
mov rdi, qword [rbp + 0xc28]
cmp rdi, qword [rbp + 0xc18]
jne 0x18005837e
lea rcx, [rbp + 0xc18]
call fcn.180015a70
mov rax, qword [rbp + 0xc20]
mov rcx, rdi
shl rcx, 5
mov rdx, qword [rbp + 0xc08]
mov qword [rax + rcx], rdx
mov rdx, qword [rbp + 0xbb0]
mov qword [rax + rcx + 8], rdx
jmp 0x180058547
cmp qword [rbp + 0xcb8], 0
je 0x1800582e3
xor eax, eax
cmp word [rbp + 0xba4], 5
setae al
shl eax, 4
mov rcx, qword [rbp + 0xca8]
mov rax, qword [rcx + rax + 0xc8]
sub rax, qword [rbp + 0xc40]
jb case.0x180058a1b.3
xor ecx, ecx
mov r9d, dword [rbp + 0xba4]
cmp r9w, 5
setae cl
shl ecx, 4
mov rdx, qword [rbp + 0xca8]
mov rcx, qword [rdx + rcx + 0xc0]
add rcx, qword [rbp + 0xc40]
cmp r9w, 5
mov rdx, qword [rbp + 0x690]
setae byte [rbp + 0x894]
mov r8, qword [rbp + 0xc70]
mov qword [rbp + 0x860], r8
mov r8, qword [rbp + 0xcd0]
mov qword [rbp + 0x868], r8
mov qword [rbp + 0x870], rdx
mov rdx, qword [rbp + 0xc48]
mov qword [rbp + 0x878], rdx
mov qword [rbp + 0x880], rcx
mov qword [rbp + 0x888], rax
mov word [rbp + 0x890], bx
mov word [rbp + 0x892], r9w
lea rcx, [rbp + 0xbb8]
lea rdx, [rbp + 0x860]
call fcn.18001d800
mov rax, qword [rbp + 0xbb8]
cmp rax, 2
jne 0x180058bc8
mov rax, qword [rbp + 0xbc0]
mov qword [rbp + 0xcb0], rax
cmp al, 0x4b
jne case.0x180058a1b.3
mov rax, qword [rbp + 0xcb0]
shr eax, 8
jmp 0x18005856c
lea rcx, [rdi - 1]
cmp rcx, rdx
jae 0x1800587c1
inc rdi
lea rcx, [rax + r8]
add rcx, 0xfffffffffffffff0
cmp rdi, 1
je 0x1800587ca
dec rdi
lea r8, [rcx - 0x10]
cmp qword [rcx], rsi
mov rcx, r8
je 0x1800584ce
jmp 0x1800587cc
cmp qword [rbp + 0xb28], 0
je 0x18005856a
mov rax, qword [rbp + 0x7b8]
mov rcx, qword [rbp + 0xc08]
lea rbx, [rax + rcx]
cmp rcx, rbx
jae 0x18005856a
mov rdi, qword [rbp + 0xc28]
cmp rdi, qword [rbp + 0xc18]
jne 0x180058529
lea rcx, [rbp + 0xc18]
call fcn.180015a70
mov rax, qword [rbp + 0xc20]
mov rcx, rdi
shl rcx, 5
mov rdx, qword [rbp + 0xc08]
mov qword [rax + rcx], rdx
mov qword [rax + rcx + 8], rbx
mov rdx, qword [rbp + 0xcc8]
mov qword [rax + rcx + 0x10], rdx
mov qword [rax + rcx + 0x18], 0
inc rdi
mov qword [rbp + 0xc28], rdi
mov al, 1
jmp 0x18005856c
xor eax, eax
mov qword [rbp + 0xcb0], rax
mov rax, qword [rbp + 0xcb0]
and al, 1
mov qword [rbp + 0xcb0], rax
mov qword [rbp + 0xb30], 0
test byte [rbp + 0xcb0], 1
jne 0x1800586bf
cmp qword [rbp + 0x570], 0x2f
je 0x1800586bf
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x570]
call fcn.18001ebf0
lea rcx, [rbp + 0xbb8]
lea rdx, [rbp + 0x510]
lea r8, [rbp + 0x860]
mov r9, qword [rbp + 0xcd8]
call fcn.180022570
mov qword [rbp + 0xb30], 1
movups xmm0, xmmword [rbp + 0xbb8]
movups xmm1, xmmword [rbp + 0xbc8]
lea rax, [rbp + 0xb38]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp qword [rbp + 0xb38], 0
je 0x1800586bf
mov rax, qword [rbp + 0xb50]
mov qword [rbp + 0xcc0], rax
test rax, rax
je 0x1800586bf
mov rax, qword [rbp + 0xb48]
mov qword [rbp + 0xcb0], rax
mov rax, qword [rbp + 0xc28]
mov rbx, rax
shl rax, 5
mov qword [rbp + 0xcb8], rax
shl qword [rbp + 0xcc0], 5
xor edi, edi
jmp 0x18005869c
mov rax, qword [rbp + 0xc20]
add rax, qword [rbp + 0xcb8]
movups xmmword [rdi + rax], xmm6
mov rcx, qword [rbp + 0xcc8]
mov qword [rdi + rax + 0x10], rcx
mov qword [rdi + rax + 0x18], 0
mov rax, rbx
inc rax
mov rbx, rax
mov qword [rbp + 0xc28], rax
add rdi, 0x20
cmp qword [rbp + 0xcc0], rdi
je 0x1800586bf
mov rax, qword [rbp + 0xcb0]
movups xmm6, xmmword [rax + rdi + 0x10]
cmp rbx, qword [rbp + 0xc18]
jne 0x180058658
lea rcx, [rbp + 0xc18]
call fcn.180015a70
jmp 0x180058658
mov r8d, 0x1a8
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x510]
call fcn.18009b440
movups xmm0, xmmword [rbp + 0xb30]
movups xmm1, xmmword [rbp + 0xb40]
lea rcx, [rbp + 0x878]
movups xmmword [rcx + 0x198], xmm0
movups xmmword [rcx + 0x1a8], xmm1
mov rax, qword [rbp + 0xb50]
mov qword [rcx + 0x1b8], rax
mov qword [rbp + 0xa08], rsi
mov rax, qword [rbp + 0xc50]
mov word [rbp + 0xa70], ax
movzx eax, word [rbp + 0xbde]
mov word [rbp + 0xa72], ax
mov qword [rbp + 0xa38], 0
mov byte [rbp + 0xa60], 0x4c
mov rax, qword [rbp + 0xcc8]
cmp rax, qword [rbp + 0xbe0]
jne 0x18005875a
lea rcx, [rbp + 0xbe0]
call fcn.180015d20
mov rdi, qword [rbp + 0xcc8]
imul rcx, rdi, 0x218
add rcx, qword [rbp + 0xbe8]
mov r8d, 0x218
lea rsi, [rbp + 0x860]
mov rdx, rsi
call fcn.18009b440
inc rdi
mov qword [rbp + 0xbf0], rdi
mov rcx, rsi
lea rdx, [rbp + 0xb10]
call fcn.1800199a0
mov rax, qword [rbp + 0x860]
cmp rax, 3
lea rdi, [rbp + 0x878]
lea rbx, [rbp + 0x520]
jne 0x1800579d4
jmp 0x18005780f
test rdi, rdi
jne 0x180059d95
xor edi, edi
cmp rdi, rdx
jne 0x1800587d8
xor eax, eax
jmp 0x18005857c
shl rdx, 4
add rdx, rax
mov qword [rbp + 0xc48], rdx
shl rdi, 4
add rdi, rax
xor eax, eax
mov qword [rbp + 0xcb0], rax
jmp 0x180058809
add rdi, 0x10
cmp rdi, qword [rbp + 0xc48]
je 0x180058583
cmp qword [rdi], rsi
jne 0x180058583
mov r8, qword [rdi + 8]
mov rax, qword [rbp + 0xca0]
sub rax, r8
jb case.0x180058a1b.3
mov rcx, qword [rbp + 0xc80]
add rcx, r8
mov qword [rbp + 0xbb8], rcx
mov qword [rbp + 0xbc0], rax
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0xbb8]
call fcn.18001d550
cmp byte [rbp + 0x889], 3
je case.0x180058a1b.3
mov rax, qword [rbp + 0x868]
mov qword [rbp + 0xcc0], rax
test rax, rax
je 0x1800587f8
mov rax, qword [rbp + 0x860]
mov qword [rbp + 0xcb8], rax
movzx eax, byte [rbp + 0x888]
movzx ecx, byte [rbp + 0x88c]
mov qword [rbp + 0xc30], rax
add eax, eax
mov qword [rbp + 0xc58], rcx
add al, cl
movzx eax, al
mov qword [rbp + 0xc68], rax
jmp 0x1800588f1
cmp qword [rbp + 0xcc0], 4
jb case.0x180058a1b.3
mov rcx, qword [rbp + 0xcb8]
movzx edx, word [rcx]
mov qword [rbp + 0xc90], rdx
add qword [rbp + 0xcc0], 0xfffffffffffffffc
movzx ebx, word [rcx + 2]
add rcx, 4
mov qword [rbp + 0xcb8], rcx
or rax, qword [rbp + 0xc90]
or rax, rbx
jne 0x180058b3d
mov rax, qword [rbp + 0xcc0]
cmp rax, qword [rbp + 0xc68]
jb 0x1800587f8
cmp dword [rbp + 0xc58], 8
ja case.0x180058a1b.3
mov eax, dword [rbp + 0xc58]
lea rcx, [0x1800c49d0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rax, qword [rbp + 0xc58]
jmp 0x1800589fb
cmp qword [rbp + 0xcc0], 0
je case.0x180058a1b.3
dec qword [rbp + 0xcc0]
mov rcx, qword [rbp + 0xcb8]
movzx eax, byte [rcx]
inc rcx
jmp 0x1800589a1
cmp qword [rbp + 0xcc0], 1
jbe case.0x180058a1b.3
add qword [rbp + 0xcc0], 0xfffffffffffffffe
mov rcx, qword [rbp + 0xcb8]
movzx eax, word [rcx]
add rcx, 2
jmp 0x1800589a1
cmp qword [rbp + 0xcc0], 3
jbe case.0x180058a1b.3
add qword [rbp + 0xcc0], 0xfffffffffffffffc
mov rcx, qword [rbp + 0xcb8]
mov eax, dword [rcx]
add rcx, 4
mov qword [rbp + 0xcb8], rcx
jmp 0x1800589fb
cmp qword [rbp + 0xcc0], 8
jb case.0x180058a1b.3
add qword [rbp + 0xcc0], 0xfffffffffffffff8
mov r9, qword [rbp + 0xcb8]
movzx ecx, byte [r9 + 7]
movzx edx, word [r9 + 4]
movzx r8d, byte [r9 + 6]
mov eax, dword [r9]
add r9, 8
shl r8d, 0x10
or r8d, edx
shl r8, 0x28
shl rax, 8
or rax, r8
shrd rax, rcx, 8
mov qword [rbp + 0xcb8], r9
mov rcx, qword [rbp + 0xc30]
dec ecx
cmp ecx, 7
ja case.0x180058a1b.3
lea rdx, [0x1800c49f4]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp qword [rbp + 0xcc0], 2
jb case.0x180058a1b.3
mov rcx, qword [rbp + 0xcb8]
movzx edx, byte [rcx]
mov qword [rbp + 0xc90], rdx
add qword [rbp + 0xcc0], 0xfffffffffffffffe
movzx ebx, byte [rcx + 1]
add rcx, 2
jmp 0x1800588da
cmp qword [rbp + 0xcc0], 4
jb case.0x180058a1b.3
mov rcx, qword [rbp + 0xcc0]
and rcx, 0xfffffffffffffffc
cmp rcx, 4
je case.0x180058a1b.3
mov rcx, qword [rbp + 0xcb8]
mov edx, dword [rcx]
mov qword [rbp + 0xc90], rdx
mov ebx, dword [rcx + 4]
add qword [rbp + 0xcc0], 0xfffffffffffffff8
add rcx, 8
jmp 0x1800588da
cmp qword [rbp + 0xcc0], 8
jb case.0x180058a1b.3
mov rcx, qword [rbp + 0xcc0]
and rcx, 0xfffffffffffffff8
cmp rcx, 8
je case.0x180058a1b.3
mov r9, qword [rbp + 0xcb8]
movzx ecx, word [r9 + 4]
movzx edx, byte [r9 + 6]
shl edx, 0x10
or edx, ecx
mov r8d, dword [r9]
mov ebx, dword [r9 + 8]
movzx ecx, byte [r9 + 7]
shl rdx, 0x28
shl r8, 8
or r8, rdx
shrd r8, rcx, 8
mov qword [rbp + 0xc90], r8
add qword [rbp + 0xcc0], 0xfffffffffffffff0
movzx ecx, byte [r9 + 0xf]
movzx edx, word [r9 + 0xc]
movzx r8d, byte [r9 + 0xe]
add r9, 0x10
shl r8d, 0x10
or r8d, edx
shl r8, 0x28
shl rbx, 8
or rbx, r8
shrd rbx, rcx, 8
mov qword [rbp + 0xcb8], r9
or rax, qword [rbp + 0xc90]
or rax, rbx
je 0x1800588f1
test rbx, rbx
je 0x180058bb5
mov rax, qword [rbp + 0xc28]
mov qword [rbp + 0xcb0], rax
cmp rax, qword [rbp + 0xc18]
jne 0x180058b65
lea rcx, [rbp + 0xc18]
call fcn.180015a70
mov rdx, qword [rbp + 0xc90]
add rbx, rdx
mov rax, qword [rbp + 0xc20]
mov r8, qword [rbp + 0xcb0]
mov rcx, r8
shl rcx, 5
mov qword [rax + rcx], rdx
mov qword [rax + rcx + 8], rbx
mov rdx, qword [rbp + 0xcc8]
mov qword [rax + rcx + 0x10], rdx
mov qword [rax + rcx + 0x18], 0
inc r8
mov qword [rbp + 0xc28], r8
mov al, 1
mov qword [rbp + 0xcb0], rax
cmp qword [rbp + 0xcc0], 0
jne 0x1800588f1
jmp 0x1800587f8
xor ecx, ecx
mov qword [rbp + 0xcb0], rcx
jmp 0x180058c3d
mov rax, qword [rbp + 0xc20]
mov rcx, rdi
shl rcx, 5
mov rdx, qword [rbp + 0xcc0]
mov qword [rax + rcx], rdx
mov qword [rax + rcx + 8], rbx
mov rdx, qword [rbp + 0xcc8]
mov qword [rax + rcx + 0x10], rdx
mov qword [rax + rcx + 0x18], 0
inc rdi
mov qword [rbp + 0xc28], rdi
mov al, 1
mov qword [rbp + 0xcb0], rax
lea rcx, [rbp + 0xbb8]
lea rdx, [rbp + 0x860]
call fcn.18001d800
mov rax, qword [rbp + 0xbb8]
cmp rax, 2
je 0x180058491
cmp rax, 1
jne 0x180058c82
mov rax, qword [rbp + 0xbc0]
mov rbx, qword [rbp + 0xbc8]
mov qword [rbp + 0xcc0], rax
cmp rax, rbx
jae 0x180058c19
mov rdi, qword [rbp + 0xc28]
cmp rdi, qword [rbp + 0xc18]
jne 0x180058bd3
lea rcx, [rbp + 0xc18]
call fcn.180015a70
jmp 0x180058bd3
mov rax, qword [rbp + 0xcb0]
and al, 1
jmp 0x18005856c
mov rsi, qword [rbp + 0xc20]
mov rax, qword [rbp + 0xc28]
mov rcx, rax
mov qword [rbp + 0xcd8], rax
cmp rax, 2
jb 0x180058eb3
cmp qword [rbp + 0xcd8], 0x15
jae 0x180058e7c
mov rbx, qword [rbp + 0xcd8]
shl rbx, 5
add rbx, rsi
mov r10, rbx
lea rdx, [rsi + 0x20]
mov eax, 0x20
mov r8, rsi
jmp 0x180058d10
mov r8, rsi
mov qword [r8], rdx
movaps xmm0, xmmword [rbp + 0x860]
movups xmmword [r8 + 8], xmm0
mov rdx, qword [rbp + 0x870]
mov qword [r8 + 0x18], rdx
lea rdx, [rcx + 0x20]
add rax, 0x20
mov r8, rcx
cmp rdx, r10
je 0x180058e9e
mov rcx, rdx
mov rdx, qword [r8 + 0x20]
cmp rdx, qword [r8]
jae 0x180058cfc
mov r9, qword [r8 + 0x38]
mov qword [rbp + 0x870], r9
movups xmm0, xmmword [r8 + 0x28]
movaps xmmword [rbp + 0x860], xmm0
mov r9, rax
movups xmm0, xmmword [rsi + r9 - 0x20]
movups xmm1, xmmword [rsi + r9 - 0x10]
movups xmmword [rsi + r9 + 0x10], xmm1
movups xmmword [rsi + r9], xmm0
cmp r9, 0x20
je 0x180058cdf
lea r8, [r9 - 0x20]
cmp rdx, qword [rsi + r9 - 0x40]
mov r9, r8
jb 0x180058d36
add r8, rsi
jmp 0x180058ce2
mov rdx, qword [rbp + 0xcd8]
call fcn.18000e2b0
mov rax, r14
mov r10, qword [rbp + 0xca8]
mov r11, qword [rbp + 0xca0]
mov rsi, qword [rbp + 0xc88]
mov rdi, qword [rbp + 0xc78]
jmp 0x180056ef7
mov qword [rbp + 0xb30], r11
neg r10
mov qword [rbp + 0xb38], r10
jmp case.0x180058a1b.3
add r8, r9
mov qword [rbp + 0xb30], r8
mov qword [rbp + 0xb38], 0
mov rax, qword [rbp + 0x668]
lock dec qword [rax]
jne 0x180058dda
lea rcx, [rbp + 0x668]
call fcn.180015160
cmp dword [rbp + 0x570], 0x2f
je 0x18005780f
mov rdx, qword [rbp + 0x5b0]
test rdx, rdx
je 0x180058e09
mov rcx, qword [rbp + 0x5b8]
shl rdx, 2
mov r8d, 2
call fcn.180002550
mov rax, qword [rbp + 0x5c8]
test rax, rax
je 0x180058e2f
mov rcx, qword [rbp + 0x5d0]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.180002550
mov rdx, qword [rbp + 0x5e0]
test rdx, rdx
je 0x180058e51
mov rcx, qword [rbp + 0x5e8]
shl rdx, 2
mov r8d, 2
call fcn.180002550
mov rdx, qword [rbp + 0x5f8]
test rdx, rdx
je 0x18005780f
mov rcx, qword [rbp + 0x600]
shl rdx, 6
mov r8d, 8
call fcn.180002550
jmp 0x18005780f
mov rcx, rsi
mov rdx, qword [rbp + 0xcd8]
call fcn.1800089e0
mov rcx, qword [rbp + 0xcd8]
shl rcx, 5
mov rax, rsi
add rax, rcx
jmp 0x180058ecb
mov rsi, qword [rbp + 0xc20]
mov rax, qword [rbp + 0xc28]
mov qword [rbp + 0xcd8], rax
cmp qword [rbp + 0xcd8], 0
je 0x180058eed
mov rax, qword [rbp + 0xcd8]
shl rax, 5
add rax, rsi
xor ecx, ecx
mov rdx, rsi
mov r8, qword [rdx + 8]
cmp rcx, r8
cmovbe rcx, r8
mov qword [rdx + 0x18], rcx
lea r8, [rdx + 0x20]
mov rdx, r8
cmp r8, rax
jne 0x180058ed0
jmp 0x180058ef6
xor eax, eax
mov qword [rbp + 0xcd8], rax
mov rax, qword [rbp + 0xc18]
mov qword [rbp + 0xcc8], rax
movups xmm0, xmmword [rbp + 0xbe0]
movaps xmmword [rbp + 0x700], xmm0
mov rax, qword [rbp + 0xbf0]
mov qword [rbp + 0x710], rax
mov rdx, qword [rbp + 0xb88]
test rdx, rdx
je 0x180058f42
mov rcx, qword [rbp + 0xb90]
shl rdx, 4
mov r8d, 8
call fcn.180002550
movabs rax, 0x8000000000000000
cmp qword [rbp + 0xcc8], rax
je 0x1800578a2
mov rax, qword [rbp + 0x710]
mov qword [rbp + 0xbf0], rax
movaps xmm0, xmmword [rbp + 0x700]
movaps xmmword [rbp + 0xbe0], xmm0
mov rax, qword [rbp + 0xba8]
mov qword [rbp + 0xca8], rax
mov rax, qword [rax + 0xe0]
test rax, rax
je 0x180059073
mov rbx, rax
mov qword [rbp + 0xbb8], 0
mov qword [rbp + 0xbc0], 8
mov qword [rbp + 0xbc8], 0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbp + 0x7c0], xmm0
mov qword [rbp + 0x7d0], 0
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x7c0]
call fcn.1800199a0
mov rax, qword [rbp + 0x860]
cmp rax, 3
jne 0x180059132
lea rcx, [rbp + 0xbb8]
call fcn.180005980
mov r12, qword [rbp + 0xbe8]
mov rdi, qword [rbp + 0xbf0]
inc rdi
mov rcx, r12
cmp rdi, 1
je 0x18005902b
lea r15, [rcx + 0x218]
dec rdi
call fcn.1800053f0
mov rcx, r15
jmp 0x180059011
mov rax, qword [rbp + 0xbe0]
test rax, rax
je 0x18005904c
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, r12
call fcn.180002550
cmp qword [rbp + 0xcc8], 0
je 0x1800578a2
mov rdx, qword [rbp + 0xcc8]
shl rdx, 5
mov r8d, 8
mov rcx, rsi
jmp 0x18005789d
mov qword [rbp + 0xb10], 0
mov qword [rbp + 0xb18], 8
mov eax, 8
mov qword [rbp + 0xcd0], rax
xor eax, eax
mov qword [rbp + 0xc80], rax
xor edi, edi
mov qword [rbp + 0xb20], rdi
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x860], rax
mov qword [rbp + 0xc98], rsi
mov rax, qword [rbp + 0xcd8]
cmp qword [rbp + 0xcc8], rax
jbe 0x1800592ed
mov rbx, qword [rbp + 0xcc8]
shl rbx, 5
cmp qword [rbp + 0xcd8], 0
je 0x1800592d0
mov r9, qword [rbp + 0xcd8]
shl r9, 5
mov r8d, 8
mov rcx, rsi
mov rdx, rbx
mov qword [rbp + 0xca0], r9
call fcn.180002560
mov qword [rbp + 0xc98], rax
test rax, rax
jne 0x1800592ed
mov ecx, 8
mov rdx, qword [rbp + 0xca0]
call fcn.180078390
jmp 0x180059da1
add rbx, 0x10
mov ecx, 8
mov qword [rbp + 0xcd0], rcx
xor edi, edi
jmp 0x180059174
cmp rax, 2
je 0x18005928b
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x7c0]
call fcn.1800199a0
mov rax, qword [rbp + 0x860]
cmp rax, 3
je 0x180058ff1
movups xmm6, xmmword [rbp + 0x868]
lea rcx, [rbp + 0x878]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movaps xmmword [rbp + 0xb30], xmm0
movaps xmmword [rbp + 0xb40], xmm1
movaps xmmword [rbp + 0xb50], xmm2
mov rcx, qword [rcx + 0x30]
mov qword [rbp + 0xb60], rcx
test rax, rax
jne 0x180059146
mov qword [rbp + 0x860], 0
movups xmmword [rbp + 0x868], xmm6
mov rax, qword [rbp + 0xb60]
lea rcx, [rbp + 0x878]
mov qword [rcx + 0x30], rax
movaps xmm0, xmmword [rbp + 0xb30]
movaps xmm1, xmmword [rbp + 0xb40]
movaps xmm2, xmmword [rbp + 0xb50]
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
lea rcx, [rbp + 0x510]
mov rdx, rbx
lea r8, [rbp + 0x860]
call fcn.180019fa0
cmp dword [rbp + 0x510], 2
je 0x180059150
mov r8d, 0x1a8
lea rcx, [rbp + 0x860]
lea rdx, [rbp + 0x510]
call fcn.18009b440
movlps qword [rbp + 0xa08], xmm6
cmp rdi, qword [rbp + 0xbb8]
jne 0x18005925c
lea rcx, [rbp + 0xbb8]
call fcn.180015de0
mov rax, qword [rbp + 0xbc0]
mov qword [rbp + 0xcd0], rax
imul rcx, rdi, 0x1b0
add rcx, qword [rbp + 0xcd0]
mov r8d, 0x1b0
lea rdx, [rbp + 0x860]
call fcn.18009b440
inc rdi
mov qword [rbp + 0xbc8], rdi
jmp 0x180059150
mov rdx, qword [rbp + 0xbb8]
movabs rax, 0x8000000000000000
mov rcx, rdx
mov qword [rbp + 0xc80], rdx
cmp rdx, rax
je 0x180058ffd
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0xb10], rax
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0xb18], rax
jmp 0x1800590a0
mov eax, 8
mov qword [rbp + 0xc98], rax
mov r8d, 8
mov rcx, rsi
mov rdx, rbx
call fcn.180002550
mov rax, qword [rbp + 0xbe0]
mov rbx, qword [rbp + 0xbe8]
mov rcx, qword [rbp + 0xbf0]
mov qword [rbp + 0xca0], rcx
cmp rax, rcx
jbe 0x180059370
imul rdx, rax, 0x218
cmp qword [rbp + 0xca0], 0
je 0x18005935d
imul r9, qword [rbp + 0xca0], 0x218
mov r8d, 8
mov rcx, rbx
mov qword [rbp + 0xc70], r9
call fcn.180002560
mov rbx, rax
test rax, rax
jne 0x180059370
mov ecx, 8
mov rdx, qword [rbp + 0xc70]
call fcn.180078390
jmp 0x180059da1
mov r8d, 8
mov rcx, rbx
call fcn.180002550
mov ebx, 8
cmp qword [rbp + 0xc80], rdi
jbe 0x1800593e9
imul rdx, qword [rbp + 0xc80], 0x1b0
test rdi, rdi
je 0x1800593cb
imul r9, rdi, 0x1b0
mov r8d, 8
mov rcx, qword [rbp + 0xcd0]
mov qword [rbp + 0xc80], r9
call fcn.180002560
mov qword [rbp + 0xcd0], rax
test rax, rax
jne 0x1800593e9
mov ecx, 8
mov rdx, qword [rbp + 0xc80]
call fcn.180078390
jmp 0x180059da1
mov r8d, 8
mov rcx, qword [rbp + 0xcd0]
call fcn.180002550
mov eax, 8
mov qword [rbp + 0xcd0], rax
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x768], rax
mov rax, qword [rbp + 0xc98]
mov qword [rbp + 0x770], rax
mov rax, qword [rbp + 0xcd8]
mov qword [rbp + 0x778], rax
mov qword [rbp + 0x780], rbx
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0x788], rax
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0x790], rax
mov qword [rbp + 0x798], rdi
mov rcx, qword [rbp + 0x800]
movabs rax, 0x8000000000000000
mov qword [rbp + 0xcc8], rcx
cmp rcx, rax
jne 0x18005987d
mov byte [rbp + 0xcd8], 0x16
mov rax, qword [rbp + 0x798]
mov qword [rbp + 0x6f0], rax
movups xmm0, xmmword [rbp + 0x768]
movups xmm1, xmmword [rbp + 0x778]
movups xmm2, xmmword [rbp + 0x788]
movaps xmmword [rbp + 0x6e0], xmm2
movaps xmmword [rbp + 0x6d0], xmm1
movaps xmmword [rbp + 0x6c0], xmm0
mov rax, qword [rbp + 0xab0]
lea rcx, [rbp + 0xab8]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmm3, xmmword [rcx + 0x30]
movaps xmmword [rbp + 0x460], xmm0
movaps xmmword [rbp + 0x470], xmm1
movaps xmmword [rbp + 0x480], xmm2
movaps xmmword [rbp + 0x490], xmm3
movups xmm0, xmmword [rcx + 0x40]
movaps xmmword [rbp + 0x4a0], xmm0
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x180057907
movaps xmm0, xmmword [rbp + 0x4a0]
movups xmmword [rbp + 0x220], xmm0
movaps xmm0, xmmword [rbp + 0x460]
movaps xmm1, xmmword [rbp + 0x470]
movaps xmm2, xmmword [rbp + 0x480]
movaps xmm3, xmmword [rbp + 0x490]
movups xmmword [rbp + 0x210], xmm3
movups xmmword [rbp + 0x200], xmm2
movups xmmword [rbp + 0x1f0], xmm1
movups xmmword [rbp + 0x1e0], xmm0
movaps xmm0, xmmword [rbp + 0x4f0]
movups xmmword [rbp + 0x271], xmm0
mov rcx, qword [rbp + 0x4ff]
mov qword [rbp + 0x280], rcx
movaps xmm0, xmmword [rbp + 0x4b0]
movaps xmm1, xmmword [rbp + 0x4c0]
movaps xmm2, xmmword [rbp + 0x4d0]
movaps xmm3, xmmword [rbp + 0x4e0]
movups xmmword [rbp + 0x231], xmm0
movups xmmword [rbp + 0x241], xmm1
movups xmmword [rbp + 0x251], xmm2
movups xmmword [rbp + 0x261], xmm3
mov rcx, qword [rbp + 0x72f]
mov qword [rbp + 0x298], rcx
movaps xmm0, xmmword [rbp + 0x720]
movups xmmword [rbp + 0x289], xmm0
movaps xmm0, xmmword [rbp + 0x420]
movaps xmm1, xmmword [rbp + 0x430]
movaps xmm2, xmmword [rbp + 0x440]
movaps xmm3, xmmword [rbp + 0x450]
movups xmmword [rbp + 0x2a0], xmm0
movups xmmword [rbp + 0x2b0], xmm1
movups xmmword [rbp + 0x2c0], xmm2
movups xmmword [rbp + 0x2d0], xmm3
mov rcx, qword [rbp + 0x6f0]
mov qword [rbp + 0x3b0], rcx
movaps xmm0, xmmword [rbp + 0x6c0]
movaps xmm1, xmmword [rbp + 0x6d0]
movaps xmm2, xmmword [rbp + 0x6e0]
movups xmmword [rbp + 0x380], xmm0
movups xmmword [rbp + 0x390], xmm1
movups xmmword [rbp + 0x3a0], xmm2
movups xmm0, xmmword [rbp + 0x738]
movups xmm1, xmmword [rbp + 0x748]
movups xmm2, xmmword [rbp + 0x758]
movups xmmword [rbp + 0x3f0], xmm2
movups xmmword [rbp + 0x3e0], xmm1
movups xmmword [rbp + 0x3d0], xmm0
mov qword [rbp + 0x1d8], rax
movzx eax, byte [rbp + 0xcd8]
mov byte [rbp + 0x230], al
mov byte [rbp + 0x288], sil
mov qword [rbp + 0x2e0], rbx
mov rax, qword [rbp + 0xcd0]
mov qword [rbp + 0x2e8], rax
mov rax, qword [rbp + 0xca8]
mov qword [rbp + 0x2f0], rax
mov rax, qword [rbp + 0xca0]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0xc90]
mov qword [rbp + 0x300], rax
mov rax, qword [rbp + 0xc80]
mov qword [rbp + 0x308], rax
mov rax, qword [rbp + 0xc98]
mov qword [rbp + 0x310], rax
mov rax, qword [rbp + 0xc70]
mov qword [rbp + 0x318], rax
mov rax, qword [rbp + 0xc68]
mov qword [rbp + 0x320], rax
mov rax, qword [rbp + 0xc88]
mov qword [rbp + 0x328], rax
mov rax, qword [rbp + 0xc78]
mov qword [rbp + 0x330], rax
mov rax, qword [rbp + 0xcc0]
mov qword [rbp + 0x338], rax
mov rax, qword [rbp + 0xc40]
mov qword [rbp + 0x340], rax
mov rax, qword [rbp + 0xcb0]
mov qword [rbp + 0x348], rax
mov qword [rbp + 0x350], rdi
mov rax, qword [rbp + 0xc50]
mov qword [rbp + 0x358], rax
mov rax, qword [rbp + 0xc30]
mov qword [rbp + 0x360], rax
mov rax, qword [rbp + 0xcb8]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], 1
mov qword [rbp + 0x378], 0
mov rax, qword [rbp + 0xc60]
mov qword [rbp + 0x3b8], rax
mov qword [rbp + 0x3c0], r14
mov rax, qword [rbp + 0xc38]
mov qword [rbp + 0x3c8], rax
mov rdi, qword [0x18009d040]
mov rbx, qword [0x18009d030]
cmp rdi, 4
jne 0x1800597f5
mov qword [0x18009d040], 3
mov edx, 0x690
add rdx, qword [0x18009d038]
lea rcx, [rbp + 0x860]
mov r8d, 0x230
call fcn.18009b440
mov edi, 3
movabs rax, 0x8000000000000000
cmp qword [rbp + 0x868], rax
je 0x1800597f5
lea rcx, [rbp + 0x868]
call fcn.180007060
mov rdi, qword [0x18009d040]
mov rbx, qword [0x18009d030]
lea rsi, [rbp + 0x868]
lea rdx, [rbp + 0x1d8]
mov r8d, 0x228
mov rcx, rsi
call fcn.18009b440
mov qword [rbp + 0x860], r15
cmp rdi, rbx
jne 0x180059822
call fcn.1800162f0
mov r14, qword [0x18009d038]
test rdi, rdi
je 0x180059d47
lea rcx, [r14 + 0x230]
imul r8, rdi, 0x230
mov rdx, r14
call sub.msvcrt.dll_memmove
lea rdx, [rbp + 0x860]
mov r8d, 0x230
mov rcx, r14
call fcn.18009b440
inc rdi
mov qword [0x18009d040], rdi
jne 0x1800560b8
lea r8, [0x1800ca098]
xor ecx, ecx
xor edx, edx
call fcn.180085310
lea rdx, [0x1800c5936]
lea rcx, [rbp + 0x800]
mov r8d, 0xf
call fcn.18005a210
mov qword [rbp + 0xcd8], rdx
test rax, rax
mov rcx, qword [rbp + 0xcd8]
cmove rcx, rax
mov qword [rbp + 0xcd8], rcx
mov ecx, 1
cmovne rcx, rax
mov qword [rbp + 0xc58], rcx
lea rdx, [0x1800c59bb]
lea rcx, [rbp + 0x800]
mov r8d, 0xf
call fcn.18005a210
mov qword [rbp + 0xc10], rax
mov qword [rbp + 0xc48], rdx
lea rdx, [0x1800c9fb0]
lea rcx, [rbp + 0x800]
mov r8d, 0x11
call fcn.18005a210
mov qword [rbp + 0xcd0], rdx
mov rbx, rax
test rax, rax
mov rax, qword [rbp + 0xcd0]
cmove rax, rbx
mov qword [rbp + 0xcd0], rax
mov ecx, 1
mov eax, 1
mov qword [rbp + 0xca8], rax
cmove rbx, rcx
lea rdx, [0x1800c9fc1]
lea rcx, [rbp + 0x800]
mov r8d, 0xf
call fcn.18005a210
mov qword [rbp + 0xca0], rdx
test rax, rax
mov rcx, qword [rbp + 0xca0]
cmove rcx, rax
mov qword [rbp + 0xca0], rcx
mov rcx, qword [rbp + 0xca8]
cmovne rcx, rax
mov qword [rbp + 0xca8], rcx
lea rdx, [0x1800c9fd0]
lea rcx, [rbp + 0x800]
mov r8d, 0xf
call fcn.18005a210
mov qword [rbp + 0xc80], rdx
test rax, rax
mov rcx, qword [rbp + 0xc80]
cmove rcx, rax
mov qword [rbp + 0xc80], rcx
mov edx, 1
mov ecx, 1
mov qword [rbp + 0xc98], rcx
cmove rax, rdx
mov qword [rbp + 0xc90], rax
lea rdx, [0x1800ca013]
lea rcx, [rbp + 0x800]
mov r8d, 0xe
call fcn.18005a210
mov qword [rbp + 0xc70], rdx
test rax, rax
mov rcx, qword [rbp + 0xc70]
cmove rcx, rax
mov qword [rbp + 0xc70], rcx
mov rcx, qword [rbp + 0xc98]
cmovne rcx, rax
mov qword [rbp + 0xc98], rcx
lea rdx, [0x1800ca021]
lea rcx, [rbp + 0x800]
mov r8d, 0x16
call fcn.18005a210
mov qword [rbp + 0xc88], rdx
test rax, rax
mov rcx, qword [rbp + 0xc88]
cmove rcx, rax
mov qword [rbp + 0xc88], rcx
mov edx, 1
mov ecx, 1
mov qword [rbp + 0xc78], rcx
cmove rax, rdx
mov qword [rbp + 0xc68], rax
lea rdx, [0x1800c9fdf]
lea rcx, [rbp + 0x800]
mov r8d, 0xe
call fcn.18005a210
mov qword [rbp + 0xcc0], rdx
test rax, rax
mov rcx, qword [rbp + 0xcc0]
cmove rcx, rax
mov qword [rbp + 0xcc0], rcx
mov rcx, qword [rbp + 0xc78]
cmovne rcx, rax
mov qword [rbp + 0xc78], rcx
lea rdx, [0x1800c9fed]
lea rcx, [rbp + 0x800]
mov r8d, 0x13
call fcn.18005a210
mov qword [rbp + 0xcb0], rdx
test rax, rax
mov rcx, qword [rbp + 0xcb0]
cmove rcx, rax
mov qword [rbp + 0xcb0], rcx
mov edi, 1
cmove rax, rdi
mov qword [rbp + 0xc40], rax
lea rdx, [0x1800ca000]
lea rcx, [rbp + 0x800]
mov r8d, 0x13
call fcn.18005a210
mov qword [rbp + 0xc50], rdx
test rax, rax
mov rcx, qword [rbp + 0xc50]
cmove rcx, rax
mov qword [rbp + 0xc50], rcx
cmovne rdi, rax
lea rdx, [0x1800ca037]
lea rcx, [rbp + 0x800]
mov r8d, 0x10
call fcn.18005a210
mov qword [rbp + 0xcb8], rdx
test rax, rax
mov rcx, qword [rbp + 0xcb8]
cmove rcx, rax
mov qword [rbp + 0xcb8], rcx
mov esi, 1
cmove rax, rsi
mov qword [rbp + 0xc30], rax
lea rcx, [rbp + 0x860]
mov rdx, qword [rbp + 0xc58]
mov r8, qword [rbp + 0xcd8]
call fcn.18001c920
movzx eax, byte [rbp + 0x860]
mov byte [rbp + 0xcd8], al
cmp al, 0x16
je 0x180059c28
mov rax, qword [rbp + 0xc10]
test rax, rax
cmovne rsi, rax
mov r8, qword [rbp + 0xc48]
cmove r8, rax
mov rax, qword [rbp + 0x870]
mov qword [rbp + 0xb3f], rax
movups xmm0, xmmword [rbp + 0x861]
movaps xmmword [rbp + 0xb30], xmm0
movups xmm0, xmmword [rbp + 0x878]
movaps xmmword [rbp + 0x510], xmm0
movups xmm0, xmmword [rbp + 0x888]
movaps xmmword [rbp + 0x520], xmm0
movups xmm0, xmmword [rbp + 0x898]
movaps xmmword [rbp + 0x530], xmm0
movups xmm0, xmmword [rbp + 0x8a8]
movaps xmmword [rbp + 0x540], xmm0
lea rcx, [rbp + 0x860]
mov rdx, rsi
call fcn.18001c920
movzx esi, byte [rbp + 0x860]
cmp sil, 0x16
jne 0x180059c6f
cmp qword [rbp + 0xcc8], 0
je 0x180059c4f
mov rcx, qword [rbp + 0x808]
mov rdx, qword [rbp + 0xcc8]
shl rdx, 4
mov r8d, 8
call fcn.180002550
lea rcx, [rbp + 0x768]
call fcn.1800052b0
jmp 0x1800578e5
lea r8, [0x1800ca080]
mov rcx, r15
call fcn.180085310
mov rax, qword [rbp + 0x870]
mov qword [rbp + 0x72f], rax
movups xmm0, xmmword [rbp + 0x861]
movaps xmmword [rbp + 0x720], xmm0
movups xmm0, xmmword [rbp + 0x878]
movaps xmmword [rbp + 0x420], xmm0
movups xmm0, xmmword [rbp + 0x888]
movaps xmmword [rbp + 0x430], xmm0
movups xmm0, xmmword [rbp + 0x898]
movaps xmmword [rbp + 0x440], xmm0
movups xmm0, xmmword [rbp + 0x8a8]
movaps xmmword [rbp + 0x450], xmm0
movaps xmm0, xmmword [rbp + 0xb30]
movaps xmmword [rbp + 0x4b0], xmm0
mov rax, qword [rbp + 0xb3f]
mov qword [rbp + 0x4bf], rax
movaps xmm0, xmmword [rbp + 0x510]
movaps xmm1, xmmword [rbp + 0x520]
movaps xmm2, xmmword [rbp + 0x530]
movaps xmm3, xmmword [rbp + 0x540]
movups xmmword [rbp + 0x4f7], xmm3
movups xmmword [rbp + 0x4e7], xmm2
movups xmmword [rbp + 0x4d7], xmm1
movups xmmword [rbp + 0x4c7], xmm0
cmp qword [rbp + 0xcc8], 0
je 0x180059465
mov rcx, qword [rbp + 0x808]
mov rdx, qword [rbp + 0xcc8]
shl rdx, 4
mov r8d, 8
call fcn.180002550
jmp 0x180059465
lea rdx, [rbp + 0x860]
mov r8d, 0x230
mov rcx, r14
call fcn.18009b440
mov qword [0x18009d040], 1
jmp 0x1800560b8
lea r8, str._rust_deps_addr2line_0.22.0_srclib.rs
call fcn.18008b400
lea r8, str._rust_deps_addr2line_0.22.0_srclib.rs
call fcn.180085310
mov ecx, 8
mov edx, 0x108
call fcn.1800783b0
jmp 0x180059da1
lea r8, str._rust_deps_addr2line_0.22.0_srclib.rs
call fcn.180085310
ud2