Function at 0x2011e140
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x488
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x3f0], xmm6
mov qword [rbp + 0x3e8], 0xfffffffffffffffe
mov qword [rbp + 0x388], rdx
mov rdi, rcx
call fcn.20133680
mov rcx, qword [0x20518960]
mov edx, dword [0x205188e4]
mov r8d, 0xffdf
sub r8d, eax
mov dword [rbp + 0x3e4], r8d
sub edx, r8d
movsxd rax, edx
add rax, rcx
call qword [case.0x200c7fcc.0]
cmp qword [0x205749b0], 0
mov r13d, eax
mov dword [rbp + 0x3e0], eax
jne 0x2011e21c
mov rax, r13
shl rax, 0x20
mov rsi, r13
or rax, r13
movabs rcx, 0x3cf28f4f3cf2864f
xor rcx, rax
mov rdx, qword [0x205189f0]
mov eax, dword [0x205188f0]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
call qword [case.0x200c7fcc.0]
nop
mov qword [rbp + 0x3d8], rax
mov rcx, rax
call fcn.20067fd0
nop
mov rax, qword [rbp + 0x3d8]
mov qword [0x205749b0], rax
nop
mov eax, dword [rbp + 0x3e0]
mov r13, rsi
nop
mov rcx, qword [0x205749b0]
mov qword [rbp + 0x278], rcx
mov rsi, r13
shl rsi, 0x21
or rsi, r13
movabs rcx, 0x79e51e9e3cf28f47
xor rcx, rsi
mov qword [rbp + 0x280], rcx
mov rcx, r13
shl rcx, 0x1e
xor rcx, r13
mov qword [rbp + 0x378], rcx
movabs rcx, 0xf3ca3d3fcf28f57
mov qword [rbp + 0x2f0], rcx
movabs rcx, 0xf3ca3d3fcf28f6f
mov qword [rbp + 0x370], rcx
mov ecx, dword [0x20518664]
xor ecx, eax
cmp ecx, 0x8b5110b0
movsxd rax, dword [0x20416938]
je 0x2011e334
movabs rcx, 0x425137f400c29dd1
xor rcx, rsi
mov rdx, r13
shl rdx, 0x1c
xor rdx, r13
movabs r8, 0xd22edc1cd6efe61c
xor r8, rdx
mov r9, r13
shl r9, 0x1b
movabs r10, 0x528d5219a744e5cd
xor r10, r13
xor r10, r9
mov r9, r13
shl r9, 0x22
or r9, r13
movabs r11, 0xddd4362bd91019e3
xor r11, r9
add r11, r8
mov r8, r13
shl r8, 0x1d
movabs r9, 0xc3d5877c1f3d622e
xor r9, r13
xor r9, r8
movabs r8, 0xaf5a1168d0bb1a32
xor r8, rdx
add r8, rcx
lea rcx, [0x20416938]
add rcx, r10
add rcx, r9
add rcx, r11
add rcx, r8
add rax, rcx
add rax, 3
mov qword [rbp + 0x1a0], rax
nop
mov eax, dword [0x20416934]
mov dword [rbp + 0x350], eax
lea rax, [0x20416950]
movsxd rcx, dword [0x20416950]
add rcx, rax
mov qword [rbp + 0x310], rcx
mov r14, r13
shl r14, 0x1c
xor r14, r13
mov rbx, r13
shl rbx, 0x20
or rbx, r13
mov r10, r13
shl r10, 0x1f
xor r10, r13
mov r12, r13
shl r12, 0x1d
movabs rax, 0xf20ff17efe58a06e
xor rax, r14
mov r9, r13
shl r9, 0x24
or r9, r13
movabs rcx, 0xc117d285f1a75f91
xor rcx, r9
add rax, rcx
add rax, 2
mov qword [rbp + 0x300], rax
mov r11, r13
shl r11, 0x23
or r11, r13
movabs rax, 0x50edede575c5182a
xor rax, r11
movabs rcx, 0xfba9b9fd6cb6366e
xor rcx, rsi
mov qword [rbp + 0x2e0], r12
xor r12, r13
movabs rdx, 0x4f18398b6a3ae7d5
xor rdx, r12
add rdx, rax
add rdx, rcx
movabs rax, 0x7471890995f6a09a
xor rax, rbx
movabs rcx, 0xaeddd06b3840f629
mov r15, qword [rbp + 0x378]
xor rcx, r15
add rcx, rax
movabs rax, 0xd96052ab60c52dae
xor rax, r11
movabs r8, 0x4067cbe087bf09d6
xor r8, r10
add r8, rax
add r8, rcx
add r8, rdx
movabs rax, 0x728ffb4f5349c991
xor rax, r15
movabs rcx, 0xb4b3d14d9a095f65
xor rcx, r14
add rcx, rax
movabs rax, 0xe2323dc9f3ad251
xor rax, r9
add rcx, r8
add rax, rcx
add rax, 5
mov qword [rbp + 0x210], rax
movabs rax, 0x7be12160b014a649
xor rax, r9
movabs rcx, 0x9c07fe87f47a58dd
xor rcx, r10
add rcx, rax
movabs rax, 0x46458418b85a722
xor rax, rsi
add rax, rcx
inc rax
mov qword [rbp + 0x238], rax
mov rdx, r13
shl rdx, 0x22
or rdx, r13
mov rcx, r13
shl rcx, 0x1b
movabs rax, 0x667ee6db1b703494
mov qword [rbp + 0x340], r13
xor rax, r13
mov qword [rbp + 0x390], rcx
xor rax, rcx
movabs rcx, 0x6bacb0629c8fcb6b
xor rcx, rdx
add rcx, rax
movabs rax, 0xc30d70b0c30d70b7
xor rax, rbx
add rax, rcx
inc rax
mov qword [rbp + 0x260], rax
movabs rax, 0xe1e2d04d59f1cd83
xor rax, rbx
movabs r8, 0xf3ca3d3fcf28f67
xor r8, r15
movabs rcx, 0xedc7540da60e327c
xor rcx, r9
mov qword [rbp + 0x270], r8
add rcx, r8
add rax, rcx
inc rax
mov qword [rbp + 0x268], rax
xor qword [rbp + 0x2f0], r15
xor qword [rbp + 0x370], r15
mov eax, dword [rbp + 0x3e0]
mov ecx, eax
xor ecx, 0xc30e70b0
mov dword [rbp + 0x2bc], ecx
mov ecx, eax
xor ecx, 0xc2ad8808
mov dword [rbp + 0x2c8], ecx
movabs rcx, 0x3cf28f4ccf2884f
xor rcx, r14
mov qword [rbp + 0x288], rcx
mov ecx, eax
xor ecx, 0x3cf38f4f
mov dword [rbp + 0x2cc], ecx
mov ecx, eax
xor ecx, 0xc30c70b0
mov dword [rbp + 0x2c0], ecx
movabs rcx, 0x3cf28f4f3cf28fd7
xor rcx, rbx
mov qword [rbp + 0x208], rcx
mov ecx, eax
xor ecx, 0x3cf08f4f
mov dword [rbp + 0x330], ecx
movabs rcx, 0xe186b858430d70b3
xor rcx, r10
mov qword [rbp + 0x1c0], rcx
mov ecx, eax
xor ecx, 0x4d32a1b9
mov dword [rbp + 0x354], ecx
movabs rcx, 0x79e51e9e3cf28f6f
xor rcx, rsi
mov qword [rbp + 0x398], rcx
mov ecx, eax
xor ecx, 0x8f47
mov dword [rbp + 0x2d8], ecx
movabs rcx, 0x3cf28f4ccf28f40
xor rcx, r14
mov qword [rbp + 0x348], rcx
movabs rcx, 0xcf28f4f03cf28f40
mov qword [rbp + 0x358], r9
xor rcx, r9
mov qword [rbp + 0x2f8], rcx
mov ecx, eax
xor cl, 0x56
mov byte [rbp + 0x3d7], cl
mov ecx, eax
xor cl, 0xf9
mov byte [rbp + 0x3c6], cl
mov ecx, eax
xor cl, 0x9f
mov byte [rbp + 0x3c7], cl
mov ecx, eax
xor ecx, 0xa2d43da2
mov qword [rbp + 0x250], rcx
mov ecx, eax
xor ecx, 0x3cf28f60
movabs r8, 0x79e51e9e3cf28f61
xor r8, rsi
mov qword [rbp + 0x218], r8
movabs r8, 0xf3ca3d3c3cf28f40
mov qword [rbp + 0x338], rdx
xor r8, rdx
mov qword [rbp + 0x298], r8
movabs rdx, 0x48f9029bbfeb59b6
xor rdx, r14
mov qword [rbp + 0x240], rdx
movabs rdx, 0x79e51e9e3cf280b0
mov qword [rbp + 0x360], rsi
xor rdx, rsi
mov qword [rbp + 0x248], rdx
movabs rdx, 0x79e51e9dcf28fd7
xor rdx, r12
mov qword [rbp + 0x1d0], rdx
mov edx, eax
xor edx, 0x3cf28f4b
mov dword [rbp + 0x2d0], edx
mov edx, eax
xor edx, 0xc30d70b4
mov dword [rbp + 0x2d4], edx
movabs rdx, 0xe7947a783cf280b0
xor rdx, r11
mov qword [rbp + 0x1e8], rdx
movabs rdx, 0xf3ca3d3fcf28f43
xor rdx, r15
mov qword [rbp + 0x1f0], rdx
movabs rdx, 0xe7947a783cf28f5e
mov qword [rbp + 0x368], r11
xor rdx, r11
mov qword [rbp + 0x230], rdx
movabs rdx, 0xfc30d70b330d70bf
mov qword [rbp + 0x380], r14
xor rdx, r14
mov qword [rbp + 0x220], rdx
movabs rdx, 0x3cf28f4f3cf28f5f
mov qword [rbp + 0x3a0], rbx
xor rdx, rbx
mov qword [rbp + 0x228], rdx
mov edx, eax
xor edx, 0x9e4e
mov dword [rbp + 0x2ac], edx
movabs rdx, 0x7f282c67bcf288cf
xor rdx, r10
mov qword [rbp + 0x1a8], rdx
movabs rdx, 0x79e51e9dcf28f5f
xor rdx, r12
mov qword [rbp + 0x1b0], rdx
mov edx, eax
xor edx, 0x8f48
mov dword [rbp + 0x2b0], edx
movabs rdx, 0x79e51e9dcf28f49
mov qword [rbp + 0x3a8], r12
xor rdx, r12
mov qword [rbp + 0x1e0], rdx
mov edx, eax
xor edx, 0x8f5f
mov dword [rbp + 0x2c4], edx
mov edx, eax
xor edx, 0x8f84
mov dword [rbp + 0x2dc], edx
movabs rdx, 0x1e7947a7bcf28f49
mov qword [rbp + 0x3b8], r10
xor rdx, r10
mov qword [rbp + 0x1b8], rdx
mov edx, eax
xor edx, 0x3cf28f45
mov dword [rbp + 0x2b4], edx
xor eax, 0x3cf28587
mov dword [rbp + 0x2b8], eax
cmp ecx, 2
mov eax, 1
mov dword [rbp + 0x334], ecx
cmovge eax, ecx
mov qword [rbp + 0x258], rax
lea rax, [rdi + 8]
mov qword [rbp + 0x2e8], rax
lea rax, [rdi + 0x2e8]
mov qword [rbp + 0x1f8], rax
lea rax, [rdi + 0x68]
mov qword [rbp + 0x1c8], rax
lea rax, [rdi + 0x28]
mov qword [rbp + 0x1d8], rax
lea rax, [rdi + 0x128]
mov qword [rbp + 0x198], rax
lea rax, [rdi + 0x130]
mov qword [rbp + 0x308], rax
lea rax, [rdi + 0x308]
mov qword [rbp + 0x3c8], rax
mov rax, qword [rbp + 0x280]
lea rax, [rbp + rax - 0x50]
mov qword [rbp + 0x318], rax
lea rax, [rdi + 0xa8]
mov qword [rbp + 0x200], rax
lea rax, [rdi + 0xe8]
mov qword [rbp + 0x2a0], rax
lea rax, [rdi + 0xf0]
mov qword [rbp + 0x290], rax
xorps xmm6, xmm6
xor r14d, r14d
mov dword [rbp + 0x3d0], 0
jmp 0x2011e985
nop
mov rcx, qword [rbp + 0x3d8]
mov eax, dword [rcx + 4]
mov dword [rbp - 0x50], eax
mov eax, dword [rcx + 8]
mov dword [rbp - 0x4c], eax
mov rax, qword [rcx + 0xc]
mov qword [rbp - 0x48], rax
mov eax, dword [rbp + 0x330]
mov dword [rbp + 0x320], eax
mov word [rbp + 0x324], 0
mov eax, dword [rbp + 0x2ac]
mov word [rbp + 0x326], ax
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x328], rax
mov rcx, qword [0x20518958]
mov eax, dword [0x20518904]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea rcx, [rbp + 0x320]
lea rdx, [rbp - 0x50]
mov r8, qword [rbp + 0x1b0]
call qword [case.0x200c7fcc.0]
test eax, eax
jne 0x20120195
nop dword [rax + rax]
inc dword [rbp + 0x3d0]
nop
mov rax, qword [rbp + 0x3d8]
movzx eax, word [rax + 2]
add r14d, eax
nop
mov rax, qword [rbp + 0x388]
mov r15, qword [rax + 0x10]
cmp r14d, r15d
jge 0x2011f891
test r15, r15
je 0x2011e9aa
mov rax, qword [rbp + 0x388]
mov r15, qword [rax + 8]
mov r13d, r14d
lea rax, [r15 + r13]
mov qword [rbp + 0x3d8], rax
movzx eax, word [r15 + r13]
cmp eax, 0x101
jle 0x2011ea10
cmp eax, 0x4003
jg 0x2011eb30
cmp eax, 0x102
je 0x2011ee4f
cmp eax, 0x104
je 0x2011ed13
cmp eax, 0x108
jne case.0x2011ea29.2
nop
mov rax, qword [rbp + 0x3d8]
mov eax, dword [rax + 4]
mov dword [rdi + 0x2f0], eax
inc dword [rbp + 0x3d0]
jmp case.0x2011ea29.2
dec eax
cmp eax, 0xb
ja case.0x2011ea29.2
lea rcx, [0x20416b2c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
nop
mov eax, dword [rbp + 0x2b0]
mov rdx, qword [rbp + 0x3d8]
cmp word [rdx + 4], ax
jae 0x2011ea64
nop
mov rax, qword [rbp + 0x1e0]
mov ecx, dword [rbp + 0x2c4]
cmp word [rdx + rax], cx
jae 0x2011ea64
nop
mov eax, dword [rbp + 0x2dc]
cmp word [rdx + 8], ax
jb 0x2012038a
nop
movzx r9d, word [rdx + 8]
mov rax, qword [rbp + 0x1b8]
movzx r8d, word [rdx + rax]
movzx edx, word [rdx + 4]
mov rcx, qword [0x205189e0]
mov eax, dword [0x205188f8]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov dword [rsp + 0x20], 0
lea r15, [rbp - 0x50]
mov rcx, r15
call qword [case.0x200c7fcc.0]
nop
mov dword [rsp + 0x20], 0
lea r12, [rbp + 0x320]
mov rcx, r12
mov edx, dword [rbp + 0x2b4]
mov r8d, edx
mov r9d, dword [rbp + 0x2b8]
call fcn.201334d0
mov rcx, r15
mov rdx, r12
call fcn.201334e0
mov ebx, eax
mov rcx, qword [0x205189c8]
mov eax, dword [0x205188e8]
mov esi, dword [rbp + 0x3e4]
sub eax, esi
cdqe
add rax, rcx
mov rcx, r12
call qword [case.0x200c7fcc.0]
mov rcx, qword [0x205189c8]
mov eax, dword [0x205188e8]
sub eax, esi
cdqe
add rax, rcx
mov rcx, r15
call qword [case.0x200c7fcc.0]
mov byte [rdi + 0x2cc], bl
inc dword [rbp + 0x3d0]
jmp case.0x2011ea29.2
cmp eax, 0x4004
je 0x2011f005
cmp eax, 0x4008
je 0x2011ed2f
cmp eax, 0x4009
jne case.0x2011ea29.2
nop
mov r8, qword [rdi + 0x78]
mov rcx, r8
test r8, r8
je 0x2011eb62
mov rcx, qword [rdi + 0x70]
mov rax, qword [rbp + 0x3d8]
lea rdx, [rax + 4]
mov r9, qword [0x205189a0]
mov eax, dword [0x20518928]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, r9
call qword [case.0x200c7fcc.0]
mov eax, dword [rdi + 0x10]
mov ecx, eax
not ecx
and ecx, dword [rbp + 0x2bc]
mov edx, dword [rbp + 0x3e0]
xor eax, edx
xor eax, 0x3cf18f4f
or eax, ecx
xor eax, edx
cmp eax, 0xc30c70b0
je case.0x2011ea29.1
nop
mov r8, qword [rdi + 0x78]
mov rdx, r8
test r8, r8
je 0x2011ebc5
mov rdx, qword [rdi + 0x70]
mov rcx, qword [rdi + 8]
mov r9, qword [0x205189d0]
mov eax, dword [0x20518910]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, r9
mov r9d, dword [rbp + 0x2c8]
mov dword [rsp + 0x28], r9d
mov byte [rsp + 0x20], 0
mov r9, qword [rbp + 0x1f8]
call qword [case.0x200c7fcc.0]
test al, al
je 0x2012019c
nop
cmp qword [0x205726d0], 0
jne 0x2011ec57
nop
mov rcx, qword [0x205189f0]
mov eax, dword [0x205188f0]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x288]
call qword [case.0x200c7fcc.0]
nop
mov qword [rbp + 0x3b0], rax
mov rcx, rax
call fcn.2006dac0
nop
mov rax, qword [rbp + 0x3b0]
mov qword [0x205726d0], rax
nop
mov rbx, qword [0x205726d0]
mov rax, qword [rbp + 0x2e8]
mov r15, qword [rax]
mov eax, dword [rbx + 8]
mov dword [r15 + 8], eax
movzx eax, word [rbx + 0xc]
mov word [r15 + 0xc], ax
mov eax, dword [rbx + 0x10]
mov dword [r15 + 0x10], eax
mov eax, dword [rbx + 0x14]
mov dword [r15 + 0x14], eax
lea rdx, [rbx + 0x18]
lea rcx, [r15 + 0x18]
mov r8, qword [0x20518968]
mov eax, dword [0x2051890c]
mov esi, dword [rbp + 0x3e4]
sub eax, esi
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
lea rdx, [rbx + 0x40]
lea rcx, [r15 + 0x40]
mov r8, qword [0x20518968]
mov eax, dword [0x2051890c]
sub eax, esi
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
lea rdx, [rbx + 0x68]
lea rcx, [r15 + 0x68]
mov r8, qword [0x20518968]
mov eax, dword [0x2051890c]
sub eax, esi
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
movzx eax, byte [rbx + 0x90]
mov byte [r15 + 0x90], al
mov eax, dword [rbx + 0x94]
mov dword [r15 + 0x94], eax
jmp case.0x2011ea29.1
nop
mov rax, qword [rbp + 0x3d8]
mov eax, dword [rax + 4]
mov dword [rdi + 0x2f4], eax
inc dword [rbp + 0x3d0]
jmp case.0x2011ea29.2
nop
mov rcx, qword [rbp + 0x3d8]
mov eax, dword [rcx + 4]
mov dword [rdi + 0x2e8], eax
mov eax, dword [rcx + 8]
mov dword [rdi + 0x2ec], eax
test byte [rcx + 0x10], 1
je 0x2011ed59
nop
mov eax, dword [rbp + 0x2cc]
or dword [rdi + 0x10], eax
nop
mov rax, qword [rbp + 0x3d8]
mov edx, dword [rax + 0xc]
mov rcx, qword [0x20518970]
mov eax, dword [0x20518918]
mov esi, dword [rbp + 0x3e4]
sub eax, esi
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x1c8]
call qword [case.0x200c7fcc.0]
inc dword [rbp + 0x3d0]
mov eax, dword [rdi + 0x10]
mov ecx, eax
not ecx
and ecx, dword [rbp + 0x2c0]
xor eax, dword [rbp + 0x3e0]
xor eax, 0x3cf38f4f
or eax, ecx
cmp eax, 0xffffffff
je 0x2011f1ff
nop
cmp qword [0x20572878], 0
jne 0x2011ee04
nop
mov rcx, qword [0x205189f0]
mov eax, dword [0x205188f0]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x208]
call qword [case.0x200c7fcc.0]
nop
mov qword [rbp + 0x3b0], rax
mov rcx, rax
call fcn.2011a180
nop
mov rax, qword [rbp + 0x3b0]
mov qword [0x20572878], rax
nop
mov rcx, qword [0x20572878]
mov rdx, qword [0x205189b8]
mov eax, dword [0x205188fc]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov rdx, qword [rbp + 0x1d8]
mov r8, qword [rbp + 0x2e8]
call qword [case.0x200c7fcc.0]
test al, al
je case.0x2011ea29.2
nop
mov eax, dword [rbp + 0x330]
or dword [rdi + 0x10], eax
jmp case.0x2011ea29.2
nop
mov rsi, qword [rbp + 0x3d8]
mov edx, dword [rsi + 4]
mov qword [rbp + 0x320], 0
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x5c8]
mov rcx, qword [rdi + 0x18]
lea r8, [rbp + 0x320]
xor r9d, r9d
call qword [case.0x200c7fcc.0]
mov rax, qword [rbp + 0x320]
mov qword [rdi + 0x2e0], rax
mov eax, dword [rbp + 0x320]
cmp eax, dword [rsi + 4]
jne 0x2011f3e9
nop
mov dword [rbp + 0x2a8], 0
mov eax, dword [rdi + 0x2f8]
mov ecx, eax
not ecx
mov r8d, dword [rbp + 0x2d4]
and r8d, ecx
mov edx, eax
and edx, dword [rbp + 0x2d0]
or edx, r8d
xor edx, eax
xor r8d, ecx
or r8d, edx
mov rsi, qword [rbp + 0x3d8]
mov eax, dword [rsi + 8]
cmp eax, 0x1000
mov edx, 0x1000
cmovb edx, eax
cmp r8d, 0xffffffff
cmove edx, eax
mov rcx, qword [0x20518970]
mov eax, dword [0x20518918]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x200]
call qword [case.0x200c7fcc.0]
mov r8d, dword [rsi + 8]
mov qword [rdi + 0x2d0], r8
add r8, qword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x1f0]
shr r8, cl
cmp qword [rdi + 0x100], r8
jae 0x2011f2f9
nop
mov r12, qword [rdi + 0xf8]
test r12, r12
je 0x2011f303
nop
mov rbx, qword [rdi + 0xf0]
mov rax, qword [rbp + 0x290]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov byte [rdi + 0x108], 1
mov rcx, qword [0x205189c0]
mov eax, dword [0x20518908]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x2a0]
xor edx, edx
call qword [case.0x200c7fcc.0]
test rbx, rbx
je 0x2011f32b
nop
mov rax, qword [rbp + 0x290]
mov rcx, qword [rax]
imul r12, qword [rbp + 0x230]
mov rdx, qword [0x205189a0]
mov eax, dword [0x20518928]
mov esi, dword [rbp + 0x3e4]
sub eax, esi
cdqe
add rax, rdx
mov rdx, rbx
mov r8, r12
call qword [case.0x200c7fcc.0]
mov rcx, qword [0x205189e8]
mov eax, dword [0x2051892c]
sub eax, esi
cdqe
add rax, rcx
mov rcx, rbx
mov edx, dword [rbp + 0x354]
call qword [case.0x200c7fcc.0]
jmp 0x2011f32b
nop
mov rax, qword [rbp + 0x3d8]
movzx ebx, word [rax + 2]
mov rax, qword [rbp + 0x308]
mov rcx, qword [rax]
test rcx, rcx
je 0x2011f06a
nop
cmp dword [rdi + 0x14c], 1
jne 0x2011f045
nop
mov r8, qword [rdi + 0x138]
xor edx, edx
call fcn.203f1830
mov rcx, qword [rdi + 0x130]
test rcx, rcx
je 0x2011f06a
nop
mov rdx, qword [0x205189e8]
mov eax, dword [0x2051892c]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov edx, dword [rbp + 0x354]
call qword [case.0x200c7fcc.0]
nop
add rbx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x3d8]
lea r12, [rax + 4]
mov rax, qword [rbp + 0x308]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov byte [rdi + 0x148], 1
test rbx, rbx
je 0x2011f0fb
nop
mov rcx, qword [0x20518998]
mov eax, dword [0x205188f4]
mov esi, dword [rbp + 0x3e4]
sub eax, esi
cdqe
add rax, rcx
mov rcx, rbx
call qword [case.0x200c7fcc.0]
mov qword [rdi + 0x130], rax
mov qword [rdi + 0x140], rbx
mov qword [rdi + 0x138], rbx
mov rcx, qword [0x205189a0]
mov edx, dword [0x20518928]
sub edx, esi
movsxd r9, edx
add r9, rcx
mov rcx, rax
mov rdx, r12
mov r8, rbx
mov rax, r9
call qword [case.0x200c7fcc.0]
nop
mov rbx, qword [rdi + 0x150]
cmp rbx, qword [rdi + 0x158]
jne 0x2011f1e1
nop
mov ebx, dword [r12]
test ebx, ebx
je 0x2011f248
jle case.0x2011ea29.1
add r15, r13
add r15, 0x10
nop word [rax + rax]
nop
mov rax, qword [rdi + 0x170]
xor rax, qword [rbp + 0x2e0]
xor rax, qword [rbp + 0x340]
movabs rcx, 0x61ae16230d70b0
cmp rax, rcx
je 0x20120f99
nop
mov r12d, dword [r15]
mov r13, qword [rdi + 0x168]
mov rsi, qword [r15 - 8]
mov rcx, qword [0x205189f0]
mov eax, dword [0x205188f0]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x398]
call qword [case.0x200c7fcc.0]
mov qword [rax + 0x10], rsi
mov dword [rax + 0x18], r12d
mov rcx, qword [rbp + 0x300]
add qword [rdi + 0x170], rcx
mov rcx, qword [r13 + 8]
mov qword [rax], r13
mov qword [rax + 8], rcx
mov qword [r13 + 8], rax
mov qword [rcx], rax
add r15, 0xc
dec ebx
jne 0x2011f130
jmp case.0x2011ea29.1
add rbx, 8
cmp rbx, qword [rdi + 0x158]
je 0x2011f110
nop
mov rcx, qword [rbx]
test rcx, rcx
je 0x2011f1d0
nop
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [case.0x200c7fcc.0]
jmp 0x2011f1d0
nop
mov rcx, qword [0x205189f0]
mov eax, dword [0x205188f0]
sub eax, esi
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x288]
call qword [case.0x200c7fcc.0]
nop
mov qword [rbp + 0x3b0], rax
mov rcx, rax
call fcn.2006dac0
nop
mov rax, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x3b0]
mov qword [rax], rcx
jmp case.0x2011ea29.2
nop
mov eax, dword [rbp + 0x2d8]
mov rcx, qword [rbp + 0x3d8]
cmp word [rcx + 2], ax
jbe case.0x2011ea29.1
nop
mov rax, qword [rbp + 0x3c8]
mov rcx, qword [rbp + 0x348]
cmp qword [rdi + 0x320], rcx
jbe 0x2011f27f
mov rax, qword [rdi + 0x308]
mov qword [rdi + 0x318], 0
mov byte [rax], 0
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + rax - 0x50], 0
mov rax, qword [rbp + 0x370]
mov rcx, qword [rbp + 0x2f8]
mov qword [rbp + rax - 0x50], rcx
mov rax, qword [rbp + 0x318]
mov byte [rax], 0
movzx eax, byte [0x20516c9f]
cmp al, byte [rbp + 0x3d7]
je 0x2011f463
nop dword [rax]
movzx eax, byte [rbp + 0x3c6]
movzx ecx, byte [rbp + 0x3c7]
lock cmpxchg byte [0x20516c9f], cl
je 0x2011f3f5
cmp al, byte [rbp + 0x3d7]
jne 0x2011f2d0
jmp 0x2011f463
nop
mov qword [rdi + 0xf8], r8
jmp 0x2011f32b
nop
mov rcx, qword [0x205189c0]
mov eax, dword [0x20518908]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov rcx, qword [rbp + 0x2a0]
xor edx, edx
call qword [case.0x200c7fcc.0]
nop
mov rcx, qword [rdi + 0x18]
mov rdx, qword [rdi + 0xb8]
cmp rdx, 0x1000
mov ebx, 0x1000
cmovb rbx, rdx
mov rax, qword [rbp + 0x278]
mov rax, qword [rax + 0x5b8]
test rdx, rdx
je 0x2011f361
mov rdx, qword [rdi + 0xb0]
mov qword [rsp + 0x20], 0
mov r8d, ebx
lea r9, [rbp + 0x2a8]
call qword [case.0x200c7fcc.0]
test eax, eax
je 0x2012029a
nop
cmp qword [rdi + 0xf8], 0
je 0x2011f3e9
nop
mov rax, qword [rdi + 0xf0]
mov byte [rax], 1
mov rax, qword [rbp + 0x348]
cmp qword [rdi + 0xb8], rax
jbe 0x2011f3e9
nop
mov rcx, qword [rdi + 0xf0]
inc rcx
add rbx, qword [rdi + 0xb0]
add rbx, qword [rbp + 0x220]
mov rdx, qword [0x205189a0]
mov eax, dword [0x20518928]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov rdx, rbx
mov r8, qword [rbp + 0x228]
call qword [case.0x200c7fcc.0]
nop
inc dword [rbp + 0x3d0]
jmp case.0x2011ea29.2
xor ecx, ecx
mov r8d, dword [rbp + 0x3e0]
mov r9d, dword [rbp + 0x334]
mov r10, qword [rbp + 0x250]
mov r11, qword [rbp + 0x258]
lea rsi, [0x20516c70]
lea rbx, [0x204166c0]
nop word cs:[rax + rax]
lea eax, [r10 + rcx]
xor edx, edx
div r9d
not edx
add edx, r9d
movsxd rax, edx
movzx eax, byte [rax + rbx]
xor al, r8b
xor al, 0x88
add byte [rcx + rsi], al
inc rcx
cmp r11, rcx
jne 0x2011f430
nop
movzx eax, byte [rbp + 0x3d7]
xchg byte [0x20516c9f], al
nop
mov rcx, qword [0x20518948]
mov eax, dword [0x20518924]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
mov rsi, qword [rbp + 0x318]
mov rcx, rsi
mov rdx, qword [rbp + 0x218]
lea r9, [0x20516c70]
call qword [case.0x200c7fcc.0]
lea rax, [0x20411008]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x2f0]
mov r8, qword [rbp + rax - 0x50]
mov rax, qword [rbp + 0x370]
mov rcx, qword [rbp + 0x298]
cmp qword [rbp + rax - 0x50], rcx
jbe 0x2011f4d0
mov rax, qword [rbp + 0x318]
mov rsi, qword [rax]
mov rcx, qword [rdi + 0x318]
mov rax, qword [rdi + 0x320]
mov rdx, qword [rbp + 0x210]
sub rdx, rcx
add rdx, rax
cmp rdx, r8
jae 0x2011f50d
nop
mov qword [rsp + 0x20], r8
mov rcx, qword [rbp + 0x3c8]
mov rdx, r8
mov r9, rsi
call fcn.200ca6c0
jmp 0x2011f5a3
nop
mov rdx, qword [rbp + 0x3a0]
xor rdx, rcx
movabs r10, 0x77c4a5204feb59b6
xor rdx, r10
mov r10, qword [rbp + 0x238]
add r10, r8
add rdx, r10
mov r10, qword [rbp + 0x3b8]
xor r10, rcx
movabs r11, 0xab092373014a649
xor r10, r11
and r10, qword [rbp + 0x240]
lea r11, [rdx + r10*2]
inc r11
mov qword [rdi + 0x318], r11
mov rbx, qword [rbp + 0x3c8]
cmp rax, qword [rbp + 0x348]
jbe 0x2011f575
mov rbx, qword [rdi + 0x308]
lea r15, [rdx + r10*2]
add rcx, rbx
mov rdx, qword [0x20518940]
mov eax, dword [0x20518920]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov rdx, rsi
call qword [case.0x200c7fcc.0]
mov byte [rbx + r15 + 1], 0
nop
mov rax, qword [rbp + 0x370]
mov rax, qword [rbp + rax - 0x50]
cmp rax, qword [rbp + 0x2f8]
jbe 0x2011f627
nop
mov rcx, qword [rbp + 0x318]
mov rcx, qword [rcx]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, qword [rbp + 0x248]
jbe 0x2011f608
nop
mov r8, qword [rcx - 8]
add rcx, qword [rbp + 0x260]
sub rcx, r8
cmp rcx, qword [rbp + 0x398]
jae 0x20120f94
add rax, qword [rbp + 0x268]
mov rdx, rax
mov rcx, r8
nop
mov r8, qword [0x20518988]
mov eax, dword [0x20518934]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
nop
mov rax, qword [rbp + 0x3d8]
mov esi, dword [rax + 8]
lea r13, [rax + 0xc]
xor r15d, r15d
cmp r15d, esi
jge 0x2011f85f
nop word cs:[rax + rax]
nop
mov rcx, qword [0x205189a8]
mov eax, dword [0x205188ec]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea rcx, [rbp - 0x50]
call qword [case.0x200c7fcc.0]
lea rax, [rbp + 0x158]
cmp qword [rbp + 0x198], rax
je 0x2011f795
nop
mov rbx, qword [rdi + 0x130]
mov r12, qword [rdi + 0x138]
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x2011f6ec
nop
cmp dword [rbp + 0x17c], 1
jne 0x2011f6c7
nop
mov r8, qword [rbp + 0x168]
xor edx, edx
call fcn.203f1830
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x2011f6ec
nop
mov rdx, qword [0x205189e8]
mov eax, dword [0x2051892c]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov edx, dword [rbp + 0x354]
call qword [case.0x200c7fcc.0]
test r12, r12
lea rax, [rbp + 0x158]
movups xmmword [rax + 8], xmm6
mov qword [rax + 0x18], 0
mov byte [rbp + 0x178], 1
je 0x2011f780
mov rcx, r12
call fcn.20078130
nop
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x170], r12
mov qword [rbp + 0x168], r12
test rbx, rbx
je 0x2011f75c
nop
mov rcx, qword [0x205189a0]
mov edx, dword [0x20518928]
sub edx, dword [rbp + 0x3e4]
movsxd r9, edx
add r9, rcx
mov rcx, rax
mov rdx, rbx
mov r8, r12
mov rax, r9
call qword [case.0x200c7fcc.0]
jmp 0x2011f780
nop
cmp dword [rbp + 0x17c], 1
jne 0x2011f780
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.203f1830
nop word cs:[rax + rax]
nop
mov rbx, qword [rbp + 0x180]
cmp rbx, qword [rbp + 0x188]
jne 0x2011f841
lea rcx, [rbp - 0x50]
mov rdx, r13
call fcn.2011cc50
test al, al
je 0x2011f9a6
nop
movsxd rbx, dword [rbp - 0x50]
cmp qword [0x20572878], 0
jne 0x2011f7e4
nop
mov rcx, qword [rbp + 0x1d0]
call fcn.20077cb0
nop
mov qword [rbp + 0x3b0], rax
mov rcx, rax
call fcn.2011a180
nop
mov rax, qword [rbp + 0x3b0]
mov qword [0x20572878], rax
nop
mov rcx, qword [0x20572878]
lea rdx, [rbp - 0x50]
call fcn.201232b0
test al, al
je 0x2011f9a6
add r13, rbx
mov rcx, qword [0x20518950]
mov eax, dword [0x20518914]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea rcx, [rbp - 0x50]
call qword [case.0x200c7fcc.0]
inc r15d
cmp r15d, esi
jl 0x2011f650
jmp 0x2011f85f
add rbx, 8
cmp rbx, qword [rbp + 0x188]
je 0x2011f795
nop
mov rcx, qword [rbx]
test rcx, rcx
je 0x2011f830
nop
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [case.0x200c7fcc.0]
jmp 0x2011f830
nop
mov rax, qword [rbp + 0x3c8]
mov rcx, qword [rbp + 0x298]
cmp qword [rdi + 0x320], rcx
jbe 0x2011f87e
mov rax, qword [rdi + 0x308]
mov qword [rdi + 0x318], 0
mov byte [rax], 0
jmp case.0x2011ea29.1
mov ecx, dword [rbp + 0x3e0]
mov edx, dword [rbp + 0x3d0]
xor edx, ecx
mov al, 1
cmp edx, 0x3cf28f44
je 0x2011fed1
mov eax, ecx
xor eax, 0x3cf28f6f
or dword [rdi + 0x10], eax
mov rcx, qword [0x20572658]
add rcx, qword [rdi + 0x320]
movabs rdx, 0x79e51e9e3cf28f40
xor rdx, qword [rbp + 0x360]
mov rax, qword [rbp + 0x3c8]
cmp rcx, rdx
jbe 0x2011f8e9
mov rax, qword [rdi + 0x308]
mov qword [rdi + 0x318], 0
mov byte [rax], 0
movabs rax, 0x3cf28f4f3cf28f47
xor rax, qword [rbp + 0x3a0]
lea rcx, [rax + rbp]
add rcx, 0xffffffffffffffb0
mov qword [rbp + 0x398], rcx
movabs rbx, 0x1e7947a7bcf28f57
xor rbx, qword [rbp + 0x3b8]
movabs rsi, 0x3cf28f4ccf28f6f
xor rsi, qword [rbp + 0x380]
mov qword [rbp + rbx - 0x50], 0
movabs rcx, 0xe7947a783cf28f40
xor rcx, qword [rbp + 0x368]
mov qword [rbp + rsi - 0x50], rcx
mov byte [rbp + rax - 0x50], 0
movzx eax, byte [0x20516d11]
mov ecx, dword [rbp + 0x3e0]
mov r8d, ecx
xor r8b, 0xa8
cmp al, r8b
je 0x2011fa6e
mov eax, dword [rbp + 0x3e0]
mov ecx, eax
xor cl, 0x40
mov edx, eax
xor dl, 0x85
nop word [rax + rax]
mov eax, ecx
lock cmpxchg byte [0x20516d11], dl
je 0x2011f9e6
cmp al, r8b
jne 0x2011f990
jmp 0x2011fa6e
nop
mov eax, dword [rdi + 0x10]
mov ecx, dword [rbp + 0x3e0]
xor ecx, eax
xor ecx, 0x3cf28f6f
or ecx, eax
mov dword [rdi + 0x10], ecx
mov rcx, qword [0x20518950]
mov eax, dword [0x20518914]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea rcx, [rbp - 0x50]
call qword [case.0x200c7fcc.0]
xor eax, eax
jmp 0x2011fed1
mov r11d, dword [rbp + 0x3e0]
mov ecx, r11d
xor ecx, 0xf0d5e09c
mov r9d, r11d
xor r9b, 0x82
mov r10d, r11d
xor r10b, 0x7d
xor r11d, 0x3cf28f7e
xor eax, eax
lea r14, [0x20516ce0]
lea r15, [0x20416730]
xor r10b, r9b
mov r13d, dword [rbp + 0x334]
nop word cs:[rax + rax]
mov edx, eax
movsxd r12, eax
xor eax, ecx
and edx, ecx
lea eax, [rax + rdx*2]
xor edx, edx
div r13d
movsxd rax, edx
movzx eax, byte [rax + r15]
and al, r10b
xor al, r9b
add byte [r12 + r14], al
mov eax, r12d
xor eax, 1
and r12d, 1
lea eax, [rax + r12*2]
cmp eax, r11d
jl 0x2011fa30
nop
xchg byte [0x20516d11], r8b
movabs rdx, 0xcf28f4f03cf28f7f
xor rdx, qword [rbp + 0x358]
mov rcx, qword [0x20518948]
mov eax, dword [0x20518924]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea r9, [0x20516ce0]
mov r14, qword [rbp + 0x398]
mov rcx, r14
call qword [case.0x200c7fcc.0]
lea rax, [0x20411008]
mov qword [rbp - 0x50], rax
mov r8, qword [rbp + rbx - 0x50]
movabs rax, 0x79e51e9dcf28f40
xor rax, qword [rbp + 0x3a8]
mov r9, r14
cmp qword [rbp + rsi - 0x50], rax
jbe 0x2011fae3
mov rax, qword [rbp + 0x398]
mov r9, qword [rax]
mov rcx, qword [rdi + 0x318]
mov rax, qword [rdi + 0x320]
movabs rdx, 0x3b23eb285ad9f100
xor rdx, qword [rbp + 0x3b8]
movabs r10, 0xd96a7b84d5260eff
xor r10, qword [rbp + 0x380]
add r10, rdx
sub r10, rcx
lea rdx, [r10 + rax]
inc rdx
cmp rdx, r8
jae 0x2011fb3f
nop
mov qword [rsp + 0x20], r8
mov rcx, qword [rbp + 0x3c8]
mov rdx, r8
call fcn.200ca6c0
jmp 0x2011fbd8
mov rdx, rcx
xor rdx, r8
mov r10, rcx
and r10, r8
movabs r11, 0x90a011224bc746a4
mov r15, qword [rbp + 0x3a0]
xor r11, r15
movabs r14, 0x9c859562b438b95b
xor r14, qword [rbp + 0x358]
add r14, r11
add r14, rdx
lea rbx, [r14 + r10*2]
lea rdx, [r14 + r10*2]
inc rdx
mov qword [rdi + 0x318], rdx
movabs rdx, 0x3cf28f4f3cf28f40
xor rdx, r15
cmp rax, rdx
jbe 0x2011fba8
mov rax, qword [rdi + 0x308]
mov qword [rbp + 0x3c8], rax
mov rdi, qword [rbp + 0x3c8]
add rcx, rdi
mov rdx, qword [0x20518940]
mov eax, dword [0x20518920]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov rdx, r9
call qword [case.0x200c7fcc.0]
mov byte [rdi + rbx + 1], 0
nop
mov rax, qword [rbp + rsi - 0x50]
mov qword [rbp + 0x300], rax
mov edx, dword [0x20518650]
mov eax, edx
xor eax, 1
mov ecx, edx
and ecx, 1
lea eax, [rax + rcx*2]
mov dword [0x20518650], eax
mov dword [rbp + 0x3d0], eax
mov dword [rbp + 0x308], edx
test eax, edx
je 0x2011feec
xor eax, eax
nop
mov edx, dword [0x20518660]
xor edx, dword [rbp + 0x3e0]
mov ecx, 0xf
cmp edx, 0x3826693b
jne 0x2011fc3e
nop
mov dword [0x20518670], 0x454c6463
mov ecx, 0xa
mov r13, qword [rbp + 0x300]
cmp r13, rcx
jbe 0x2011fecf
nop
mov rcx, qword [rbp + 0x398]
mov rcx, qword [rcx]
movabs rdx, 0xf4eed66a81763415
mov rsi, qword [rbp + 0x338]
xor rdx, rsi
movabs r8, 0x27f07026ab332433
mov r14, qword [rbp + 0x3b8]
xor r8, r14
movabs r9, 0xe6a2530efe89cbea
xor r9, r14
add r9, rdx
movabs rdx, 0xe8771c464e12184f
mov r11, qword [rbp + 0x368]
xor r11, rdx
movabs rdx, 0x89f9875fb1ede7b0
mov rdi, qword [rbp + 0x360]
xor rdx, rdi
add rdx, r8
add rdx, r9
movabs r9, 0x48c500651b8605bd
xor r9, rsi
movabs r10, 0x8bd83656e479fa42
mov rbx, qword [rbp + 0x358]
xor r10, rbx
add r10, r11
mov r15, qword [rbp + 0x390]
xor r15, qword [rbp + 0x340]
movabs r8, 0x9130e71bb936d83d
xor r8, r15
add r8, r9
add r8, r10
movabs r9, 0x374c925c5a0f74e5
xor r9, rsi
movabs r10, 0x53da03d13ec927c2
mov r12, qword [rbp + 0x3a0]
xor r10, r12
add r10, r9
movabs r9, 0x2500173825f08b1a
xor r9, r14
movabs r11, 0x998f281984265ef1
xor r11, rsi
movabs rsi, 0x95e3c8ed4ccdbcc
xor rsi, rbx
add rsi, r9
add rsi, r11
add rsi, r8
movabs r8, 0x8bc3ad7dfbd9a10e
xor r8, r14
add r8, r13
add r8, r10
add r8, rdx
lea rdx, [rsi + r8]
add rdx, 8
movabs r8, 0x1e7947a7bcf280b0
xor r8, r14
cmp rdx, r8
jbe 0x2011feb0
nop
mov r10d, dword [rbp + 0x3d0]
and r10d, dword [rbp + 0x308]
movzx edx, word [0x20416932]
mov r9d, dword [rbp + 0x3e0]
mov r8d, r9d
xor r8d, 0xffffb102
xor r9d, 0x4efd
add r9d, r8d
cmp r10d, 1
sbb r9w, 0xffff
sub edx, eax
and edx, r9d
movzx eax, dx
add qword [0x205728b0], rax
mov rax, qword [0x205728a0]
add rax, qword [rcx - 8]
movabs rdx, 0x861ae161c30d70b7
xor rdx, rdi
mov r8, rdx
xor r8, rcx
and rdx, rcx
add rdx, rdx
mov rcx, rdx
xor rcx, r8
and rdx, r8
add rdx, rdx
mov r8, rdx
xor r8, rcx
and rdx, rcx
movabs rcx, 0x51fcce45f5843c04
xor r14, rcx
movabs rcx, 0xb19de267f27bc3fb
xor r15, rcx
movabs rcx, 0xde0d647ce5117265
mov r9, qword [rbp + 0x380]
xor r9, rcx
movabs rcx, 0x5bd8ade9eaee8d9a
xor rcx, rdi
add rcx, r9
movabs r9, 0xe098a502c12cf96d
xor r9, rdi
add r9, r8
add r9, rcx
movabs rcx, 0x5a70cb2c3ed30692
xor r12, rcx
add r12, r14
add r12, r15
add r12, r9
lea rcx, [r12 + rdx*2]
sub rcx, rax
add rcx, 3
movabs rdx, 0xcf28f4f03cf28f6f
xor rbx, rdx
cmp rcx, rbx
jae 0x20120f8f
movabs rcx, 0x79e51e9e3cf28f67
xor rdi, rcx
mov rdx, qword [rbp + 0x300]
add rdx, rdi
mov rcx, rax
nop
mov r8, qword [0x20518988]
mov eax, dword [0x20518934]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
xor eax, eax
movaps xmm6, xmmword [rbp + 0x3f0]
add rsp, 0x488
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
nop
mov eax, dword [0x20518668]
mov r8d, dword [rbp + 0x3e0]
xor eax, r8d
cmp eax, 0xc52eb519
jne 0x2011ff28
nop
mov rax, qword [rbp + 0x310]
movsxd r9, dword [rax]
cmp dword [rbp + 0x350], 0
jle 0x2011fc12
add r9, rax
mov r8d, dword [rbp + 0x3e0]
jmp 0x2011ff44
mov eax, r8d
xor eax, 0xc30d70b3
cdqe
mov rdx, qword [rbp + 0x310]
lea rcx, [rdx + rax*4]
movsxd r9, dword [rdx + rax*4]
add r9, rcx
movabs rax, 0xe2b688f4483738a9
mov rcx, qword [rbp + 0x378]
xor rcx, rax
movabs rax, 0x605c700999ef5594
xor rax, qword [rbp + 0x360]
lea r15, [rax + rcx]
inc r15
movabs rax, 0x61d8c0818610aa6b
xor qword [rbp + 0x3a8], rax
mov rax, qword [rbp + 0x390]
xor rax, qword [rbp + 0x340]
movabs r14, 0x139240a20fc8c756
xor r14, rax
inc r14
mov edx, dword [0x2051866c]
xor edx, r8d
mov eax, dword [0x2051865c]
xor eax, r8d
mov dword [rbp + 0x3d8], eax
mov eax, r8d
xor eax, 0x8f4c
mov dword [rbp + 0x388], eax
mov r13d, r8d
xor r13d, 0x3cf28f47
lea eax, [r13 - 2]
mov dword [rbp + 0x2e0], eax
xor r8d, r8d
movabs r11, 0xdab41e276610aa6b
xor r11, qword [rbp + 0x3a0]
xor esi, esi
xor ebx, ebx
jmp 0x20120015
add r8d, 2
xor eax, esi
mov esi, eax
cmp r8d, dword [rbp + 0x350]
jge 0x2011fc14
movsxd rax, r8d
mov rdi, qword [rbp + 0x1a0]
lea r10, [r15 + r9]
sub r10, rdi
sub r10, rax
mov rcx, r11
xor rcx, r10
add rcx, r14
and r10, qword [rbp + 0x3a8]
lea r10, [rcx + r10*2]
cmp r10, 2
movzx eax, word [rdi + rax]
jge 0x2012015d
cmp dword [rbp + 0x3d8], 0xa883f297
jne 0x20120100
mov r9d, r10d
mov ecx, dword [rbp + 0x388]
sub r9d, ecx
imul r9d, ecx
shl r9d, cl
lea ecx, [r9*2 - 1]
mov edi, r9d
dec edi
neg cl
shl edi, cl
lea r9d, [rdi + rax]
imul r9d, edi
mov r12d, r9d
neg r12d
dec r9d
xor r12d, eax
not eax
sub r10d, r13d
imul r10d, r13d
mov ecx, r10d
xor ecx, r13d
and r10d, r13d
lea ecx, [rcx + r10*2]
mov r10d, ecx
xor r10d, 1
add ecx, ecx
and ecx, 0xfffffffc
sub r10d, ecx
mov ecx, r10d
xor ecx, 2
add ecx, r10d
not r10d
add r10d, r10d
and r10d, 4
sub ecx, r10d
add cl, 2
mov ebx, r8d
shl ebx, cl
and eax, r9d
or eax, r12d
mov r9d, r8d
mov ecx, ebx
shl r9d, cl
mov r10d, r8d
mov ecx, r9d
shl r10d, cl
not eax
add r8d, r10d
xor ebx, ebx
mov r10, qword [rbp + 0x310]
jmp 0x20120156
mov r9d, r10d
mov ecx, dword [rbp + 0x388]
shl r9d, cl
mov r12d, 0xffffffff
mov ecx, r9d
shl r12d, cl
mov r9d, r12d
not r9d
mov edi, r9d
mov ecx, r12d
and ecx, eax
and r9d, eax
not eax
and edi, eax
or ecx, edi
xor eax, r12d
or r9d, eax
not ecx
and ecx, r9d
inc ebx
add r8d, dword [rbp + 0x2e0]
add r8d, r10d
movsxd rax, ebx
mov r9, qword [rbp + 0x310]
lea r10, [r9 + rax*4]
mov eax, ecx
nop
movsxd r9, dword [r10]
add r9, r10
cmp edx, 0xbb864232
jne 0x20120000
mov ecx, eax
shl esi, cl
shl r8d, 2
mov ecx, 2
sub ecx, r8d
shl r8d, cl
xor esi, eax
add r8d, ecx
mov eax, esi
cmp dword [rbp + 0x350], r8d
jg 0x20120015
jmp 0x2011fc14
xor eax, eax
jmp 0x2011fed1
nop
mov eax, dword [rbp + 0x3e0]
xor eax, 0x3cf28f6f
or dword [rdi + 0x10], eax
mov rax, qword [rbp + 0x390]
xor rax, qword [rbp + 0x340]
movabs rcx, 0x1e7947a44f28f40
mov qword [rbp + 0x390], rax
xor rcx, rax
mov rax, qword [rbp + 0x3c8]
mov qword [rbp + 0x388], rcx
cmp qword [rdi + 0x320], rcx
jbe 0x201201eb
mov rax, qword [rdi + 0x308]
mov qword [rdi + 0x318], 0
mov byte [rax], 0
mov rdx, qword [rbp + 0x280]
lea rax, [rdx + rbp]
add rax, 0xffffffffffffffb0
mov qword [rbp + 0x3d8], rax
movabs r14, 0x1e7947a44f28f57
xor r14, qword [rbp + 0x390]
mov qword [rbp + r14 - 0x50], 0
movabs rax, 0x3cf28f4f3cf28f40
xor rax, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x398]
mov qword [rbp + rcx - 0x50], rax
mov byte [rbp + rdx - 0x50], 0
movzx eax, byte [0x20516cdd]
mov ecx, dword [rbp + 0x3e0]
mov r8d, ecx
xor r8b, 0xdb
cmp al, r8b
je 0x2012055f
mov eax, dword [rbp + 0x3e0]
mov ecx, eax
xor cl, 0x79
mov edx, eax
xor dl, 0xeb
nop dword [rax + rax]
mov eax, ecx
lock cmpxchg byte [0x20516cdd], dl
je 0x201204c7
cmp al, r8b
jne 0x20120280
jmp 0x2012055f
nop
mov eax, dword [rbp + 0x3e0]
xor eax, 0x3cf28f6f
or dword [rdi + 0x10], eax
movabs r14, 0x1e7947a7bcf28f40
xor r14, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x3c8]
cmp qword [rdi + 0x320], r14
jbe 0x201202d1
mov rax, qword [rdi + 0x308]
mov qword [rdi + 0x318], 0
mov byte [rax], 0
movabs rax, 0x79e51e9dcf28f47
xor rax, qword [rbp + 0x3a8]
lea rcx, [rax + rbp]
add rcx, 0xffffffffffffffb0
mov qword [rbp + 0x3d8], rcx
movabs r15, 0x1e7947a7bcf28f57
xor r15, qword [rbp + 0x3b8]
mov qword [rbp + r15 - 0x50], 0
movabs rsi, 0x3cf28f4f3cf28f40
xor rsi, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x370]
mov qword [rbp + rcx - 0x50], rsi
mov byte [rbp + rax - 0x50], 0
movzx eax, byte [0x20516c60]
mov ecx, dword [rbp + 0x3e0]
mov r8d, ecx
xor r8b, 0x9e
cmp al, r8b
je 0x2012093e
mov eax, dword [rbp + 0x3e0]
mov ecx, eax
xor cl, 0xc1
mov edx, eax
xor dl, 0xa6
nop dword [rax + rax]
mov eax, ecx
lock cmpxchg byte [0x20516c60], dl
je 0x201208ce
cmp al, r8b
jne 0x20120370
jmp 0x2012093e
nop
mov eax, dword [rbp + 0x3e0]
xor eax, 0x3cf28f6f
or dword [rdi + 0x10], eax
movabs rax, 0x6ebed6abb951ed1a
xor rax, qword [rbp + 0x378]
movabs rcx, 0xcde70f357b734b81
xor rcx, qword [rbp + 0x360]
movabs rdx, 0x99e3db6e66ae12e5
mov r8, qword [rbp + 0x3a8]
xor rdx, r8
add rdx, rax
movabs rax, 0x4c63bfbd648cb47e
xor rax, r8
add rax, qword [0x205728b0]
add rax, qword [rdi + 0x320]
add rdx, rcx
lea rcx, [rdx + rax]
add rcx, 2
mov rax, qword [rbp + 0x3c8]
cmp rcx, qword [rbp + 0x348]
jbe 0x2012040f
mov rax, qword [rdi + 0x308]
mov qword [rdi + 0x318], 0
mov byte [rax], 0
movabs rax, 0x79e51e9dcf28f47
xor rax, qword [rbp + 0x3a8]
lea rcx, [rax + rbp]
add rcx, 0xffffffffffffffb0
mov qword [rbp + 0x3d8], rcx
movabs r14, 0x1e7947a7bcf28f57
xor r14, qword [rbp + 0x3b8]
movabs rdx, 0xe7947a783cf28f6f
xor rdx, qword [rbp + 0x368]
mov qword [rbp + r14 - 0x50], 0
mov rcx, qword [rbp + 0x2f8]
mov qword [rbp + 0x388], rdx
mov qword [rbp + rdx - 0x50], rcx
mov byte [rbp + rax - 0x50], 0
movzx eax, byte [0x20516c2d]
mov ecx, dword [rbp + 0x3e0]
mov r8d, ecx
xor r8b, 0xb
cmp al, r8b
je 0x20120d17
mov eax, dword [rbp + 0x3e0]
mov ecx, eax
xor cl, 0xce
mov edx, eax
xor dl, 0x6b
mov eax, ecx
lock cmpxchg byte [0x20516c2d], dl
je 0x20120c88
cmp al, r8b
jne 0x201204ad
jmp 0x20120d17
nop
mov r9d, dword [rbp + 0x3e0]
mov ecx, r9d
xor ecx, 0x90ef7757
mov esi, r9d
xor esi, 0x3cf28f74
mov eax, r9d
xor eax, 0x4b9cc97f
mov r10d, r9d
xor r10d, 0xb4633680
add r10d, eax
add r10d, esi
mov eax, r9d
xor eax, 0x3cf28f72
cmp eax, 2
mov r11d, 1
cmovge r11d, eax
xor r15d, r15d
lea r12, [0x20516ca0]
lea r13, [0x204166f0]
nop
lea eax, [rcx + r15]
xor edx, edx
div esi
mov eax, r10d
sub eax, edx
movzx edx, byte [r15 + r12]
cdqe
movzx eax, byte [rax + r13]
xor al, r9b
xor al, dl
mov ebx, eax
xor bl, 0x3d
xor al, 0x42
and al, dl
add al, al
add al, bl
mov byte [r15 + r12], al
inc r15
cmp r11, r15
jne 0x20120520
nop
xchg byte [0x20516cdd], r8b
movabs rdx, 0xf3ca3d3c3cf28f73
xor rdx, qword [rbp + 0x338]
mov rcx, qword [0x20518948]
mov eax, dword [0x20518924]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea r9, [0x20516ca0]
mov rsi, qword [rbp + 0x3d8]
mov rcx, rsi
call qword [case.0x200c7fcc.0]
lea rax, [0x20411008]
mov qword [rbp - 0x50], rax
mov r8, qword [rbp + r14 - 0x50]
movabs rax, 0x79e51e9dcf28f40
xor rax, qword [rbp + 0x3a8]
mov r9, rsi
mov rcx, qword [rbp + 0x398]
cmp qword [rbp + rcx - 0x50], rax
jbe 0x201205db
mov rax, qword [rbp + 0x3d8]
mov r9, qword [rax]
mov rcx, qword [rdi + 0x318]
mov rax, qword [rdi + 0x320]
movabs rdx, 0x30155113d23be7fc
mov r14, qword [rbp + 0x390]
xor rdx, r14
xor rdx, rax
movabs r10, 0x4131994195c41803
mov r15, qword [rbp + 0x378]
xor r10, r15
xor r10, rax
movabs r11, 0x7eda3199aa3be7fc
mov rbx, qword [rbp + 0x358]
xor r11, rbx
and r11, r10
movabs r10, 0xcdc21262a5c41803
xor r10, qword [rbp + 0x380]
sub r10, rcx
add r10, rdx
lea rdx, [r10 + r11*2]
inc rdx
cmp rdx, r8
jae 0x2012066b
nop
mov qword [rsp + 0x20], r8
mov rcx, qword [rbp + 0x3c8]
mov rdx, r8
call fcn.200ca6c0
jmp 0x20120736
movabs rdx, 0xb9e42554a2e3d9ae
xor rdx, rbx
movabs r10, 0x88d4ba21251c2651
xor r10, r14
add r10, rdx
movabs rdx, 0x27a7105a06f8c9cd
mov r11, qword [rbp + 0x338]
xor r11, rdx
movabs rdx, 0x5859ecbc51d2a86f
xor rdx, r15
add rdx, r11
add rdx, r10
movabs r10, 0xaf04e1798e2d5790
mov rbx, qword [rbp + 0x3a8]
xor rbx, r10
movabs r10, 0x17605dd6f9073632
xor r10, qword [rbp + 0x3a0]
add rbx, r10
add rbx, rdx
add rbx, r8
lea rdx, [rcx + rbx]
add rdx, 3
mov qword [rdi + 0x318], rdx
add rbx, rcx
cmp rax, qword [rbp + 0x348]
jbe 0x20120706
mov rax, qword [rdi + 0x308]
mov qword [rbp + 0x3c8], rax
mov rsi, qword [rbp + 0x3c8]
add rcx, rsi
mov rdx, qword [0x20518940]
mov eax, dword [0x20518920]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov rdx, r9
call qword [case.0x200c7fcc.0]
mov byte [rsi + rbx + 3], 0
nop
mov rax, qword [rbp + 0x398]
mov rax, qword [rbp + rax - 0x50]
cmp rax, qword [rbp + 0x388]
jbe 0x201208c7
nop
mov rcx, qword [rbp + 0x3d8]
mov rcx, qword [rcx]
movabs rdx, 0x8de1305648976bd7
mov r10, qword [rbp + 0x358]
xor rdx, r10
movabs r8, 0x5c75d5bb8d554d9e
xor r8, r10
movabs r9, 0x6f6df64082aab261
mov rsi, qword [rbp + 0x380]
xor rsi, r9
add rsi, rdx
movabs rdx, 0xb673a7b736f72b16
mov r11, qword [rbp + 0x3b8]
xor r11, rdx
add r11, r8
add r11, rsi
movabs rdx, 0x6c84f9b1b6b0df54
mov r9, qword [rbp + 0x390]
xor rdx, r9
movabs r8, 0xbcd1af23cf689428
xor r8, r9
add r8, rdx
movabs rdx, 0xae6e1d7b314f20ab
mov rdi, qword [rbp + 0x3a0]
xor rdx, rdi
movabs r9, 0xb6fe0204ae6d0933
mov rsi, qword [rbp + 0x368]
xor r9, rsi
add r9, r8
add r9, r11
movabs r8, 0x98ddeb1f4908d4e9
xor r8, r10
add r8, rdx
movabs rdx, 0xa1a924509192f6cc
mov r10, qword [rbp + 0x378]
xor r10, rdx
add r10, rax
add r10, r8
lea rdx, [r9 + r10]
add rdx, 6
movabs r8, 0x3cf28f4f3cf280b0
xor r8, rdi
cmp rdx, r8
jbe 0x201208a8
nop
mov r8, qword [rcx - 8]
movabs rdx, 0x861ae161c30d70b7
mov r10, qword [rbp + 0x360]
xor rdx, r10
movabs r9, 0x33598b65ed08a15f
xor rsi, r9
movabs r9, 0x17c081ad12f75ea0
xor rdi, r9
add rdi, rdx
add rdi, rsi
add rdi, rcx
sub rdi, r8
inc rdi
cmp rdi, qword [rbp + 0x398]
jae 0x20120ff6
movabs rcx, 0x79e51e9e3cf28f67
xor r10, rcx
add rax, r10
mov rdx, rax
mov rcx, r8
nop
mov r8, qword [0x20518988]
mov eax, dword [0x20518934]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
xor eax, eax
jmp 0x2011fed1
nop
mov ebx, dword [rbp + 0x3e0]
mov ecx, ebx
xor ecx, 0x2d61f9e9
mov r9d, ebx
xor r9d, 0x3cf28f7f
cmp r9d, 2
mov r10d, 1
cmovge r10d, r9d
xor r11d, r11d
lea r12, [0x20516c30]
lea r13, [0x20416690]
nop word cs:[rax + rax]
lea eax, [rcx + r11]
xor edx, edx
div r9d
not edx
add edx, r9d
movsxd rax, edx
movzx eax, byte [rax + r13]
xor al, bl
xor al, 0x22
add byte [r11 + r12], al
inc r11
cmp r10, r11
jne 0x20120910
nop
xchg byte [0x20516c60], r8b
movabs rdx, 0x1e7947a7bcf28f60
xor rdx, qword [rbp + 0x3b8]
mov rcx, qword [0x20518948]
mov eax, dword [0x20518924]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea r9, [0x20516c30]
mov rbx, qword [rbp + 0x3d8]
mov rcx, rbx
call qword [case.0x200c7fcc.0]
lea rax, [0x20411008]
mov qword [rbp - 0x50], rax
mov r8, qword [rbp + r15 - 0x50]
mov rax, qword [rbp + 0x370]
cmp qword [rbp + rax - 0x50], r14
jbe 0x201209a6
mov rax, qword [rbp + 0x3d8]
mov rbx, qword [rax]
mov rcx, qword [rdi + 0x318]
mov rax, qword [rdi + 0x320]
mov r10, qword [rbp + 0x390]
xor r10, qword [rbp + 0x340]
movabs rdx, 0x582cfcb90e9e454
mov r15, r10
xor rdx, r10
movabs r10, 0xf8558cbae7161bab
xor r10, qword [rbp + 0x380]
add r10, rdx
sub r10, rcx
lea rdx, [r10 + rax]
inc rdx
cmp rdx, r8
jae 0x20120a0f
nop
mov qword [rsp + 0x20], r8
mov rcx, qword [rbp + 0x3c8]
mov rdx, r8
mov r9, rbx
call fcn.200ca6c0
jmp 0x20120a75
mov rdx, rcx
xor rdx, r8
mov r10, rcx
and r10, r8
add r10, r10
mov r11, r10
xor r11, rdx
and r10, rdx
lea r14, [r11 + r10*2]
mov qword [rdi + 0x318], r14
cmp rax, rsi
jbe 0x20120a45
mov rax, qword [rdi + 0x308]
mov qword [rbp + 0x3c8], rax
mov rsi, qword [rbp + 0x3c8]
add rcx, rsi
mov rdx, qword [0x20518940]
mov eax, dword [0x20518920]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov rdx, rbx
call qword [case.0x200c7fcc.0]
mov byte [rsi + r14], 0
nop
mov rax, qword [rbp + 0x370]
mov rax, qword [rbp + rax - 0x50]
cmp rax, qword [rbp + 0x348]
jbe 0x20120c81
movabs rdx, 0xe9b0f070b05e648
xor rdx, qword [rbp + 0x368]
movabs rcx, 0x889cd2774fa19b7
mov r8, qword [rbp + 0x3b8]
xor r8, rcx
movabs rcx, 0x31edf14d642139dc
mov r9, qword [rbp + 0x378]
xor rcx, r9
add r8, rcx
movabs rcx, 0xfddc222e5bdec623
mov r11, qword [rbp + 0x3a0]
xor rcx, r11
add rcx, rdx
add rcx, r8
sub rcx, rax
add rcx, 2
movabs rdx, 0xd294b82420713c9e
mov r10, qword [rbp + 0x360]
xor rdx, r10
movabs r8, 0x97b9fdefd1b54790
xor r8, r9
add r8, rdx
movabs rdx, 0x669d35b9964ab86f
xor rdx, r15
add r8, rdx
movabs rdx, 0x5bb2fa961f8ec361
xor rdx, r9
add rdx, r8
inc rdx
mov r8, rcx
xor r8, rdx
and rcx, rdx
movabs r9, 0x3ea44653e97bfa47
xor r9, r10
movabs rdx, 0x432da5e05591cfc3
xor rdx, r11
add rdx, r9
movabs r9, 0x83effda45a6e303c
xor r9, qword [rbp + 0x380]
add rdx, r9
movabs r9, 0xbf20f6dbf68405b8
xor r9, qword [rbp + 0x3a8]
add rdx, r9
lea rcx, [r8 + rcx*2]
sub rdx, rcx
movabs rcx, 0xcf28f4f03cf280b0
mov r8, qword [rbp + 0x358]
xor r8, rcx
add rdx, 2
cmp rdx, r8
mov rcx, qword [rbp + 0x3d8]
mov rcx, qword [rcx]
jbe 0x20120c62
nop
mov r8, qword [rcx - 8]
cmp byte [0x205728a8], 0
jne 0x20120c55
movabs rdx, 0xc127ccb7797ebbb
mov r9, qword [rbp + 0x378]
xor r9, rdx
movabs rdx, 0xfc30d70b330d70b7
mov r10, qword [rbp + 0x380]
xor r10, rdx
add r10, r9
movabs rdx, 0xf1b1ddb48681444
mov r9, qword [rbp + 0x338]
xor r9, rdx
movabs rdx, 0x71e1dbdd90cefa69
mov r11, qword [rbp + 0x3a8]
xor r11, rdx
add r11, r9
movabs rdx, 0x8867e1b1f7310596
xor r15, rdx
add r15, r10
add r11, rcx
add r11, r15
sub r11, r8
add r11, 2
movabs rcx, 0xe7947a783cf28f6f
mov rdx, qword [rbp + 0x368]
xor rdx, rcx
cmp r11, rdx
jae 0x20120ff1
add rax, qword [rbp + 0x270]
mov rdx, rax
mov rcx, r8
nop
mov r8, qword [0x20518988]
mov eax, dword [0x20518934]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
xor eax, eax
jmp 0x2011fed1
nop
mov eax, dword [rbp + 0x3e0]
mov ecx, eax
xor ecx, 0x92448cd8
mov r9d, eax
xor r9d, 0x3cf28f75
mov r10d, eax
xor r10b, 0xe0
mov r11d, eax
xor r11b, 0x1f
xor eax, 0x3cf28f72
cmp eax, 2
mov r15d, 1
cmovge r15d, eax
xor r12d, r12d
lea r13, [0x20516bf0]
lea rbx, [0x20416650]
xor r10b, r11b
lea eax, [rcx + r12]
xor edx, edx
div r9d
lea eax, [rdx + rdx]
and eax, 2
mov esi, edx
xor esi, eax
xor esi, 0xfffffffe
add esi, r9d
and eax, edx
add eax, eax
sub esi, eax
inc esi
movsxd rax, esi
movzx eax, byte [rax + rbx]
and al, r10b
xor al, r11b
xor byte [r12 + r13], al
inc r12
cmp r15, r12
jne 0x20120cd5
nop
xchg byte [0x20516c2d], r8b
nop
mov rax, qword [rbp + 0x390]
xor rax, qword [rbp + 0x340]
movabs rdx, 0x1e7947a44f28f73
mov rsi, rax
xor rdx, rax
mov rcx, qword [0x20518948]
mov eax, dword [0x20518924]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rcx
lea r9, [0x20516bf0]
mov rbx, qword [rbp + 0x3d8]
mov rcx, rbx
call qword [case.0x200c7fcc.0]
lea rax, [0x20411008]
mov qword [rbp - 0x50], rax
mov r8, qword [rbp + r14 - 0x50]
movabs rax, 0x79e51e9e3cf28f40
mov rcx, qword [rbp + 0x360]
xor rcx, rax
mov r9, rbx
mov r10, rcx
mov r14, qword [rbp + 0x388]
cmp qword [rbp + r14 - 0x50], rcx
jbe 0x20120da7
mov rax, qword [rbp + 0x3d8]
mov r9, qword [rax]
mov rcx, qword [rdi + 0x318]
mov rax, qword [rdi + 0x320]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x20120dda
nop
mov qword [rsp + 0x20], r8
mov rcx, qword [rbp + 0x3c8]
mov rdx, r8
call fcn.200ca6c0
jmp 0x20120e5c
movabs rdx, 0x9af65dd051652d41
mov r11, qword [rbp + 0x3a8]
xor r11, rdx
movabs rdx, 0x850389be4e9ad2be
mov rbx, qword [rbp + 0x368]
xor rbx, rdx
add rbx, r11
add rbx, r8
lea rdx, [rcx + rbx]
inc rdx
add rbx, rcx
mov qword [rdi + 0x318], rdx
cmp rax, r10
jbe 0x20120e2c
mov rax, qword [rdi + 0x308]
mov qword [rbp + 0x3c8], rax
mov rdi, qword [rbp + 0x3c8]
add rcx, rdi
mov rdx, qword [0x20518940]
mov eax, dword [0x20518920]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, rdx
mov rdx, r9
call qword [case.0x200c7fcc.0]
mov byte [rdi + rbx + 1], 0
nop
mov rax, qword [rbp + r14 - 0x50]
movabs rcx, 0x1e7947a44f28f40
xor rcx, rsi
cmp rax, rcx
ja 0x20120e82
nop
test byte [0x20572898], 1
je 0x20120f88
nop
mov rcx, qword [rbp + 0x3d8]
mov rcx, qword [rcx]
mov rdx, rax
xor rdx, 1
lea r8d, [rax + rax]
and r8d, 2
mov r9d, eax
not r9d
mov r10, r8
not r10
and r10, rdx
and r9d, r8d
or r9, r10
and r8d, eax
lea rdx, [r9 + r8*2]
movabs r8, 0xf3ca3d3fcf280b0
mov r11, qword [rbp + 0x378]
xor r8, r11
cmp rdx, r8
jbe 0x20120f69
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xf0c35c2c030d70b7
xor rdx, r11
movabs r9, 0x401c7abe9ff00c77
mov r10, qword [rbp + 0x358]
xor r10, r9
add r10, rdx
movabs rdx, 0xed90308df0100517
xor rdx, r11
add rdx, r10
movabs r9, 0x712ce5cb180ff388
xor rsi, r9
movabs r9, 0xee99519dcfeffae8
mov r10, qword [rbp + 0x338]
xor r10, r9
add r10, rsi
add r10, rcx
add r10, rdx
sub r10, r8
add r10, 2
cmp r10, qword [rbp + 0x370]
jae 0x20120ffb
movabs rcx, 0x1e7947a7bcf28f67
mov rdx, qword [rbp + 0x3b8]
xor rdx, rcx
add rax, rdx
mov rdx, rax
mov rcx, r8
nop
mov r8, qword [0x20518988]
mov eax, dword [0x20518934]
sub eax, dword [rbp + 0x3e4]
cdqe
add rax, r8
call qword [case.0x200c7fcc.0]
xor eax, eax
jmp 0x2011fed1
call fcn.20077cd0
call fcn.20077cd0
nop
mov edi, dword [rbp + 0x3e0]
mov ecx, edi
xor ecx, 0xf245d36b
mov rdx, qword [0x20518978]
mov eax, dword [0x2051891c]
mov esi, dword [rbp + 0x3e4]
sub eax, esi
cdqe
add rax, rdx
call qword [case.0x200c7fcc.0]
xor edi, 0x626e3bda
mov rcx, qword [0x205189b0]
mov eax, dword [0x20518900]
sub eax, esi
cdqe
add rax, rcx
lea rcx, [0x20516e70]
mov edx, edi
call qword [case.0x200c7fcc.0]
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
int3