Function at 0x18001c5b8
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x328
mov rbx, r8
mov r13, rdx
mov r15, rcx
movabs r14, 0x8000000000000000
mov qword [rsp + 0x1d0], r14
lea rax, [fcn.180006197]
mov qword [rsp + 0x1e8], rax
mov r12, qword [rdx + 0xa0]
test r12, r12
jne 0x18001c62e
mov ecx, 0x7008
call fcn.180011db6
test rax, rax
je 0x18001cb57
mov r12, rax
mov r8d, 0x7008
mov rcx, rax
xor edx, edx
call fcn.180041ed9
mov qword [r13 + 0xa0], r12
lea rax, [0x1800393d1]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xc1f73d21bbf423b9
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c3c5
and qword [rsi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043f2b]
cmp rcx, 0x17
ja 0x18001c687
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001c66e
mov al, byte [rax + 0x18]
xor al, 0xa
lea rdx, [rsp + 0x40]
mov byte [rdx + 0x18], al
movaps xmm0, xmmword [rdx]
lea rax, [rsp + 0xe0]
movaps xmmword [rax], xmm0
mov rcx, qword [rdx + 9]
mov qword [rax + 9], rcx
mov ecx, dword [rdx + 0x11]
mov dword [rax + 0x11], ecx
movzx ecx, word [rdx + 0x15]
mov word [rax + 0x15], cx
mov cl, byte [rdx + 0x17]
mov byte [rax + 0x17], cl
mov cl, byte [rdx + 0x18]
mov byte [rax + 0x18], cl
lea rdi, [rsp + 0x130]
mov qword [rdi], rax
mov qword [rdi + 8], 0x19
lea rcx, [rsp + 0xc0]
mov qword [rcx], rdi
lea rax, [0x18004e088]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea rbp, [0x180037705]
mov qword [rcx + 8], rbp
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
lea rsi, [rsp + 0x2c8]
mov rcx, rsi
call fcn.180008ef2
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
call fcn.180030036
cmp qword [r13 + 0x18], r14
je 0x18001e296
cmp byte [rbx], 0
jne 0x18001c7a0
lea r14, [rsp + 0x40]
mov r8d, 8
mov r9d, 4
mov rcx, r14
mov rdx, rbx
call fcn.180039ca1
cmp dword [r14], 3
jne 0x18001c7a0
mov eax, dword [rsp + 0x48]
add eax, 0xfffffffc
mov dword [rsp + 0x170], eax
mov r8, qword [r13 + 0x28]
test r8, r8
je 0x18001d881
mov rcx, qword [r13 + 0x20]
xor edx, edx
cmp r8, 1
jbe 0x18001cd44
mov r9, r8
shr r9, 1
lea r10, [r9 + rdx]
imul r11, r10, 0x18
cmp qword [rcx + r11], rax
cmovbe rdx, r10
sub r8, r9
jmp 0x18001c77b
lea rsi, [rsp + 0x40]
mov r8d, 8
mov rcx, rsi
mov rdx, rbx
xor r9d, r9d
call fcn.180039c07
mov rax, qword [rsi]
mov rdi, qword [rsi + 8]
mov rsi, qword [rsi + 0x10]
cmp rax, 3
jne 0x18001e397
movabs rbx, 0x8000000000000000
movzx eax, word [r13 + 0x60]
cmp eax, 0x14c
je 0x18001c80e
cmp eax, 0x8664
jne 0x18001ca40
mov qword [rsp + 0x160], r13
lea rdx, [0x1800443f4]
lea rcx, [rsp + 0x190]
mov r8d, 6
jmp 0x18001c82b
mov qword [rsp + 0x160], r13
lea rdx, str.__imp____imp_h
lea rcx, [rsp + 0x190]
mov r8d, 7
call fcn.180030208
mov rbp, qword [rsp + 0x190]
mov r13, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
cmp rbp, rbx
je 0x18001cb2e
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0x40]
mov rcx, r14
mov rdx, rdi
mov r8, rsi
mov r9, r13
call fcn.180037e68
and qword [r14 + 0x68], 0
mov qword [r14 + 0x70], rsi
mov word [r14 + 0x78], 1
xor ecx, ecx
lea rbx, [rsp + 0x130]
xor esi, esi
test cl, 1
jne 0x18001c942
mov rdi, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, r14
call fcn.18000dd90
test byte [rsp + 0x130], 1
je 0x18001c8e5
mov rdx, qword [rsp + 0x138]
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0xa8]
sub rdx, rcx
mov qword [rsp + 0x38], rdx
add rdi, rcx
mov qword [rsp + 0xa8], rax
mov cl, byte [rsp + 0xb9]
mov rsi, rdi
jmp 0x18001c888
cmp byte [rsp + 0xb9], 0
jne 0x18001c942
mov byte [rsp + 0xb9], 1
cmp byte [rsp + 0xb8], 1
jne 0x18001c913
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
jmp 0x18001c928
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
cmp rdx, rax
je 0x18001c942
sub rdx, rax
add rax, qword [rsp + 0x88]
mov cl, 1
mov qword [rsp + 0x38], rdx
mov rsi, rax
jmp 0x18001c888
lea rax, [0x18004549a]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xce6a2fdbc4c0d941
mov qword [rdx], rax
lea rdi, [rsp + 0x40]
mov rdx, qword [rdi]
call fcn.18000b65a
and qword [rdi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rdi], xmm0
xor ecx, ecx
lea rdx, [0x180043f5d]
movabs r14, 0x8000000000000000
cmp rcx, 0x17
ja 0x18001c9a5
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001c98c
lea rdx, [rsp + 0x40]
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x140], rax
movaps xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], 0x18
lea r8, [rsp + 0x170]
lea rax, [0x18004e088]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea rcx, [rsp + 0xc0]
mov qword [r8], rcx
lea rcx, [0x180037705]
mov qword [r8 + 8], rcx
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], rax
lea rdi, [rsp + 0x278]
mov rcx, rdi
call fcn.180008ef2
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
test rsi, rsi
je 0x18001cbf4
mov rcx, rax
call fcn.180030036
jmp 0x18001cc0d
lea rax, [0x180043362]
lea rdx, [rsp + 0x130]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xd7d8d66d0608b56f
mov qword [rdx], rax
lea rsi, [rsp + 0x130]
mov rdx, qword [rsi]
call fcn.18000d2cb
and qword [rsi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x1800443fa]
cmp rcx, 0x17
ja 0x18001caa2
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x130], r8
add rcx, 8
jmp 0x18001ca86
lea rdx, [rsp + 0x130]
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rdx]
movaps xmmword [rsp + 0xc0], xmm0
lea rax, [rsp + 0x2b8]
lea rcx, [rsp + 0xc0]
mov qword [rax], rcx
mov qword [rax + 8], 0x18
lea rcx, [rsp + 0x2a8]
lea r8, [0x18004e088]
mov qword [rdx], r8
mov r8d, 1
mov qword [rdx + 8], r8
and qword [rdx + 0x20], 0
mov qword [rcx], rax
mov qword [rcx + 8], rbp
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], r8
lea rsi, [rsp + 0x170]
mov rcx, rsi
call fcn.180008ef2
mov rcx, rsi
call fcn.180030199
mov r13, rax
lea rax, [0x180045e38]
mov qword [r15], r13
mov qword [r15 + 8], rax
lea rcx, [rsp + 0x1d0]
call fcn.18000780d
nop
add rsp, 0x328
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, case.0x18000a1e3.412
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xc96dda3e73bb8172
mov qword [rdx], rax
lea rax, [rsp + 0x40]
mov rdx, qword [rax]
call fcn.18000b58e
and qword [rsp + 0x200], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1f0], xmm0
xor ecx, ecx
lea rdx, [0x180043ee6]
cmp rcx, 0x17
ja 0x18001cbbc
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x1f0], r8
add rcx, 8
jmp 0x18001cba0
movzx edx, byte [rax + 0x1a]
movzx eax, word [rax + 0x18]
xor eax, 0x2ee6
lea rcx, [rsp + 0x1f0]
mov word [rcx + 0x18], ax
xor dl, 0xd9
mov byte [rcx + 0x1a], dl
mov edx, 0x1b
call fcn.1800301e1
mov qword [r15], rax
lea rax, [0x180045e38]
jmp 0x18001cb31
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x38], rcx
cmp rax, r14
jne 0x18001ce70
mov rsi, rdx
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov rdx, rsi
mov r8, qword [rsp + 0x38]
mov r9d, 0x40
call fcn.180007f63
mov rcx, rdi
call fcn.18000fb13
mov rsi, rax
mov qword [rsp + 0x38], rdx
lea rax, [0x18003be38]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xd79a818dfa03a225
mov qword [rdx], rax
lea rdi, [rsp + 0x40]
mov rdx, qword [rdi]
call fcn.18000c9d7
xorps xmm0, xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
xor ecx, ecx
lea rdx, [0x180043f75]
cmp rcx, 0x1f
ja 0x18001cc93
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001cc7a
movzx eax, word [rax + 0x20]
xor eax, 0xca98
lea rdx, [rsp + 0x40]
movaps xmm0, xmmword [rdx]
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
mov word [rsp + 0x150], ax
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], 0x22
lea rax, [0x18004e088]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x170], rcx
lea rcx, [0x180037705]
mov qword [rsp + 0x178], rcx
lea rcx, [rsp + 0x170]
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
lea rdi, [rsp + 0x290]
mov rcx, rdi
call fcn.180008ef2
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
test rsi, rsi
je 0x18001cd62
mov rcx, rax
call fcn.180030036
mov rdx, rsi
jmp 0x18001cd78
imul r8, rdx, 0x18
cmp qword [rcx + r8], rax
jne 0x18001ce7a
add rcx, r8
mov rdi, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
jmp 0x18001c7ce
mov rcx, qword [rsp + 0x2a0]
mov qword [rsp + 0x38], rcx
cmp rax, r14
jne 0x18001cea8
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x1c0], rdx
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x1c8], rax
mov rcx, rbp
mov rbp, rax
mov rdx, r13
call fcn.180030036
lea rsi, [r12 + 0x10]
xor edi, edi
sub rdi, qword [r12 + 0x7000]
mov rbx, 0xffffffffffffffff
lea rax, [rdi + rbx]
cmp rax, 0xffffffffffffffff
je 0x18001ce04
cmp rbx, 0x1ff
mov r8, qword [rsp + 0x30]
je 0x18001e395
mov rcx, qword [rsi - 8]
mov rdx, qword [rsi]
mov r9, rbp
call fcn.1800082c4
inc rbx
add rsi, 0x38
test al, al
je 0x18001cdb6
imul rax, rbx, 0x38
add rax, r12
add rax, 0x30
mov qword [r15 + 8], rax
and qword [r15], 0
jmp 0x18001cb35
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov edx, 0x24
mov r14, qword [rsp + 0x30]
mov r8, r14
mov r9, rbp
call fcn.180008a53
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov rdx, rsi
call fcn.18000f383
cmp qword [rdi], 0
mov qword [rsp + 0x168], r15
je 0x18001cee3
mov rbx, qword [rsp + 0xe8]
test rbx, rbx
je 0x18001d003
cmp rbp, rbx
jbe 0x18001cffd
cmp byte [r14 + rbx], 0xc0
jge 0x18001d003
jmp 0x18001e395
lea rcx, [rsp + 0x2e0]
jmp 0x18001ceb0
adc rdx, 0
je 0x18001d881
imul rdx, rdx, 0x18
mov rdi, qword [rdx + rcx - 0x10]
mov rsi, qword [rdx + rcx - 8]
sub rax, qword [rdx + rcx - 0x18]
jne 0x18001d77c
sub rsi, rax
add rdi, rax
jmp 0x18001c7ce
lea rcx, [rsp + 0x2f8]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x10], rax
call fcn.180030199
mov qword [r15], rax
lea rax, [0x180045e38]
mov qword [r15 + 8], rax
mov rcx, rbp
mov rdx, r13
call fcn.180030036
jmp 0x18001cb35
lea rsi, [rsp + 0x1d0]
and qword [rsi + 0x18], 0
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.180006197
mov rbx, qword [rdi]
movups xmm0, xmmword [rdi + 8]
movaps xmmword [rsp + 0xe0], xmm0
mov rcx, rsi
call fcn.18000780d
mov qword [rsi], rbx
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [rsi + 8], xmm0
mov r12, qword [rsi + 8]
mov rsi, qword [rsi + 0x10]
movabs rax, 0x8000000000000000
mov qword [rdi], rax
lea rcx, [rsp + 0x40]
call fcn.18000780d
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, r14
mov r8, rbp
call fcn.180030208
mov r13, qword [rdi + 8]
mov r9, qword [rdi + 0x10]
mov rcx, r12
mov rdx, rsi
mov r8, r13
call fcn.180008971
mov esi, eax
mov rcx, qword [rdi]
mov rdx, r13
call fcn.180030036
test sil, sil
je 0x18001d6e9
lea rax, [0x18003a9fd]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xdb7325190a29678b
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000b6a2
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea r10, [0x180043cee]
movabs r8, 0x8105d9e0f8d7e700
mov r14, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x30]
test r9b, 1
je 0x18001d6f9
movzx r9d, byte [rdx + r10]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001cfd8
jne 0x18001e395
lea rcx, [r14 + rbx]
sub rbp, rbx
mov r8d, 1
mov qword [rsp + 0x1b8], rcx
mov rdx, rbp
call fcn.180008305
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1a8], rdx
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
call fcn.180030252
mov r11, qword [rsp + 0x30]
mov rax, qword [rsi + 8]
add rax, qword [rsi + 0x10]
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
xor r13d, r13d
mov rcx, rax
mov rsi, rbx
mov rdx, r11
mov qword [rsp + 0x188], rbx
cmp rsi, 0x10
jb 0x18001d117
xor r8d, r8d
cmp r8, 0x10
je 0x18001d097
mov r9b, byte [rdx + r8]
not r9b
shr r9b, 7
mov byte [rsp + r8 + 0xe0], r9b
inc r8
jmp 0x18001d079
xor r8d, r8d
xor r9d, r9d
add r8b, byte [rsp + r9 + 0xe0]
inc r9
cmp r9, 0x10
jne 0x18001d09d
cmp r8b, 0x10
jne 0x18001d117
xor r8d, r8d
cmp r8, 0x10
je 0x18001d0dd
mov r9b, byte [rdx + r8]
lea r10d, [r9 - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
or r10b, r9b
mov byte [rcx + r8], r10b
inc r8
jmp 0x18001d0b7
add r13, 0x10
add rsi, 0xfffffffffffffff0
add rdx, 0x10
add rcx, 0x10
jmp 0x18001d06c
mov dl, byte [r11 + r13]
test dl, dl
js 0x18001d12d
lea r8d, [rdx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
or r8b, dl
mov byte [rax + r13], r8b
inc r13
mov rsi, rcx
mov rcx, rsi
sub rcx, 1
jae 0x18001d0f2
add r13, r11
xor esi, esi
mov rdi, r13
mov r13, rbx
jmp 0x18001d131
lea rdi, [r11 + r13]
mov qword [rsp + 0x50], r13
lea r14, [rsp + 0x130]
mov qword [r14 + 0x10], r13
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [r14], xmm0
add rsi, rdi
lea rax, [rsp + 0xe0]
mov qword [rax], rdi
mov qword [rax + 8], rsi
and qword [rax + 0x10], 0
lea r15, [0x18004883c]
lea rcx, [rsp + 0xe0]
call fcn.18000f2fe
cmp eax, 0x110000
je 0x18001d425
mov rbx, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xe0]
mov rbp, qword [rsp + 0xe8]
add rsi, rbx
add rdi, rbp
sub rsi, rdi
add rsi, r12
mov qword [rsp + 0xf0], rsi
cmp eax, 0x3a3
mov r9, qword [rsp + 0x30]
jne 0x18001d1e0
add rbx, r13
je 0x18001d2d9
cmp rbx, qword [rsp + 0x188]
jae 0x18001d2d3
cmp byte [r9 + rbx], 0xbf
jg 0x18001d2d9
jmp 0x18001e395
cmp eax, 0x80
jae 0x18001d1fe
lea ecx, [rax - 0x41]
xor edx, edx
cmp cl, 0x1a
setb dl
shl edx, 5
or edx, eax
mov eax, edx
jmp 0x18001d2c9
mov edx, 0x59a
xor ecx, ecx
cmp rdx, 2
jb 0x18001d222
mov r8, rdx
shr r8, 1
lea r9, [r8 + rcx]
cmp dword [r15 + r9*8], eax
cmovbe rcx, r9
sub rdx, r8
jmp 0x18001d205
mov edx, dword [r15 + rcx*8]
cmp edx, eax
adc rcx, 0
cmp edx, eax
jne 0x18001d2c9
cmp rcx, 0x599
lea r8, [rsp + 0x40]
ja 0x18001e395
mov eax, dword [r15 + rcx*8 + 4]
mov ecx, eax
xor ecx, 0xd800
add ecx, 0xffef0000
cmp ecx, 0xffef0800
mov ecx, 0x110000
cmovb eax, ecx
lea rcx, [0x18004b510]
lea rdx, [0x18004b50c]
cmp eax, 0x110000
je 0x18001d28d
and qword [rsp + 0x40], 0
mov rcx, r8
lea rdx, [rsp + 0x170]
mov dword [rsp + 0x170], eax
mov eax, dword [rdx]
mov rsi, qword [rcx]
test esi, esi
je 0x18001d2c9
mov rbx, rsi
shr rbx, 0x20
mov rcx, r14
mov edx, eax
call fcn.18002fcde
mov rcx, r14
mov edx, esi
call fcn.18002fcde
mov rdi, r12
mov rsi, rbp
mov eax, ebx
test rbx, rbx
je 0x18001d169
mov rcx, r14
mov edx, eax
jmp 0x18001d3bb
jne 0x18001e395
lea r14, [r9 + rbx]
xor eax, eax
mov esi, 0x3c3
cmp r14, r9
je 0x18001d3ae
movsx edi, byte [r14 - 1]
test edi, edi
js 0x18001d2fb
dec r14
jmp 0x18001d350
movzx ecx, byte [r14 - 2]
cmp cl, 0xc0
jge 0x18001d328
movzx edx, byte [r14 - 3]
cmp dl, 0xc0
jge 0x18001d331
movzx r8d, byte [r14 - 4]
add r14, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x18001d338
add r14, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x18001d340
add r14, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and edi, 0x3f
or edi, ecx
cmp edi, 0x110000
je 0x18001d3ae
test al, 1
jne 0x18001d36d
mov ecx, edi
call fcn.1800392f4
mov r9, qword [rsp + 0x30]
test al, al
je 0x18001d36d
mov edi, 0x110000
xor eax, eax
jmp 0x18001d36f
mov al, 1
cmp edi, 0x110000
je 0x18001d2df
mov ecx, edi
call fcn.1800393ae
test al, al
lea r14, [rsp + 0x130]
je 0x18001d3b6
add rbx, 2
mov rax, qword [rsp + 0x30]
je 0x18001d3d1
cmp rbx, qword [rsp + 0x188]
jae 0x18001d3cb
cmp byte [rax + rbx], 0xbf
jg 0x18001d3d1
jmp 0x18001e395
lea r14, [rsp + 0x130]
mov rcx, r14
mov edx, esi
call fcn.18002fcde
mov rdi, r12
mov rsi, rbp
jmp 0x18001d169
jne 0x18001e395
add rbx, rax
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], 0
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.18000f2fe
cmp eax, 0x110000
je 0x18001d41e
mov esi, eax
mov ecx, eax
call fcn.1800392f4
test al, al
jne 0x18001d3f0
mov ecx, esi
call fcn.1800393ae
movzx esi, al
or esi, 0x3c2
jmp 0x18001d3b6
mov esi, 0x3c2
jmp 0x18001d3b6
movaps xmm0, xmmword [rsp + 0x130]
lea rsi, [rsp + 0xe0]
movaps xmmword [rsi], xmm0
mov rax, qword [rsp + 0x140]
mov qword [rsi + 0x10], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x130], rax
mov rbp, r14
lea r14, case.0x180004711.22
lea rax, [0x180043fa0]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov r15d, 2
mov qword [rdx + 8], r15
and qword [rdx + 0x20], 0
mov qword [rsp + 0x138], r14
mov qword [rdx + 0x10], rbp
mov r12d, 1
mov qword [rdx + 0x18], r12
lea rdi, [rsp + 0x310]
mov rcx, rdi
call fcn.180008ef2
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
call fcn.180030036
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0xd0], rax
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rbx, qword [rsp + 0x1b0]
mov rdx, rbx
mov r13, qword [rsp + 0x1a8]
mov r8, r13
mov r9d, 0x40
call fcn.180007f63
mov rcx, rdi
call fcn.18000fb13
test rax, rax
cmovne rbx, rax
cmove rdx, r13
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x198], rdx
lea rbx, [0x180043fc0]
mov qword [rdi], rbx
mov qword [rdi + 8], r15
and qword [rdi + 0x20], 0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], r14
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], r12
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.180008ef2
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
call fcn.180003a27
movabs rax, 0x8000000000000000
inc rax
cmp qword [rdi], rax
jne 0x18001e395
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov ecx, 0x6ddb9555
call entry0
test al, 1
mov r14, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x38]
je 0x18001e395
mov rcx, rdx
mov edx, 0xb7072ff1
call fcn.180001059
test al, 1
je 0x18001e395
mov rcx, rdi
call rdx
mov r12, rax
mov rcx, rdi
mov rdx, r15
call fcn.180007a51
lea rdx, [rsp + 0x40]
mov qword [rdx], rbx
lea rax, [rsp + 0x190]
mov qword [rdx + 8], 2
and qword [rdx + 0x20], 0
mov qword [rsp + 0xe0], rax
lea rdi, [0x180037705]
mov qword [rsp + 0xe8], rdi
mov qword [rdx + 0x10], rsi
mov qword [rdx + 0x18], 1
lea rsi, [rsp + 0x130]
mov rcx, rsi
call fcn.180008ef2
mov rsi, qword [rsi + 8]
mov rcx, r12
mov rdx, rsi
call fcn.180011d4b
test rax, rax
je 0x18001d659
mov r15, rax
mov rcx, qword [rsp + 0x130]
mov rdx, rsi
call fcn.180030036
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
call fcn.180030036
jmp 0x18001ee46
lea rax, [rsp + 0x1c0]
lea rcx, [rsp + 0x170]
lea r8, str.Failed_to_get_procedure_address:
lea rdx, [rsp + 0x40]
mov qword [rdx], r8
mov r8d, 1
mov qword [rdx + 8], r8
and qword [rdx + 0x20], 0
mov qword [rcx], rax
mov qword [rcx + 8], rdi
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], r8
lea rdi, [rsp + 0xe0]
mov rcx, rdi
call fcn.180008ef2
mov rcx, rdi
call fcn.180030199
mov rcx, qword [rsp + 0x168]
mov qword [rcx], rax
lea rax, [0x180045e38]
mov qword [rcx + 8], rax
mov rcx, qword [rsp + 0x130]
mov rdx, rsi
call fcn.180030036
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
jmp 0x18001ced9
xor r15d, r15d
mov r14, qword [rsp + 0x160]
jmp 0x18001ee46
mov edx, 8
cmp rdx, 0xb
ja 0x18001d72c
movzx r8d, byte [rdx + r10 + 2]
shl r8d, 0x10
movzx r9d, word [rdx + r10]
add r8d, r9d
add r8d, 0x7d000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001d6fe
movzx edx, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
xor eax, 0xf92b
mov word [rsp + 0x4c], ax
xor dl, 0xb0
mov byte [rsp + 0x4e], dl
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov rax, qword [rsp + 0x47]
mov qword [r8 + 7], rax
mov r9d, 0xf
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001d794
lea r15, [0x1800180b9]
jmp 0x18001ee46
cmp rsi, rax
jbe 0x18001d87b
cmp byte [rdi + rax], 0xc0
jge 0x18001ce9d
jmp 0x18001d881
lea rax, [0x18003d696]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x411f0c42e6a4302e
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d34a
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea r10, [0x180043cfd]
movabs r8, 0x4a0dc781ed584100
mov rcx, qword [rsp + 0x30]
test r9b, 1
je 0x18001d804
movzx r9d, byte [rdx + r10]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001d7e3
mov edx, 8
cmp rdx, 0xb
ja 0x18001d837
movzx r8d, byte [rdx + r10 + 2]
shl r8d, 0x10
movzx r9d, word [rdx + r10]
add r8d, r9d
add r8d, 0xad000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001d809
mov al, byte [rax + 0xc]
xor al, 0x89
mov byte [rsp + 0x4c], al
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov rax, qword [rsp + 0x45]
mov qword [r8 + 5], rax
mov r9d, 0xd
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001d94c
lea r15, [0x1800180d6]
jmp 0x18001ee46
je 0x18001ce9d
lea rax, [rsp + 0x170]
mov qword [rsp + 0xc0], rax
lea rax, [0x1800366eb]
mov qword [rsp + 0xc8], rax
mov eax, 2
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rax
and qword [rsp + 0x60], 0
movabs rax, 0x400000020
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x70], 3
lea rax, str.Invalid_Symbol_name_offset
lea rsi, [rsp + 0xe0]
mov qword [rsi], rax
mov eax, 1
mov qword [rsi + 8], rax
mov qword [rsi + 0x20], r14
mov qword [rsi + 0x28], rax
lea rcx, [rsp + 0xc0]
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], rax
lea rdi, [rsp + 0x138]
mov rcx, rdi
mov rdx, rsi
call fcn.180008ef2
mov qword [rdi - 8], 3
movups xmm0, xmmword [rdi + 8]
movaps xmmword [rsi + 0x10], xmm0
mov rax, qword [rdi - 8]
mov qword [rsi], rax
mov rax, qword [rdi]
mov qword [rsi + 8], rax
cmp qword [rsi], 7
jne 0x18001e395
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
jmp 0x18001c7ce
lea rax, [0x18003cdc8]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x30056d1e90f61d20
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c806
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea r10, [0x180043d0a]
movabs r8, 0xed499e2e76b72a00
mov rcx, qword [rsp + 0x30]
test r9b, 1
je 0x18001d9bc
movzx r9d, byte [rdx + r10]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001d99b
mov edx, 8
cmp rdx, 0xb
ja 0x18001d9ef
movzx r8d, byte [rdx + r10 + 2]
shl r8d, 0x10
movzx r9d, word [rdx + r10]
add r8d, r9d
add r8d, 0xf000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001d9c1
mov al, byte [rax + 0xc]
xor al, 0x4b
mov byte [rsp + 0x4c], al
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov rax, qword [rsp + 0x45]
mov qword [r8 + 5], rax
mov r9d, 0xd
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001da2f
lea r15, [0x1800180d8]
jmp 0x18001ee46
lea rax, [0x180041a3a]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x197aba412db9297f
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d4fd
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea r10, [0x180043d17]
movabs r8, 0x1d18133006241700
mov rcx, qword [rsp + 0x30]
test r9b, 1
je 0x18001da9f
movzx r9d, byte [rdx + r10]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001da7e
mov edx, 8
cmp rdx, 0xb
ja 0x18001dad2
movzx r8d, byte [rdx + r10 + 2]
shl r8d, 0x10
movzx r9d, word [rdx + r10]
add r8d, r9d
add r8d, 0xf0000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001daa4
movzx edx, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
xor eax, 0xf107
mov word [rsp + 0x4c], ax
xor dl, 0x19
mov byte [rsp + 0x4e], dl
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov rax, qword [rsp + 0x47]
mov qword [r8 + 7], rax
mov r9d, 0xf
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001db22
lea r15, [0x1800180fd]
jmp 0x18001ee46
lea rax, [0x180039975]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x1526c0740550772a
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c8b4
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor r9d, r9d
lea rdx, [0x180043d26]
mov rcx, qword [rsp + 0x30]
cmp r9, 0xf
ja 0x18001db7c
mov r8, qword [r9 + rdx]
xor r8, qword [rax + r9]
mov qword [rsp + r9 + 0x40], r8
add r9, 8
jmp 0x18001db63
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov r9d, 0x10
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001dbab
lea r15, [0x180018124]
jmp 0x18001ee46
lea rax, [0x18003604f]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x797a5594b1e2e84e
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000ba30
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor r9d, r9d
lea rdx, [0x180043d36]
mov rcx, qword [rsp + 0x30]
cmp r9, 0xf
ja 0x18001dc05
mov r8, qword [r9 + rdx]
xor r8, qword [rax + r9]
mov qword [rsp + r9 + 0x40], r8
add r9, 8
jmp 0x18001dbec
mov al, byte [rax + 0x10]
xor al, 0xf1
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov byte [r8 + 0x10], al
mov r9d, 0x11
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001dc3d
lea r15, [0x180018130]
jmp 0x18001ee46
lea rax, [0x18003fb23]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x123ce7d608e51f9d
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c02c
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor r9d, r9d
lea rdx, [0x180043d47]
mov rcx, qword [rsp + 0x30]
cmp r9, 0xf
ja 0x18001dc97
mov r8, qword [r9 + rdx]
xor r8, qword [rax + r9]
mov qword [rsp + r9 + 0x40], r8
add r9, 8
jmp 0x18001dc7e
mov al, byte [rax + 0x10]
xor al, 0x8e
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov byte [r8 + 0x10], al
mov r9d, 0x11
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001dccf
lea r15, [fcn.180018178]
jmp 0x18001ee46
lea rax, [0x18003ebe6]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x3252f7b0e966f1bc
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000b9d0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor r9d, r9d
lea rdx, [0x180043d58]
mov rcx, qword [rsp + 0x30]
cmp r9, 0xf
ja 0x18001dd29
mov r8, qword [r9 + rdx]
xor r8, qword [rax + r9]
mov qword [rsp + r9 + 0x40], r8
add r9, 8
jmp 0x18001dd10
mov al, byte [rax + 0x10]
xor al, 0x50
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov byte [r8 + 0x10], al
mov r9d, 0x11
mov rdx, rbp
call fcn.180006116
test al, al
je 0x18001dd61
lea r15, [0x1800181de]
jmp 0x18001ee46
mov rdi, r14
lea rax, [0x18003603f]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x8a0545a4d8a61b4b
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000bf7a
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043d69]
cmp rcx, 0xf
ja 0x18001ddb8
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001dd9f
movzx eax, word [rax + 0x10]
xor eax, 0x4a69
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov word [r8 + 0x10], ax
mov r9d, 0x12
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001ddfc
lea r15, [0x18001822b]
jmp 0x18001ee3e
lea rax, [0x18003c96f]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xdd8b0a6c3e098eee
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000ce70
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043d7b]
cmp rcx, 0xf
ja 0x18001de50
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001de37
movzx eax, word [rax + 0x10]
xor eax, 0x110f
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov word [r8 + 0x10], ax
mov r9d, 0x12
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001de94
lea r15, [0x180018277]
jmp 0x18001ee3e
lea rax, [0x18003821f]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xfe22ea90e8a526e3
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d54b
and dword [rsi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor edx, edx
lea rcx, [0x180043d8d]
cmp rdx, 0x10
jae 0x18001deec
mov r8, qword [rdx + rcx]
xor r8, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r8
add rdx, 8
jmp 0x18001ded3
mov edx, 0x10
cmp rdx, 0x13
ja 0x18001df1f
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0x4f000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001def1
mov eax, dword [rsp + 0x50]
lea r8, [rsp + 0xe0]
mov dword [r8 + 0x10], eax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [r8], xmm0
mov r9d, 0x14
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001df5d
lea r15, [0x180018beb]
jmp 0x18001ee3e
lea rax, [0x1800421a3]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x6b4d1ce781c0bbb8
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000bea1
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043da1]
cmp rcx, 0xf
ja 0x18001dfb1
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001df98
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov r9d, 0x10
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001dfe7
lea r15, [fcn.180018c03]
jmp 0x18001ee3e
lea rax, [0x18004014e]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x25d9df1d29b64eb1
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d8d8
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x180043db1]
movabs r8, 0xb69aea0d6e577f00
test r9b, 1
je 0x18001e052
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001e031
mov edx, 8
cmp rdx, 0xb
ja 0x18001e085
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0x90000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001e057
movzx ecx, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
xor eax, 0x3780
mov word [rsp + 0x4c], ax
xor cl, 0xd8
mov byte [rsp + 0x4e], cl
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov rax, qword [rsp + 0x47]
mov qword [r8 + 7], rax
mov r9d, 0xf
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e0dc
lea r15, [0x180018c62]
jmp 0x18001ee3e
lea rax, [0x180040f16]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x9ece99fbfb5051ea
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000ce20
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x180043dc0]
movabs r8, 0xc38163ece2c81e00
test r9b, 1
je 0x18001e147
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001e126
mov edx, 8
cmp rdx, 0xb
ja 0x18001e17a
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0x10000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001e14c
mov eax, dword [rsp + 0x48]
lea r8, [rsp + 0xe0]
mov dword [r8 + 8], eax
mov rax, qword [rsp + 0x40]
mov qword [r8], rax
mov r9d, 0xc
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e1b7
lea r15, [0x180018c96]
jmp 0x18001ee3e
lea rax, [0x18003b891]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x910cad1c9e097daf
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000bcbf
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x180043dcc]
movabs r8, 0xea9f8a83242a4000
test r9b, 1
je 0x18001e222
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001e201
mov edx, 8
cmp rdx, 0xb
ja 0x18001e255
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0x62000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001e227
mov eax, dword [rsp + 0x48]
lea r8, [rsp + 0xe0]
mov dword [r8 + 8], eax
mov rax, qword [rsp + 0x40]
mov qword [r8], rax
mov r9d, 0xc
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e3b1
lea r15, [0x180018cc8]
jmp 0x18001ee3e
lea rax, [0x18003a599]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x93c6058b3393eef1
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d45d
and qword [rsi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043f44]
cmp rcx, 0x17
ja 0x18001e2ef
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001e2d6
mov al, byte [rax + 0x18]
xor al, 0xc3
lea rdx, [rsp + 0x40]
mov byte [rdx + 0x18], al
movaps xmm0, xmmword [rdx]
movaps xmmword [rsp + 0x130], xmm0
mov rax, qword [rdx + 9]
mov qword [rsp + 0x139], rax
mov eax, dword [rdx + 0x11]
mov dword [rsp + 0x141], eax
movzx eax, word [rdx + 0x15]
mov word [rsp + 0x145], ax
mov al, byte [rdx + 0x17]
mov byte [rsp + 0x147], al
mov al, byte [rdx + 0x18]
mov byte [rsp + 0x148], al
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], 0x19
lea rax, [rsp + 0x170]
lea rcx, [rsp + 0xc0]
mov qword [rax], rcx
lea rcx, [0x18004e088]
mov qword [rdx], rcx
mov ecx, 1
mov qword [rdx + 8], rcx
and qword [rdx + 0x20], 0
mov qword [rax + 8], rbp
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
lea rcx, [rsp + 0xe8]
call fcn.180008ef2
ud2
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xf0], rsi
ud2
lea rax, [0x18004346f]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x4255ef482f4c443f
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c706
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x180043dd8]
movabs r8, 0xcd60301c641d2300
test r9b, 1
je 0x18001e41c
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001e3fb
mov edx, 8
cmp rdx, 0xb
ja 0x18001e44f
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xa7000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001e421
movzx eax, word [rax + 0xc]
xor eax, 0x35a1
mov word [rsp + 0x4c], ax
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov rax, qword [rsp + 0x46]
mov qword [r8 + 6], rax
mov r9d, 0xe
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e49b
lea r15, [0x180018d62]
jmp 0x18001ee3e
lea rax, [0x180043f75]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x1f37e2b12b6b0e95
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d7e1
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043de6]
cmp rcx, 0xf
ja 0x18001e4ef
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001e4d6
mov al, byte [rax + 0x10]
xor al, 0xa1
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov byte [r8 + 0x10], al
mov r9d, 0x11
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e52e
lea r15, [0x180018f1e]
jmp 0x18001ee3e
lea rax, [0x180043eb1]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x4cdb34886d121b37
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c620
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea rcx, str.Z.
movabs r8, 0x135edca12e7c5e00
test r9b, 1
je 0x18001e599
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001e578
mov edx, 8
cmp rdx, 0xb
ja 0x18001e5cc
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xd1000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001e59e
mov al, byte [rax + 0xc]
xor al, 0xc
mov byte [rsp + 0x4c], al
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov rax, qword [rsp + 0x45]
mov qword [r8 + 5], rax
mov r9d, 0xd
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e613
lea r15, [0x1800190cc]
jmp 0x18001ee3e
lea rax, [0x18003dc13]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xbbd603b8b61627de
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d2f1
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043e04]
cmp rcx, 0xf
ja 0x18001e667
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001e64e
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov r9d, 0x10
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e69d
lea r15, [0x1800180d6]
jmp 0x18001ee3e
lea rax, [0x180038b6d]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x9763a6c46f8fbcc3
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000be50
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043e14]
cmp rcx, 0xf
ja 0x18001e6f1
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001e6d8
movzx ecx, byte [rax + 0x12]
movzx eax, word [rax + 0x10]
xor eax, 0x8b53
mov word [rsp + 0x50], ax
xor cl, 0xa9
mov byte [rsp + 0x52], cl
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov eax, dword [rsp + 0x4f]
mov dword [r8 + 0xf], eax
mov r9d, 0x13
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e748
lea r15, [0x180019471]
jmp 0x18001ee3e
lea rax, [0x18003744d]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x5f0620de8d41d22b
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c073
xorps xmm0, xmm0
movups xmmword [rsi + 0xc], xmm0
movaps xmmword [rsi], xmm0
xor edx, edx
lea rcx, [0x180043e27]
cmp rdx, 0x18
jae 0x18001e7a0
mov r8, qword [rdx + rcx]
xor r8, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r8
add rdx, 8
jmp 0x18001e787
mov edx, 0x18
cmp rdx, 0x1b
ja 0x18001e7d3
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xb4000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001e7a5
movups xmm0, xmmword [rsp + 0x4c]
lea r8, [rsp + 0xe0]
movups xmmword [r8 + 0xc], xmm0
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [r8], xmm0
mov r9d, 0x1c
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e813
lea r15, [0x1800180d6]
jmp 0x18001ee3e
lea rax, [0x18003ad13]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x3236a30dbd060dd0
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000cc82
and qword [rsi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043e43]
cmp rcx, 0x17
ja 0x18001e86c
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001e853
movzx ecx, byte [rax + 0x1a]
movzx eax, word [rax + 0x18]
xor eax, 0x59ad
mov word [rsp + 0x58], ax
xor cl, 0x49
mov byte [rsp + 0x5a], cl
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov rax, qword [rsp + 0x4b]
mov qword [r8 + 0xb], rax
mov eax, dword [rsp + 0x53]
mov dword [r8 + 0x13], eax
mov al, byte [rsp + 0x57]
mov byte [r8 + 0x17], al
movzx eax, word [rsp + 0x58]
mov word [r8 + 0x18], ax
mov al, byte [rsp + 0x5a]
mov byte [r8 + 0x1a], al
mov r9d, 0x1b
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001e8e6
lea r15, [0x1800180d6]
jmp 0x18001ee3e
lea rax, [0x180044608]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xd0fdadc006796213
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c6ed
and dword [rsi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor edx, edx
lea rcx, [0x180043e5e]
cmp rdx, 0x10
jae 0x18001e93e
mov r8, qword [rdx + rcx]
xor r8, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r8
add rdx, 8
jmp 0x18001e925
mov edx, 0x10
cmp rdx, 0x13
ja 0x18001e971
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xd4000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001e943
mov eax, dword [rsp + 0x50]
lea rsi, [rsp + 0xe0]
mov dword [rsi + 0x10], eax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsi], xmm0
mov r9d, 0x14
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r8, rsi
call fcn.180006116
test al, al
je 0x18001e9b0
lea r15, [0x1800195c1]
jmp 0x18001ee3e
lea rax, case.0x1800390f0.18
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x582799d013489b3b
mov qword [rdx], rax
lea rax, [rsp + 0x40]
mov rdx, qword [rax]
call fcn.18000cabe
and qword [rsp + 0xe0], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x180043e72]
movabs r8, 0x26ac3679ae211b00
test r9b, 1
je 0x18001ea22
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsi], r9
mov edx, 8
xor r9d, r9d
lea rsi, [rsp + 0x130]
jmp 0x18001e9fb
movzx eax, word [rax + 8]
xor eax, 0x8f48
mov rcx, qword [rsp + 0xe0]
lea r8, [rsp + 0x40]
mov qword [r8], rcx
mov word [r8 + 8], ax
mov r9d, 0xa
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001ea65
lea r15, [0x1800195df]
jmp 0x18001ee3e
lea rax, [0x180038754]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xaabbc80a2e84e5c3
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000c412
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x180043e7c]
movabs r8, 0xd1a9034aefd87200
test r9b, 1
je 0x18001ead0
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001eaaf
mov edx, 8
cmp rdx, 0xb
ja 0x18001eb03
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xc9000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001ead5
mov eax, dword [rsp + 0x48]
lea r8, [rsp + 0xe0]
mov dword [r8 + 8], eax
mov rax, qword [rsp + 0x40]
mov qword [r8], rax
mov r9d, 0xc
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001eb40
lea r15, [fcn.18001196b]
jmp 0x18001ee3e
lea rax, [0x18003ab8d]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xc7703068797de922
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000cffc
and dword [rsi + 8], 0
and qword [rsi], 0
mov r9b, 1
xor edx, edx
lea rcx, [0x180043e88]
movabs r8, 0xbf59aba5e737d00
test r9b, 1
je 0x18001ebab
movzx r9d, byte [rdx + rcx]
or r9, r8
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r9
mov edx, 8
xor r9d, r9d
jmp 0x18001eb8a
mov edx, 8
cmp rdx, 0xb
ja 0x18001ebde
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xac000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001ebb0
movzx eax, word [rax + 0xc]
xor eax, 0x410a
mov word [rsp + 0x4c], ax
mov rax, qword [rsp + 0x40]
lea rsi, [rsp + 0xe0]
mov qword [rsi], rax
mov rax, qword [rsp + 0x46]
mov qword [rsi + 6], rax
mov r9d, 0xe
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov r8, rsi
call fcn.180006116
test al, al
je 0x18001ec2d
lea r15, [fcn.180011d4b]
jmp 0x18001ee3e
lea rax, [0x18003bc19]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xa16cc6543aa13da3
mov qword [rdx], rax
lea rax, [rsp + 0x40]
mov rdx, qword [rax]
call fcn.18000d672
and qword [rsp + 0xe0], 0
mov r10b, 1
xor edx, edx
lea rcx, [0x180043e96]
movabs r8, 0xc2e23a330c881700
lea r9, [rsp + 0x130]
test r10b, 1
je 0x18001eca2
movzx r10d, byte [rdx + rcx]
or r10, r8
xor r10, qword [rax + rdx]
mov qword [rsi], r10
mov edx, 8
xor r10d, r10d
mov rsi, r9
jmp 0x18001ec80
movzx ecx, byte [rax + 0xa]
movzx eax, word [rax + 8]
xor eax, 0x4c1
xor cl, 0x27
mov rdx, qword [rsp + 0xe0]
lea r8, [rsp + 0x40]
mov qword [r8], rdx
mov word [r8 + 8], ax
mov byte [r8 + 0xa], cl
mov r9d, 0xb
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001ecf0
lea r15, [0x180012062]
jmp 0x18001ee3e
lea rax, [0x180041657]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xe371615269d29d3f
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000d205
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor ecx, ecx
lea rdx, [0x180043ea1]
cmp rcx, 0xf
ja 0x18001ed44
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x40], r8
add rcx, 8
jmp 0x18001ed2b
movaps xmm0, xmmword [rsp + 0x40]
lea r8, [rsp + 0xe0]
movaps xmmword [r8], xmm0
mov r9d, 0x10
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001ed7a
lea r15, [fcn.180012339]
jmp 0x18001ee3e
lea rax, [0x18003f519]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x5c1a39c79fd37a87
mov qword [rdx], rax
lea rsi, [rsp + 0x40]
mov rdx, qword [rsi]
call fcn.18000b456
and dword [rsi + 0x10], 0
xorps xmm0, xmm0
movaps xmmword [rsi], xmm0
xor edx, edx
lea rcx, [0x180043eb1]
cmp rdx, 0x10
jae 0x18001edd2
mov r8, qword [rdx + rcx]
xor r8, qword [rax + rdx]
mov qword [rsp + rdx + 0x40], r8
add rdx, 8
jmp 0x18001edb9
mov edx, 0x10
cmp rdx, 0x13
ja 0x18001ee05
movzx r8d, byte [rdx + rcx + 2]
shl r8d, 0x10
movzx r9d, word [rdx + rcx]
add r8d, r9d
add r8d, 0xcd000000
xor r8d, dword [rax + rdx]
mov dword [rsp + rdx + 0x40], r8d
add rdx, 4
jmp 0x18001edd7
mov eax, dword [rsp + 0x50]
lea r8, [rsp + 0xe0]
mov dword [r8 + 0x10], eax
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [r8], xmm0
mov r9d, 0x14
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.180006116
test al, al
je 0x18001ef27
xor r15d, r15d
mov r14, rdi
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
lea rsi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rbx
mov r8, rbp
call fcn.180030208
lea rdi, [rsp + 0x258]
mov rcx, rdi
mov rdx, rbx
mov r8, rbp
call fcn.180030208
mov rax, qword [rsi + 0x10]
mov qword [rdi - 8], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rdi - 0x18], xmm0
mov rsi, qword [r14 + 0xa0]
mov rax, qword [rsi + 0x7000]
cmp rax, 0x200
jae 0x18001e395
imul rdi, rax, 0x38
mov rcx, qword [rsi + rdi]
mov rdx, qword [rsi + rdi + 8]
call fcn.180030036
mov rcx, qword [rsi + rdi + 0x18]
mov rdx, qword [rsi + rdi + 0x20]
call fcn.180030036
movaps xmm0, xmmword [rsp + 0x240]
movaps xmm1, xmmword [rsp + 0x250]
movaps xmm2, xmmword [rsp + 0x260]
movups xmmword [rsi + rdi + 0x20], xmm2
movups xmmword [rsi + rdi + 0x10], xmm1
movups xmmword [rsi + rdi], xmm0
mov qword [rsi + rdi + 0x30], r15
mov rax, qword [rsi + 0x7000]
lea rcx, [rax + 1]
mov qword [rsi + 0x7000], rcx
cmp rax, 0x200
jae 0x18001e395
imul rax, rax, 0x38
add rax, rsi
add rax, 0x30
mov rcx, qword [rsp + 0x168]
mov qword [rcx + 8], rax
and qword [rcx], 0
jmp 0x18001cb35
lea rax, [0x18003c5a2]
lea rdx, [rsp + 0x40]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xd49dff60ecb0693e
mov qword [rdx], rax
lea rax, [rsp + 0x40]
mov rdx, qword [rax]
call fcn.18000bf32
xorps xmm0, xmm0
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x220], xmm0
xor ecx, ecx
lea rdx, [0x180043ec5]
cmp rcx, 0x1f
ja 0x18001ef8b
mov r8, qword [rcx + rdx]
xor r8, qword [rax + rcx]
mov qword [rsp + rcx + 0x210], r8
add rcx, 8
jmp 0x18001ef6f
mov al, byte [rax + 0x20]
xor al, 0x7f
lea rcx, [rsp + 0x210]
mov byte [rcx + 0x20], al
mov edx, 0x21
call fcn.1800301e1
mov rcx, qword [rsp + 0x168]
mov qword [rcx], rax
lea rax, [0x180045e38]
mov qword [rcx + 8], rax
jmp 0x18001cb35