Function at 0x2038d110
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], 0xfffffffffffffffe
mov byte [rbp + 0x137], r9b
mov byte [rbp + 0x11f], r8b
mov qword [rbp + 0xa8], rdx
mov rsi, rcx
call fcn.20390030
mov rcx, qword [0x205612b8]
mov edx, dword [0x2056126c]
mov r8d, 0xdc1e
sub r8d, eax
mov dword [rbp + 0x13c], r8d
sub edx, r8d
movsxd rax, edx
add rax, rcx
call qword [case.0x200c7fcc.0]
mov r14, qword [rsi + 0x10]
mov rdx, r14
not rdx
mov dword [rbp + 0x138], eax
mov r13d, eax
mov r8, r13
shl r8, 0x21
or r8, r13
movabs rcx, 0xa2182528510c1297
xor rcx, r8
and rcx, rdx
mov rdx, r13
shl rdx, 0x1d
xor rdx, r13
movabs rax, 0xf5de7dad2ef3ed68
xor rax, r14
mov qword [rbp + 0x120], rdx
xor rax, rdx
or rax, rcx
mov qword [rbp + 0x128], r8
xor rax, r8
movabs rcx, 0x22182528510c1297
cmp rax, rcx
je 0x2038f67b
nop
mov rax, qword [0x20561138]
mov qword [rbp + 0x78], rax
movsxd rax, dword [rax]
mov qword [rbp + 0x80], rax
mov rcx, r13
shl rcx, 0x20
or rcx, r13
mov eax, dword [0x204392b8]
mov dword [rbp + 0x90], eax
mov rax, qword [0x20561140]
mov qword [rbp + 0xe0], rax
movsxd rax, dword [rax]
mov qword [rbp + 0x70], rax
mov r15, qword [rsi]
mov qword [rbp + 0x68], rsi
mov rax, qword [rsi + 0x18]
mov qword [rbp + 0xd8], rax
movabs rax, 0x43751c5658125f15
mov qword [rbp + 0xf8], rcx
xor rax, rcx
mov rdx, r13
shl rdx, 0x23
or rdx, r13
movabs r9, 0x886094a0510c1290
xor r9, rdx
mov r8, r13
shl r8, 0x22
or r8, r13
movabs rcx, 0xa9b6bb6da7eda0ea
mov qword [rbp + 0xe8], r8
xor rcx, r8
mov qword [rbp - 0x30], r9
add rcx, r9
add rcx, rax
lea r12, [r14 + rcx]
inc r12
movabs r8, 0x886094a0510c129b
mov qword [rbp + 0x108], rdx
xor r8, rdx
cmp r12, r8
nop
mov qword [rbp - 0x18], r8
jbe 0x2038d353
test r12, r12
js 0x2038d364
mov rax, r12
not rax
movabs rcx, 0x779f6b5faef3ed64
xor rcx, qword [rbp + 0x108]
and rcx, rax
mov rax, qword [rbp + 0x128]
xor rax, r12
movabs rdx, 0xa2182528510c129b
xor rax, rdx
or rax, rcx
not rax
mov rdx, r12
xor rdx, r8
or rdx, rax
cmp rdx, 0x17
mov esi, 0x16
cmovae rsi, rdx
lea rcx, [rsi + 1]
movabs rax, 0x510c1294510c1d6a
xor rax, qword [rbp + 0xf8]
cmp rdx, rax
ja 0x2038d378
nop
mov rdx, qword [0x20561288]
mov eax, dword [0x20561254]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, rdx
call qword [case.0x200c7fcc.0]
mov rdi, rax
jmp 0x2038d459
mov esi, 0xf
lea rdi, [rbp + 0xb8]
jmp 0x2038d461
movabs rsi, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
mov rbx, r13
shl rbx, 0x24
or rbx, r13
movabs rdi, 0x10c12940510c12b3
xor rdi, rbx
add rcx, rdi
mov rdx, qword [0x20561288]
mov eax, dword [0x20561254]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, rdx
call qword [case.0x200c7fcc.0]
mov rcx, r13
shl rcx, 0x1f
xor rcx, r13
movabs rdx, 0xd779f6b5aef3ed4c
xor rdx, rcx
movabs r8, 0x44304a50510c12b3
xor r8, qword [rbp + 0xe8]
xor r8, rdx
and r8, rax
xor r8, rdx
movabs rcx, 0x6f3ed6bfaef3ed4c
xor rcx, rbx
xor rcx, r8
and rcx, r8
mov rdx, r13
shl rdx, 0x1c
movabs r8, 0x7c0fcb22862200a5
xor r8, r13
xor r8, rdx
mov rdx, r13
shl rdx, 0x1e
xor rdx, r13
movabs r9, 0x92a3f15139ddff5a
xor r9, rdx
add r9, r8
xor rdi, rax
sub r9, rdi
add rcx, rcx
sub r9, rcx
movabs rcx, 0xebbcfb5aaef3ed74
xor rcx, rdx
xor rcx, r9
movabs rdi, 0xf5de7dad2ef3ed74
xor rdi, qword [rbp + 0x120]
and rdi, rcx
mov qword [rdi - 8], rax
nop
mov qword [rbp + 0xb8], rdi
mov rax, r13
shl rax, 0x1b
xor rax, r13
movabs rcx, 0x2886094f10c129b
mov qword [rbp + 0x100], rax
xor rcx, rax
mov qword [rbp - 0x10], rcx
cmp qword [rbp + 0xd8], rcx
cmovbe r15, qword [rbp + 0x68]
mov qword [rbp + 0xc8], r12
mov qword [rbp + 0xd0], rsi
mov rcx, qword [0x20561298]
mov eax, dword [0x20561258]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, rcx
mov rcx, rdi
mov rdx, r15
mov r8, r14
call qword [case.0x200c7fcc.0]
mov eax, dword [rbp + 0x138]
xor eax, 0x7c7862bb
mov dword [rbp + 0x20], eax
mov dword [rdi + r14], eax
mov byte [rdi + r12], 0
mov rax, qword [rbp + 0xa8]
mov r8, qword [rax + 0x10]
movabs rcx, 0xa218252d10c129b
xor rcx, qword [rbp + 0x120]
mov r9, rax
mov qword [rbp + 0x40], rcx
cmp qword [rax + 0x18], rcx
jbe 0x2038d507
mov r9, qword [rax]
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
movabs rbx, 0x510c129110c129b
jae 0x2038d556
nop
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
lea r8, [rbp + 0xb8]
mov ecx, 0x609c9ff7
xor edx, edx
call fcn.20390f50
mov r14, rax
mov ebx, dword [rbp + 0x13c]
jmp 0x2038d63d
movabs r10, 0xb1f5438b70552f6b
xor r10, qword [rbp + 0x120]
movabs r11, 0x46a35eb2afaad094
xor r11, qword [rbp + 0x100]
mov rdx, r13
shl rdx, 0x1c
xor rdx, r13
movabs rsi, 0x9c07effabf45a1a4
xor rsi, rdx
add rsi, r10
movabs r10, 0x58f1418d2376bc2a
xor r10, rdx
add r10, r11
movabs r11, 0x65a739c8943d5
xor r11, rcx
xor r11, qword [rbp + 0x128]
add r10, rsi
movabs rdi, 0xee88458c00ba5e5b
mov rsi, qword [rbp + 0x108]
xor rdi, rsi
add rdi, r8
add rdi, r11
movabs r11, 0x2a7eebfb9c8943d5
xor r11, rsi
and r11, rcx
add rdi, r10
lea rsi, [rdi + r11*2]
lea r10, [rdi + r11*2]
add r10, 3
mov qword [rbp + 0xc8], r10
xor rdx, rbx
lea r14, [rbp + 0xb8]
mov rdi, r14
cmp rax, rdx
jbe 0x2038d612
mov rdi, qword [rbp + 0xb8]
add rcx, rdi
mov rdx, qword [0x20561290]
mov eax, dword [0x20561264]
mov ebx, dword [rbp + 0x13c]
sub eax, ebx
cdqe
add rax, rdx
mov rdx, r9
call qword [case.0x200c7fcc.0]
mov byte [rdi + rsi + 3], 0
movabs r8, 0xa2182528510c12b4
mov rsi, qword [rbp + 0x128]
xor r8, rsi
mov rcx, qword [0x20561298]
mov eax, dword [0x20561258]
sub eax, ebx
cdqe
add rax, rcx
lea r15, [rbp + 0x48]
mov rcx, r15
mov rdx, r14
mov qword [rbp - 0x20], r8
call qword [case.0x200c7fcc.0]
mov qword [r14 + 0x10], 0
movabs rax, 0x44304a50510c129b
mov r9, qword [rbp + 0xe8]
xor rax, r9
mov qword [rbp - 0x28], rax
mov qword [r14 + 0x18], rax
mov byte [r14], 0
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x60]
movabs rdx, 0x430ec5ca338a8515
xor rdx, qword [rbp + 0x120]
mov r10, r13
shl r10, 0x1e
xor r10, r13
movabs r8, 0xa293bcc24c757aea
mov qword [rbp + 0x110], r10
xor r8, r10
add r8, rdx
sub r8, rcx
lea rdx, [r8 + rax]
inc rdx
mov r10, r13
shl r10, 0x1c
xor r10, r13
movabs r8, 0x510c129110c1298
mov qword [rbp + 0xf0], r10
xor r8, r10
cmp rdx, r8
movabs r10, 0x2886094a510c129b
jae 0x2038d75a
nop
movzx eax, byte [0x20560fcd]
mov ecx, dword [rbp + 0x138]
mov r8d, ecx
xor r8b, 0xd
cmp al, r8b
je 0x2038d89b
mov eax, dword [rbp + 0x138]
mov ecx, eax
xor cl, 0x9a
mov edx, eax
xor dl, 0xed
mov eax, ecx
lock cmpxchg byte [0x20560fcd], dl
je 0x2038d80b
cmp al, r8b
jne 0x2038d740
jmp 0x2038d89b
movabs rdx, 0xf1c6a9ae1b405802
xor rdx, r9
movabs r8, 0xa2182528510c1298
xor r8, rsi
add r8, rdx
mov rdx, r13
shl rdx, 0x24
or rdx, r13
movabs r9, 0x5ac83541e4bfa7fd
xor r9, rdx
add r9, r8
lea rsi, [rcx + r9]
inc rsi
mov qword [rbp + 0x58], rsi
mov rdx, r13
shl rdx, 0x1f
mov r8, r13
xor r8, r10
xor r8, rdx
cmp rax, r8
jbe 0x2038d7b5
mov r15, qword [rbp + 0x48]
add rcx, r15
movzx eax, byte [0x20560fcd]
mov edx, dword [rbp + 0x138]
mov r8d, edx
xor r8b, 0xd
cmp al, r8b
je 0x2038d96e
mov eax, dword [rbp + 0x138]
mov edx, eax
xor dl, 0x9a
mov r9d, eax
xor r9b, 0xed
nop word [rax + rax]
mov eax, edx
lock cmpxchg byte [0x20560fcd], r9b
je 0x2038d8f3
cmp al, r8b
jne 0x2038d7f0
jmp 0x2038d96e
mov edi, dword [rbp + 0x138]
mov ecx, edi
xor ecx, 0x5638ce79
mov r9d, edi
xor r9d, 0x510c129f
mov r10d, edi
xor r10b, 0x24
mov r11d, edi
xor r11b, 0xdb
mov esi, edi
xor esi, 0x25fa2260
xor edi, 0x510c1299
xor ebx, ebx
lea r14, [0x20560fc0]
lea r15, [0x20439400]
xor r11b, r10b
nop word cs:[rax + rax]
lea eax, [rbx + rcx]
xor edx, edx
div r9d
not edx
add edx, r9d
movsxd rax, ebx
movsxd rdx, edx
movzx edx, byte [rdx + r15]
and dl, r11b
xor dl, r10b
add byte [rax + r14], dl
mov edx, eax
xor edx, esi
and eax, esi
sub edx, esi
lea ebx, [rdx + rax*2]
inc ebx
cmp ebx, edi
jl 0x2038d860
nop
xchg byte [0x20560fcd], r8b
movabs rax, 0xa218252d10c1298
xor rax, qword [rbp + 0x120]
mov rcx, r13
shl rcx, 0x1f
xor rcx, r13
movabs rdx, 0x2886094a510c1298
xor rdx, rcx
nop
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
lea r9, [0x20560fc0]
lea r8, [rbp + 0x48]
mov ecx, 0x609c9ff7
xor edx, edx
call fcn.20390f50
mov rdi, rax
mov ebx, dword [rbp + 0x13c]
jmp 0x2038d9af
nop
mov r12d, dword [rbp + 0x138]
mov r9d, r12d
xor r9d, 0x5638ce79
mov r10d, r12d
xor r10d, 0x510c129f
mov eax, r12d
xor eax, 0x510c1299
cmp eax, 2
mov r11d, 1
cmovge r11d, eax
xor edi, edi
lea rbx, [0x20560fc0]
lea r14, [0x20439400]
nop word cs:[rax + rax]
lea eax, [r9 + rdi]
xor edx, edx
div r10d
not edx
add edx, r10d
movsxd rax, edx
movzx eax, byte [rax + r14]
xor al, r12b
xor al, 0x24
add byte [rdi + rbx], al
inc rdi
cmp r11, rdi
jne 0x2038d940
nop
xchg byte [0x20560fcd], r8b
movabs r8, 0x2886094f10c1298
xor r8, qword [rbp + 0x100]
mov rdx, qword [0x20561298]
mov eax, dword [0x20561258]
mov ebx, dword [rbp + 0x13c]
sub eax, ebx
cdqe
add rax, rdx
lea rdx, [0x20560fc0]
call qword [case.0x200c7fcc.0]
mov byte [r15 + rsi], 0
lea rdi, [rbp + 0x48]
movabs r8, 0x510c129110c12b4
xor r8, qword [rbp + 0xf0]
mov rcx, qword [0x20561298]
mov eax, dword [0x20561258]
sub eax, ebx
cdqe
add rax, rcx
lea rcx, [rbp - 0x50]
mov rdx, rdi
call qword [case.0x200c7fcc.0]
mov qword [rdi + 0x10], 0
mov rax, r13
shl rax, 0x24
or rax, r13
movabs rsi, 0x10c12940510c129b
mov qword [rbp + 0x88], rax
xor rsi, rax
mov qword [rdi + 0x18], rsi
mov byte [rdi], 0
mov rax, qword [rbp + 0x60]
mov rcx, r13
shl rcx, 0x1f
xor rcx, r13
mov qword [rbp + 0xb0], rcx
movabs rdx, 0x2886094a510c129b
xor rdx, rcx
mov qword [rbp + 0xa0], rdx
cmp rax, rdx
jbe 0x2038dc2c
movabs rcx, 0xa449f6b061f9df9d
xor rcx, qword [rbp + 0x120]
movabs rdx, 0x1007a6716bdac4b
xor rdx, qword [rbp + 0xf8]
movabs r8, 0xfa66cdd27250ea65
mov r14, qword [rbp + 0x88]
xor r8, r14
movabs r9, 0x531feb89be062062
xor r9, qword [rbp + 0x100]
add r9, rcx
movabs rcx, 0x1d9664704fe447ca
mov r10, qword [rbp + 0x108]
xor rcx, r10
add rcx, rdx
movabs rdx, 0xdebb224e94253b4
mov r11, qword [rbp + 0x128]
xor rdx, r11
add rcx, r8
movabs r8, 0xb7403e458daf159a
xor r8, r11
add r8, rdx
add r8, r9
add r8, rcx
movabs rcx, 0xc8112a07b01bb835
xor rcx, r11
add rcx, rax
lea rdx, [r8 + rcx]
add rdx, 5
movabs rcx, 0x144304a5510c1d6b
mov rbx, qword [rbp + 0x110]
xor rcx, rbx
cmp rdx, rcx
mov rcx, qword [rbp + 0x48]
jbe 0x2038dbff
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xce3dbf4697b162d1
xor rdx, r10
movabs r9, 0x46231b2725579593
xor r9, rbx
movabs r10, 0xebbcfb5aaef3ed6c
xor r10, rbx
movabs r11, 0xbd5ec93ddaa86a6c
xor r11, r14
add r11, r10
movabs r10, 0xa1971713626561cb
xor r10, qword [rbp + 0xb0]
movabs rdi, 0xfd929e49684e9d2e
xor rdi, qword [rbp + 0xe8]
add rdi, r9
add rdi, r10
movabs r9, 0x73fe208fdd9a9e34
mov r10, qword [rbp + 0xf0]
xor r9, r10
add r9, rdx
add r9, r11
add r9, rdi
add r9, rcx
sub r9, r8
add r9, 3
movabs rcx, 0x144304a5510c12b4
xor rcx, rbx
cmp r9, rcx
jae 0x2038f69f
movabs rcx, 0x46702f5c4ab9dc5c
xor rcx, r14
movabs rdx, 0x2aefba1d5b3240c1
xor rdx, rbx
movabs r9, 0xac5e38caf54623a3
xor r9, r10
add r9, rdx
add r9, rcx
movabs rcx, 0x510c129110c12bc
xor rcx, r10
movabs rdx, 0xc443806ee4cdbf3e
xor rdx, r10
add rdx, rcx
add rdx, r9
add rdx, rax
add rdx, 2
mov rcx, r8
nop
mov r8d, dword [rbp + 0x138]
xor r8d, 0x3af0b78f
mov r9, qword [0x205612a8]
mov eax, dword [0x2056125c]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, r9
call qword [case.0x200c7fcc.0]
nop
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], rsi
mov byte [rbp + 0x48], 0
mov rax, qword [rbp + 0xd0]
movabs rcx, 0x510c129110c129b
xor rcx, qword [rbp + 0xf0]
mov qword [rbp + 0x38], rcx
cmp rax, rcx
jbe 0x2038de74
mov r10, rax
neg r10
movabs rcx, 0xa0aacd37d99e912a
mov r15, qword [rbp + 0xe8]
xor rcx, r15
movabs rdx, 0x9305ec3826616ed5
mov rbx, qword [rbp + 0x108]
xor rdx, rbx
add rdx, rcx
movabs r8, 0xd09f7532c2c749da
mov r9, qword [rbp + 0xb0]
xor r8, r9
movabs rcx, 0x8f8617273d38b625
xor rcx, rbx
add rcx, r8
movabs r11, 0x7a62b1958c671d4f
xor r11, r9
mov r12, qword [rbp + 0x110]
mov r8, r12
xor r8, r10
movabs r9, 0xb7208970633a0a37
xor r9, r8
movabs r8, 0x7e8457029cc5f5c8
xor r8, qword [rbp + 0x128]
and r8, r10
movabs r10, 0x35518f39717db453
xor r10, rbx
add r10, r11
movabs r11, 0x56bdf0781cc5f5c8
mov r14, qword [rbp + 0x120]
xor r11, r14
movabs rsi, 0x47de254fce824bac
mov r13, qword [rbp + 0xf0]
xor rsi, r13
add rsi, r11
movabs r11, 0x488a071d6802fba9
xor r11, r15
add r11, rdx
movabs rdi, 0xa73ac572f398e2b0
xor rdi, r14
add r11, r10
movabs rdx, 0xa249a02697fd0456
xor rdx, qword [rbp + 0xf8]
add rdx, rdi
add rdx, rcx
add rdx, rsi
add rdx, r11
add rdx, r9
add r8, r8
sub rdx, r8
add rdx, 7
movabs rcx, 0x2886094f10c1d6b
mov rsi, qword [rbp + 0x100]
xor rcx, rsi
cmp rdx, rcx
mov rcx, qword [rbp + 0xb8]
jbe 0x2038de47
nop
mov r8, qword [rcx - 8]
movabs rdx, 0x4c7ded4588a424f8
xor rdx, rsi
movabs r9, 0xebbcfb5aaef3ed6c
xor r9, r12
movabs r10, 0xb41ab307975bdb07
xor r10, r13
add r10, r9
movabs r9, 0xd9e7865cf1c7a39b
xor r9, rbx
movabs r11, 0xd46a3d1d75037569
xor r11, r13
add r11, r9
add r11, r10
movabs r9, 0x2c0d635f6afc8a96
xor r9, rsi
movabs r10, 0xa4596f518e385c64
xor r10, r14
add r10, rdx
add r10, r9
add r10, r11
add r10, rcx
sub r10, r8
add r10, 3
movabs rcx, 0x44304a50510c12b4
xor rcx, r15
cmp r10, rcx
jae 0x2038f6a4
movabs rcx, 0xa2182528510c12bc
xor rcx, qword [rbp + 0x128]
add rax, rcx
mov rdx, rax
mov rcx, r8
nop
mov r8d, dword [rbp + 0x138]
xor r8d, 0x3af0b78f
mov r9, qword [0x205612a8]
mov eax, dword [0x2056125c]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, r9
call qword [case.0x200c7fcc.0]
nop
mov eax, dword [0x2056112c]
mov dword [0x205611c4], 0x435aa94b
mov ecx, eax
xor ecx, 1
mov r9d, eax
not r9d
mov edx, r9d
and edx, 0x7ffffffe
or edx, ecx
add edx, edx
neg edx
add ecx, edx
add ecx, 0xfffffffe
mov dword [0x2056112c], ecx
mov edx, ecx
not edx
and eax, ecx
mov r8d, edx
and r8d, r9d
or r8d, eax
xor r8d, edx
xor eax, ecx
or eax, r8d
xor r9d, ecx
xor ecx, ecx
mov qword [rbp + 0xd8], rcx
and r9d, eax
mov dword [rbp + 0x24], r9d
mov eax, 0
mov qword [rbp + 0x98], rax
je 0x2038df8e
nop
mov rdx, qword [rbp + 0x68]
mov r15, qword [rdx + 0x10]
mov rax, r15
and rax, 0xfffffffffffffffc
xor rax, qword [rbp + 0x120]
movabs rcx, 0x75de7dad2ef3ed68
cmp rax, rcx
je 0x2038f69a
nop
mov rsi, qword [rdx]
mov rbx, qword [rdx + 0x18]
mov rax, qword [rbp - 0x30]
add rax, r15
cmp rax, qword [rbp - 0x10]
jbe 0x2038df7c
test rax, rax
js 0x2038e309
nop
mov rcx, qword [rbp - 0x18]
and rcx, rax
mov r12, rax
xor rax, qword [rbp + 0xa0]
or rax, rcx
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
lea rcx, [r14 + 1]
movabs rdx, 0x144304a5510c1d6a
xor rdx, qword [rbp + 0x110]
cmp rax, rdx
ja 0x2038e320
call fcn.20077cb0
mov rdi, rax
jmp 0x2038e3e9
mov r12, rax
mov r14d, 0xf
lea rdi, [rbp - 8]
jmp 0x2038e3ee
nop
mov rdx, qword [rbp + 0xe0]
add rdx, qword [rbp + 0x70]
movsxd rsi, dword [rdx]
xor r8d, r8d
cmp dword [rbp + 0x90], 0
jle 0x2038e7eb
movabs rax, 0xf2f5bfd971f04a6e
movabs rcx, 0x5627d0e00e0fb591
xor rax, qword [rbp + 0x120]
xor rcx, qword [rbp + 0xf8]
add rcx, rax
add rcx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x80]
lea r9, [rax + rcx]
inc r9
mov qword [rbp + 0xe0], rdx
add rsi, rdx
movabs rax, 0x144304a5510c1284
xor rax, qword [rbp + 0x110]
mov qword [rbp + 0x70], rax
movabs rax, 0x8a0679d299088629
xor rax, qword [rbp + 0xf0]
movabs rcx, 0x586f4e4e26f779d6
mov rdx, qword [rbp + 0xb0]
xor rcx, rdx
add rax, rcx
inc rax
mov qword [rbp + 0x78], rax
movabs rax, 0x2886094a510c1284
xor rax, rdx
mov qword [rbp + 0x80], rax
mov eax, dword [0x2056114c]
mov ecx, dword [rbp + 0x138]
xor eax, ecx
mov dword [rbp + 0x28], eax
mov edx, ecx
xor edx, 0x510c129c
mov ebx, ecx
xor ebx, 0x510c1284
mov r14d, ecx
xor r14d, 0x873afdda
mov r15d, ecx
xor r15d, 0x2320676a
lea eax, [r15 - 2]
mov dword [rbp + 0x18], eax
mov eax, ecx
xor eax, 0xaef3ed7b
mov qword [rbp + 0x30], rdx
add eax, edx
inc eax
mov dword [rbp + 0x1c], eax
mov r13d, dword [0x20561150]
xor r13d, ecx
xor eax, eax
mov qword [rbp + 0xd8], rax
xor eax, eax
mov qword [rbp + 0x98], rax
xor r12d, r12d
jmp 0x2038e0f2
add r8d, ebx
mov r11, qword [rbp + 0xd8]
mov rdi, qword [rbp + 0x98]
xor r11, rax
mov qword [rbp + 0xd8], r11
xor rdi, r10
mov qword [rbp + 0x98], rdi
cmp r8d, dword [rbp + 0x90]
jge 0x2038dee6
nop
mov eax, dword [0x20561148]
xor eax, dword [rbp + 0x138]
movsxd rdx, r8d
add rdx, r9
cmp eax, 0x7d3a6ba7
jne 0x2038e150
mov rcx, rdx
sub rcx, rsi
mov rax, rsi
shl rax, cl
mov r11, qword [rbp + 0x78]
sub r11, rcx
add r11, rax
mov dword [0x205611c4], 0x8056f780
cmp r11, qword [rbp + 0x80]
mov rax, qword [rdx + 0x10]
mov r10, qword [rdx + 0x18]
jl 0x2038e167
jmp 0x2038e2b2
mov r11, rsi
sub r11, rdx
cmp r11, qword [rbp + 0x70]
mov rax, qword [rdx]
mov r10, qword [rdx + 8]
jge 0x2038e2b2
lea rcx, [r11*8]
cmp dword [rbp + 0x28], 0x7993f70d
jne 0x2038e1d0
mov rdx, 0xffffffffffffffff
shl rdx, cl
test cl, 0x40
mov rcx, 0xffffffffffffffff
cmovne rcx, rdx
mov esi, 0
cmove rsi, rdx
not rsi
not rcx
and r10, rcx
and rax, rsi
inc r12d
add r8d, dword [rbp + 0x1c]
add r8d, r11d
movsxd rcx, r12d
mov rdx, qword [rbp + 0xe0]
lea rcx, [rdx + rcx*4]
jmp 0x2038e2ab
dec cl
mov rdx, 0xffffffffffffffff
shl rdx, cl
xor r12d, r12d
test cl, 0x40
mov rcx, 0xffffffffffffffff
cmovne rcx, rdx
mov esi, 0
cmove rsi, rdx
sub rax, rsi
sbb r10, rcx
movabs rdx, 0x685b2d0c11d98a99
add rax, rdx
adc r10, 1
sub rdx, rsi
mov edi, 1
sbb rdi, rcx
mov rsi, r10
xor rsi, rdi
and rsi, rdi
mov rdi, rax
xor rdi, rdx
and rdi, rdx
or rsi, r10
mov edx, r11d
mov rcx, qword [rbp + 0x30]
shl edx, cl
mov ecx, edx
shl r11d, cl
add r11d, edx
mov ecx, ebx
sub ecx, r11d
lea edx, [r14 + rcx]
neg edx
sub ecx, r11d
mov r10d, r14d
xor r10d, edx
add ecx, r10d
and edx, r14d
lea ecx, [rcx + rdx*2]
mov edx, r8d
shl edx, cl
or rdi, rax
lea eax, [r8 + r15]
neg eax
xor eax, edx
lea ecx, [r8 + r15]
dec ecx
not edx
and edx, ecx
or edx, eax
add r8d, dword [rbp + 0x18]
add r8d, eax
add edx, edx
sub r8d, edx
not rsi
not rdi
mov dword [0x20561148], 0x801ef938
mov dword [0x20561158], 0xba489d43
nop
mov rcx, qword [rbp + 0xe0]
mov rax, rdi
mov r10, rsi
nop
movsxd rsi, dword [rcx]
add rsi, rcx
cmp r13d, 0x2ba432c6
je 0x2038e0c0
mov r11, qword [rbp + 0xd8]
mov ecx, r11d
sub ecx, eax
imul ecx, eax
mov rdi, qword [rbp + 0x98]
mov r10, rdi
shld r10, r11, cl
mov rdx, r11
shl rdx, cl
test cl, 0x40
cmovne r10, rdx
mov eax, 0
cmove rax, rdx
mov ecx, ebx
sub ecx, r8d
mov edx, r8d
shl edx, cl
mov ecx, edx
shl r8d, cl
add r8d, edx
jmp 0x2038e0d1
mov r12, rax
movabs r14, 0x7fffffffffffffff
movabs rcx, 0x8000000000000000
movabs rax, 0x510c1294510c12b3
xor rax, qword [rbp + 0xf8]
add rax, rcx
mov rcx, rax
call fcn.20077cb0
movabs rcx, 0x398e88eeaaaa55
mov r11, qword [rbp + 0xe8]
xor rcx, r11
movabs rdx, 0x3396af87115555aa
mov r10, qword [rbp + 0x108]
xor rdx, r10
movabs r8, 0x6504eea6aae3fe83
xor r8, qword [rbp + 0x128]
movabs r9, 0x886094a0510c12b3
xor r9, r10
add r9, rdx
add r9, r8
movabs rdx, 0x3df3f558151c017c
xor rdx, qword [rbp + 0xf0]
add rdx, rcx
add rdx, rax
lea rcx, [r9 + rdx]
add rcx, 2
movabs rdx, 0x44304a50510c128b
xor rdx, r11
mov r8, qword [rbp + 0x110]
xor r8, rdx
movabs r9, 0xebbcfb5aaef3ed74
xor r9, r8
and r9, rcx
xor r9, rdx
movabs rdi, 0xd779f6b5aef3ed74
xor rdi, qword [rbp + 0xb0]
and rdi, r9
mov qword [rdi - 8], rax
nop
mov qword [rbp - 8], rdi
nop
cmp rbx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x68]
cmova rdx, rsi
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r14
mov rcx, qword [0x20561298]
mov eax, dword [0x20561258]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, rcx
mov rcx, rdi
mov r8, r15
call qword [case.0x200c7fcc.0]
mov eax, dword [rbp + 0x20]
mov dword [rdi + r15], eax
mov byte [rdi + r12], 0
mov rax, qword [rbp + 0xa8]
mov r8, qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
cmp qword [rax + 0x18], rcx
jbe 0x2038e455
mov rax, qword [rax]
mov qword [rbp + 0xa8], rax
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x2038e499
nop
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
lea r8, [rbp - 8]
mov ecx, 0x609c9ff7
xor edx, edx
mov r9, qword [rbp + 0xa8]
call fcn.20390f50
mov rdi, rax
mov r14d, dword [rbp + 0x13c]
jmp 0x2038e5ba
movabs rdx, 0xbb69d96486738a25
xor rdx, qword [rbp + 0x108]
movabs r9, 0xd91ddfada1fe9842
mov rbx, qword [rbp + 0x110]
xor r9, rbx
add r9, rdx
movabs rdx, 0xe470bb71798c75da
mov rsi, qword [rbp + 0xb0]
xor rdx, rsi
movabs r10, 0xaf90b8a3767faa2
xor r10, qword [rbp + 0x100]
add r10, rdx
movabs rdx, 0xab6628cde65addfd
mov rdi, qword [rbp + 0x128]
xor rdx, rdi
movabs r11, 0x4676a1a2c4fe8549
xor r11, rbx
add r11, rdx
add r11, r10
movabs rdx, 0x37b1e5de1e0167bd
xor rdx, qword [rbp + 0xf0]
add rdx, r9
add rdx, r11
movabs r9, 0xe3cd90446898055d
xor r9, rbx
movabs r10, 0x854c53b23b017ab6
xor r10, rsi
add r10, r9
movabs rsi, 0xe2c2f6bf19a52202
xor rsi, rbx
add rsi, r10
add rsi, rdx
add rsi, r8
lea rdx, [rcx + rsi]
add rdx, 5
add rsi, rcx
mov qword [rbp + 8], rdx
mov rdx, rdi
movabs r9, 0xa2182528510c129b
xor rdx, r9
lea rdi, [rbp - 8]
mov rbx, rdi
cmp rax, rdx
jbe 0x2038e589
mov rbx, qword [rbp - 8]
add rcx, rbx
mov rdx, qword [0x20561290]
mov eax, dword [0x20561264]
mov r14d, dword [rbp + 0x13c]
sub eax, r14d
cdqe
add rax, rdx
mov rdx, qword [rbp + 0xa8]
call qword [case.0x200c7fcc.0]
mov byte [rbx + rsi + 5], 0
nop
mov rcx, qword [0x20561298]
mov eax, dword [0x20561258]
sub eax, r14d
cdqe
add rax, rcx
lea r12, [rbp + 0xb8]
mov rcx, r12
mov rdx, rdi
mov r8, qword [rbp - 0x20]
call qword [case.0x200c7fcc.0]
mov qword [rdi + 0x10], 0
mov rax, qword [rbp + 0x40]
mov qword [rdi + 0x18], rax
mov byte [rdi], 0
mov rcx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xd0]
movabs rdx, 0x259c88e7c03bdd20
mov r11, qword [rbp + 0x108]
xor rdx, r11
movabs r8, 0xcbb6ab9f0c466cd5
xor r8, r11
add r8, rdx
movabs rdx, 0xc64eff0262dfe84b
mov rsi, qword [rbp + 0xe8]
xor rdx, rsi
movabs r9, 0xa86ac465f3b9932a
mov rbx, qword [rbp + 0x110]
xor r9, rbx
movabs r10, 0x4640e71d3fc422df
xor r10, rbx
add r10, rdx
add r10, r8
movabs rdx, 0xf8b443bc01323494
mov rdi, qword [rbp + 0x100]
xor rdx, rdi
add rdx, r9
movabs r8, 0xf5e1de0d9d2017b4
xor r8, r11
add r8, rdx
add r8, r10
movabs rdx, 0x41f396875ecdcb6b
xor rdx, rsi
add rdx, r8
sub rdx, rcx
add rdx, 4
mov r8, rdx
xor r8, rax
and rdx, rax
add rdx, rdx
neg rdx
neg r8
mov r9, rdx
xor r9, r8
and r8, rdx
lea rdx, [r9 + r8*2]
neg rdx
cmp rdx, qword [rbp + 0x38]
jae 0x2038e71a
nop
movzx eax, byte [0x20560fe0]
mov ecx, dword [rbp + 0x138]
mov r8d, ecx
xor r8b, 0x8b
cmp al, r8b
je 0x2038e87e
mov eax, dword [rbp + 0x138]
mov ecx, eax
xor cl, 0x75
mov edx, eax
xor dl, 0x91
nop
mov eax, ecx
lock cmpxchg byte [0x20560fe0], dl
je 0x2038e802
cmp al, r8b
jne 0x2038e700
jmp 0x2038e87e
movabs rdx, 0xed71215ccfca246
xor rdx, rdi
movabs r8, 0xf767a81e314f8168
xor r8, rdi
add r8, rdx
movabs rdx, 0x51b8a85693035db9
mov r9, qword [rbp + 0x128]
xor rdx, r9
add rdx, qword [rbp + 0xa0]
add rdx, r8
movabs r8, 0x1e5333d06eb07e97
xor r8, rbx
add r8, rdx
lea rsi, [rcx + r8]
add rsi, 2
mov qword [rbp + 0xc8], rsi
mov rdx, r9
movabs r8, 0xa2182528510c129b
xor rdx, r8
cmp rax, rdx
jbe 0x2038e790
mov r12, qword [rbp + 0xb8]
add rcx, r12
movzx eax, byte [0x20560fe0]
mov edx, dword [rbp + 0x138]
mov r8d, edx
xor r8b, 0x8b
cmp al, r8b
je 0x2038e949
mov eax, dword [rbp + 0x138]
mov edx, eax
xor dl, 0x75
mov r9d, eax
xor r9b, 0x91
nop word cs:[rax + rax]
mov eax, edx
lock cmpxchg byte [0x20560fe0], r9b
je 0x2038e8bc
cmp al, r8b
jne 0x2038e7d0
jmp 0x2038e949
xor eax, eax
mov qword [rbp + 0xd8], rax
xor eax, eax
mov qword [rbp + 0x98], rax
jmp 0x2038dee6
nop
mov eax, dword [rbp + 0x138]
mov ecx, eax
xor ecx, 0xd6e8bdea
mov r9d, eax
xor r9d, 0x510c1285
mov r10d, eax
xor r10b, 0xb5
mov r11d, eax
xor r11b, 0x4a
xor eax, 0x510c1284
cmp eax, 2
mov esi, 1
cmovge esi, eax
xor edi, edi
lea rbx, [0x20560fd0]
lea r14, [0x20439410]
xor r11b, r10b
nop dword [rax]
lea eax, [rcx + rdi]
xor edx, edx
div r9d
not edx
add edx, r9d
movsxd rax, edx
movzx eax, byte [rax + r14]
and al, r11b
xor al, r10b
add byte [rdi + rbx], al
inc rdi
cmp rsi, rdi
jne 0x2038e850
nop
xchg byte [0x20560fe0], r8b
nop
mov rax, qword [rbp + 0xa0]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [0x20560fd0]
lea r8, [rbp + 0xb8]
mov ecx, 0x609c9ff7
xor edx, edx
call fcn.20390f50
mov rdi, rax
mov ebx, dword [rbp + 0x13c]
jmp 0x2038e984
nop
mov eax, dword [rbp + 0x138]
mov r9d, eax
xor r9d, 0xd6e8bdea
mov r10d, eax
xor r10d, 0x510c1285
mov r11d, eax
xor r11b, 0xb5
mov ebx, eax
xor bl, 0x4a
xor eax, 0x510c1284
cmp eax, 2
mov edi, 1
cmovge edi, eax
xor r14d, r14d
lea r15, [0x20560fd0]
lea r13, [0x20439410]
nop word cs:[rax + rax]
lea eax, [r9 + r14]
xor edx, edx
div r10d
not edx
add edx, r10d
movsxd rax, edx
movzx eax, byte [rax + r13]
mov edx, eax
not dl
and dl, r11b
and al, bl
add al, byte [r14 + r15]
add al, dl
mov byte [r14 + r15], al
inc r14
cmp rdi, r14
jne 0x2038e910
nop
xchg byte [0x20560fe0], r8b
nop
mov rdx, qword [0x20561298]
mov eax, dword [0x20561258]
mov ebx, dword [rbp + 0x13c]
sub eax, ebx
cdqe
add rax, rdx
lea rdx, [0x20560fd0]
mov r8, qword [rbp + 0xa0]
call qword [case.0x200c7fcc.0]
mov byte [r12 + rsi], 0
lea rdi, [rbp + 0xb8]
movabs r8, 0xa218252d10c12b4
xor r8, qword [rbp + 0x120]
mov rcx, qword [0x20561298]
mov eax, dword [0x20561258]
sub eax, ebx
cdqe
add rax, rcx
lea rcx, [rbp + 0x48]
mov rdx, rdi
call qword [case.0x200c7fcc.0]
mov qword [rdi + 0x10], 0
movabs rax, 0x144304a5510c129b
xor rax, qword [rbp + 0x110]
mov qword [rbp + 0xa8], rax
mov qword [rdi + 0x18], rax
mov byte [rdi], 0
mov rax, qword [rbp + 0xd0]
movabs rcx, 0xa2182528510c129b
xor rcx, qword [rbp + 0x128]
mov rdi, rcx
cmp rax, rcx
jbe 0x2038eb19
nop
mov rcx, qword [rbp + 0xb8]
movabs rdx, 0x86e5e59575f41d84
mov rsi, qword [rbp + 0x110]
xor rdx, rsi
movabs r8, 0xe9d3c87518b7d270
mov r10, qword [rbp + 0xe8]
xor r8, r10
add r8, rdx
movabs rdx, 0x3106f4ee7482d8f
xor rdx, qword [rbp + 0xf8]
movabs r9, 0xcf413be78a0be27b
xor r9, qword [rbp + 0x128]
add r9, rdx
add r9, r8
lea rdx, [rax + r9]
add rdx, 3
movabs r8, 0x44304a50510c1d6b
xor r8, r10
cmp rdx, r8
jbe 0x2038eaec
nop
mov r8, qword [rcx - 8]
movabs rdx, 0xef3ed6bfaef3ed6c
xor rdx, qword [rbp + 0x88]
movabs r9, 0x5090e6281f501c62
mov r11, qword [rbp + 0x108]
xor r9, r11
movabs r10, 0x334c89d2e0afe39d
xor r10, rsi
add r10, rdx
add r10, r9
add r10, rcx
sub r10, r8
inc r10
movabs rcx, 0x886094a0510c12b4
xor rcx, r11
cmp r10, rcx
jae 0x2038f6a9
movabs rcx, 0x510c1294510c12bc
xor rcx, qword [rbp + 0xf8]
add rax, rcx
mov rdx, rax
mov rcx, r8
nop
mov r8d, dword [rbp + 0x138]
xor r8d, 0x3af0b78f
mov r9, qword [0x205612a8]
mov eax, dword [0x2056125c]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, r9
call qword [case.0x200c7fcc.0]
nop
mov qword [rbp + 0xc8], 0
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0xd0], rax
mov byte [rbp + 0xb8], 0
mov rax, qword [rbp + 0x10]
cmp rax, rdi
jbe 0x2038ed58
nop
mov rcx, qword [rbp - 8]
movabs rdx, 0xa2c56b9d61d449f3
mov r11, qword [rbp + 0x108]
xor rdx, r11
mov r8, rdx
neg r8
mov r9, rax
xor r9, r8
and r8, rax
add r9, rdx
lea rdx, [r9 + r8*2]
inc rdx
movabs r8, 0x44304a50510c1d6b
mov rsi, qword [rbp + 0xe8]
xor r8, rsi
cmp rdx, r8
jbe 0x2038ed2b
movabs rdx, 0xd9098dbc02b3a024
xor rdx, qword [rbp + 0xf8]
movabs r8, 0xaaf819320343693d
xor r8, qword [rbp + 0x88]
add r8, rdx
movabs rdx, 0x7701380d6ef70b68
mov r15, qword [rbp + 0xf0]
xor rdx, r15
movabs r9, 0x72eaa1febd4c5fdb
xor r9, r15
add r9, rdx
add r9, r8
movabs rdx, 0xa5680f91d108f497
xor rdx, qword [rbp + 0xb0]
movabs r8, 0x672262d5cbd403f1
mov rbx, qword [rbp + 0x128]
xor r8, rbx
add r8, rdx
movabs rdx, 0x5185cb28fcbc96c2
mov r14, qword [rbp + 0x110]
xor rdx, r14
add rdx, r8
add rdx, r9
add rdx, rcx
add rdx, 4
movabs r8, 0xf5de7dad2ef3ed6c
xor r8, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x100]
mov r9, rdi
xor r9, r8
movabs r10, 0x2886094f10c1293
xor r10, r9
and r10, rdx
xor r10, r8
movabs r8, 0x7aef3ed6eef3ed6c
xor r8, r15
and r8, rdx
movabs rdx, 0x9df8b6ba9e5bbbdd
xor rdx, rbx
movabs r9, 0x8024330b18bd5eec
xor r9, rbx
add r9, rdx
movabs rdx, 0x842f263d61a44422
xor rdx, rsi
add rdx, r9
lea rdx, [rdx + r8*2]
add rdx, r10
add rdx, 2
mov r8, r14
xor r8, rdx
movabs r9, 0x2e86bca7342bfc0e
xor r9, r8
movabs r8, 0x32a52ca2342bfc0e
xor r8, r11
and r8, rdx
movabs rdx, 0x55a37d7ce742a113
xor rdx, r11
movabs r10, 0x7e7f98942a112f1d
xor r10, r15
add r10, rdx
movabs rdx, 0x8618c6d635eed0e2
xor rdx, rdi
add rdx, r10
add rdx, r9
mov rcx, qword [rcx - 8]
lea rdx, [rdx + r8*2]
sub rdx, rcx
inc rdx
movabs r8, 0x44304a50510c12b4
xor r8, rsi
cmp rdx, r8
jae 0x2038f6ae
movabs rdx, 0x2886094f10c12bc
xor rdx, rdi
add rax, rdx
mov rdx, rax
nop
mov r8d, dword [rbp + 0x138]
xor r8d, 0x3af0b78f
mov r9, qword [0x205612a8]
mov eax, dword [0x2056125c]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, r9
call qword [case.0x200c7fcc.0]
movabs rax, 0x886094a06a96d894
mov rcx, qword [rbp + 0x108]
xor rax, rcx
mov qword [rbp + 0x90], rax
movabs rax, 0x7aef3ed6eefcaf2b
xor rax, qword [rbp + 0xf0]
mov qword [rbp + 0x68], rax
movabs rax, 0x144304a5510350d4
xor rax, qword [rbp + 0x110]
mov qword [rbp + 0x70], rax
movabs rax, 0x3bcfb5afaef3ed6b
xor rax, qword [rbp + 0xe8]
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0x138]
mov r14d, eax
xor r14b, 0x85
mov r13d, eax
xor r13b, 0x49
mov ebx, eax
xor bl, 0xbb
mov esi, eax
xor esi, 0xd5adcee4
mov r12d, eax
xor r12d, 0x510c1291
xor eax, 0x510c1297
movabs rdx, 0xa218252ea96d894
xor rdx, qword [rbp + 0x120]
mov qword [rbp + 0x80], rdx
movabs rdx, 0xa21825286a96d894
xor rdx, qword [rbp + 0x128]
mov qword [rbp + 0x28], rdx
movabs rdx, 0xf79f6b5faefcaf2b
xor rdx, rcx
mov qword [rbp + 0x38], rdx
movabs rcx, 0x2886094f10350d4
xor rcx, qword [rbp + 0x100]
mov qword [rbp + 0x40], rcx
movabs rcx, 0x2ef3ed6baef3ed6b
xor rcx, qword [rbp + 0xf8]
mov qword [rbp + 0x30], rcx
cmp eax, 2
mov edi, 1
cmovge edi, eax
nop word cs:[rax + rax]
lea rcx, [rbp + 0x48]
call fcn.2038fd20
test al, al
je 0x2038eec0
lea r8, [rbp + 0x48]
mov rax, qword [rbp + 0xa8]
cmp qword [rbp + 0x60], rax
jbe 0x2038ee82
mov r8, qword [rbp + 0x48]
mov qword [rbp + 0xb8], 0
movzx eax, byte [0x20561053]
cmp al, r14b
je 0x2038efaa
nop dword [rax]
mov eax, r13d
lock cmpxchg byte [0x20561053], bl
je 0x2038ef5a
cmp al, r14b
jne 0x2038eea0
jmp 0x2038efaa
cmp byte [rbp + 0x137], 0
jne 0x2038f1fe
call fcn.20180010
mov r15, rax
call fcn.20180020
mov rcx, rax
or rcx, r15
shr rcx, 0x20
je 0x2038eef0
cqo
idiv r15
mov rcx, rax
jmp 0x2038eef7
xor edx, edx
div r15d
mov ecx, eax
imul rdx, qword [rbp + 0x90]
mov rax, r15
or rax, rdx
shr rax, 0x20
je 0x2038ef15
mov rax, rdx
cqo
idiv r15
jmp 0x2038ef1c
mov eax, edx
xor edx, edx
div r15d
nop
imul rcx, qword [rbp + 0x90]
add rcx, rax
mov rax, qword [rbp + 0x70]
add rax, rcx
cmp rcx, qword [rbp + 0x68]
cmovge rax, qword [rbp + 0x78]
mov qword [rbp + 0xb8], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
mov ecx, 0x759fc888
call fcn.20390f50
jmp 0x2038ee60
xor ecx, ecx
mov r9d, dword [rbp + 0x138]
lea r10, [0x20561050]
lea r11, [0x20439480]
nop word cs:[rax + rax]
lea eax, [rsi + rcx]
xor edx, edx
div r12d
movsxd rax, edx
movzx eax, byte [rax + r11]
xor al, r9b
xor al, 0x23
add byte [rcx + r10], al
inc rcx
cmp rdi, rcx
jne 0x2038ef80
mov eax, r14d
xchg byte [0x20561053], al
lea rcx, [rbp + 0xb8]
mov rdx, r8
call fcn.2038ff70
test eax, eax
jne 0x2038efd0
mov rax, qword [rbp + 0xb8]
jmp 0x2038efd2
xor eax, eax
mov qword [rbp + 0xe0], rax
test rax, rax
jne 0x2038f07a
nop
cmp byte [rbp + 0x137], 0
jne 0x2038f07a
call fcn.20180010
mov r15, rax
call fcn.20180020
mov rcx, rax
or rcx, r15
shr rcx, 0x20
je 0x2038f013
cqo
idiv r15
mov rcx, rax
jmp 0x2038f01a
xor edx, edx
div r15d
mov ecx, eax
imul rdx, qword [rbp + 0x28]
mov rax, r15
or rax, rdx
shr rax, 0x20
je 0x2038f035
mov rax, rdx
cqo
idiv r15
jmp 0x2038f03c
mov eax, edx
xor edx, edx
div r15d
nop
imul rcx, qword [rbp + 0x80]
add rcx, rax
mov rax, qword [rbp + 0x40]
add rax, rcx
cmp rcx, qword [rbp + 0x38]
cmovge rax, qword [rbp + 0x30]
mov qword [rbp + 0xb8], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
mov ecx, 0x759fc888
call fcn.20390f50
jmp 0x2038ee60
cmp qword [rbp + 0xe0], 0
je 0x2038f1fe
mov r14d, dword [rbp + 0x138]
xor r14d, 0x510c12d4
movabs rsi, 0x144304a56a96d894
mov rax, qword [rbp + 0x110]
xor rsi, rax
movabs rdi, 0x6bbcfb5aaefcaf2b
xor rdi, rax
movabs rbx, 0xa2182528510350d4
xor rbx, qword [rbp + 0x128]
movabs r12, 0xf79f6b5faef3ed6b
xor r12, qword [rbp + 0x108]
cmp byte [rbp + 0x11f], 0
jne 0x2038f120
nop word cs:[rax + rax]
lea rcx, [rbp - 0x50]
call fcn.2038fd20
test al, al
jne 0x2038f203
cmp byte [rbp + 0x137], 0
mov rcx, qword [rbp + 0xe0]
je 0x2038f157
jmp 0x2038f20c
lea rcx, [rbp - 0x50]
mov rax, qword [rbp - 0x10]
cmp qword [rbp - 0x38], rax
jbe 0x2038f132
mov rcx, qword [rbp - 0x50]
mov edx, r14d
call fcn.2038ff80
test rax, rax
jne 0x2038f210
cmp byte [rbp + 0x137], 0
mov rcx, qword [rbp + 0xe0]
jne 0x2038f217
call fcn.20180010
mov r15, rax
call fcn.20180020
mov rcx, rax
or rcx, r15
shr rcx, 0x20
je 0x2038f180
cqo
idiv r15
mov rcx, rax
jmp 0x2038f187
xor edx, edx
div r15d
mov ecx, eax
imul rdx, rsi
mov rax, r15
or rax, rdx
shr rax, 0x20
je 0x2038f1b0
mov rax, rdx
cqo
idiv r15
jmp 0x2038f1b7
mov eax, edx
xor edx, edx
div r15d
nop
imul rcx, qword [rbp + 0x90]
add rcx, rax
lea rax, [rcx + rbx]
cmp rcx, rdi
cmovge rax, r12
mov qword [rbp + 0xb8], rax
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
mov ecx, 0x759fc888
call fcn.20390f50
nop
cmp byte [rbp + 0x11f], 0
je 0x2038f0f0
jmp 0x2038f120
xor r12d, r12d
jmp 0x2038f23d
mov r12, qword [rbp + 0xe0]
jmp 0x2038f23d
xor eax, eax
jmp 0x2038f217
mov rcx, qword [rbp + 0xe0]
nop
mov r8, qword [0x205612c0]
mov edx, dword [0x20561268]
sub edx, dword [rbp + 0x13c]
movsxd rdx, edx
add rdx, r8
mov r12, rax
mov rax, rdx
call qword [case.0x200c7fcc.0]
nop
mov rax, qword [rbp + 0x60]
cmp rax, qword [rbp + 0xa0]
jbe 0x2038f374
nop
mov rcx, qword [rbp + 0x48]
movabs rdx, 0x18ed33e3dfb22ad7
mov rsi, qword [rbp + 0x100]
xor rdx, rsi
movabs r8, 0xf55b85c8804dd528
xor r8, qword [rbp + 0x88]
add r8, rdx
movabs rdx, 0x980733b0d5f88fd8
xor rdx, rsi
movabs r9, 0x7133a87e8a077027
xor r9, qword [rbp + 0x110]
movabs r10, 0x9617678e2da80963
xor r10, qword [rbp + 0x120]
add r10, rdx
movabs rdx, 0xeba98e835257f69c
mov r11, qword [rbp + 0x108]
xor rdx, r11
add rdx, r9
add rdx, r10
add rdx, r8
add rdx, rax
add rdx, 4
movabs r8, 0xa2182528510c1d6b
mov r9, qword [rbp + 0x128]
xor r8, r9
cmp rdx, r8
jbe 0x2038f347
nop
mov r8, qword [rcx - 8]
xor r9, rcx
movabs rdx, 0x5de7dad7aef3ed6c
xor rdx, r9
movabs r9, 0x7d779f6b0ef3ed6c
xor r9, rsi
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, r8
movabs rdx, 0x886094a0510c12b4
xor rdx, r11
cmp rcx, rdx
jae 0x2038f6b3
movabs rcx, 0x44304a50510c12bc
xor rcx, qword [rbp + 0xe8]
add rax, rcx
mov rdx, rax
mov rcx, r8
nop
mov r8d, dword [rbp + 0x138]
xor r8d, 0x3af0b78f
mov r9, qword [0x205612a8]
mov eax, dword [0x2056125c]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, r9
call qword [case.0x200c7fcc.0]
nop
mov r9, qword [rbp - 0x38]
movabs rax, 0x510c1294510c129b
xor rax, qword [rbp + 0xf8]
cmp r9, rax
jbe 0x2038f664
nop
mov rcx, qword [rbp - 0x50]
lea rdx, [r9 + 1]
movabs rax, 0x510c129110c1d6b
xor rax, qword [rbp + 0xf0]
cmp rdx, rax
jbe 0x2038f637
nop
mov r10, qword [rcx - 8]
xor qword [rbp + 0x100], rcx
movabs r11, 0x75de7dad2ef3ed6c
xor r11, qword [rbp + 0x120]
and r11, rcx
mov rdi, qword [0x204392c8]
mov rax, qword [0x204392c0]
sub rax, qword [rbp + 0xd8]
sbb rdi, qword [rbp + 0x98]
xor ecx, ecx
cmp dword [rbp + 0x24], 0
cmovne rax, rcx
cmovne rdi, rcx
or rdi, rax
mov rcx, qword [rbp + 0xf8]
xor cl, 0xb4
mov rax, rdi
shr rax, cl
movabs rsi, 0xfd779f6b0ef3ed6c
mov ecx, dword [0x20561154]
mov r8d, dword [rbp + 0x138]
xor ecx, r8d
cmp ecx, 0xefa619b6
jne 0x2038f49e
mov edx, eax
and edx, edi
mov r8d, eax
imul r8d, edi
mov edi, r8d
neg edi
mov ebx, edi
mov ecx, eax
shl ebx, cl
dec r8d
xor r8d, edi
and r8d, ebx
xor r8d, edi
mov ecx, r8d
shl edx, cl
or edx, r8d
mov r8d, dword [0x20572610]
mov eax, edx
sub eax, r8d
xor r8d, eax
mov ecx, edx
shl eax, cl
and eax, edx
mov edx, 2
mov ecx, eax
shl edx, cl
mov edi, edx
shl edi, cl
imul edi, edx
sub r8d, edi
imul r8d, edi
sub edi, r8d
sub edi, r8d
or r8d, 1
sub r8d, edi
imul r8d, edi
jmp 0x2038f4c4
or eax, edi
mov ecx, dword [0x20572610]
mov edx, ecx
xor edx, eax
and eax, ecx
mov ecx, r8d
xor ecx, 0x6de06259
sub edx, ecx
lea eax, [rdx + rax*2]
mov edx, eax
xor edx, ecx
and ecx, eax
lea r8d, [rdx + rcx*2]
nop
xor qword [rbp + 0x100], rsi
add r11, r11
cmp byte [0x205726c8], 0
jne 0x2038f4f0
nop
mov eax, dword [0x20561158]
xor eax, dword [rbp + 0x138]
cmp eax, 0xa9bddf8e
je 0x2038f4f0
xor eax, eax
jmp 0x2038f500
nop
mov dword [0x20561154], 0x3b64b4f6
mov eax, 9
nop
mov dword [0x20572610], r8d
movabs rcx, 0x14d8164ccc1a67dd
mov r15, qword [rbp + 0x88]
xor rcx, r15
movabs rdx, 0xefa5c45633e59822
mov rbx, qword [rbp + 0x110]
xor rdx, rbx
movabs r8, 0x50b1a77611483423
mov rdi, qword [rbp + 0xe8]
xor rdi, r8
movabs r8, 0xee6ed3f0aeb7cbdc
mov r14, qword [rbp + 0xf0]
xor r8, r14
add r8, rdx
movabs rdx, 0xdca31c509fb04487
mov rsi, qword [rbp + 0x120]
xor rdx, rsi
add rdx, rdi
add rdx, r8
movabs r8, 0xdfd7d2b75c85f92c
xor r8, rsi
movabs rsi, 0x28fa650237a06d3
mov rdi, qword [rbp + 0xb0]
xor rsi, rdi
add rsi, r11
add rsi, qword [rbp + 0x100]
movabs r11, 0x2c6da0d4a04fbb78
xor r11, r14
add r11, r8
add r11, rcx
add r11, rdx
add r11, rsi
sub r11, r10
add rax, r11
add rax, 4
movabs rcx, 0x2886094a510c12b4
xor rcx, rdi
cmp rax, rcx
jae 0x2038f6b8
movabs rax, 0x963da23feced4af5
xor rax, r14
movabs rcx, 0x8189ba39b87c1b1b
xor rcx, r14
add rcx, rax
movabs rax, 0x10c12940510c12bc
xor r15, rax
movabs rax, 0x6f25804a0783e4e4
xor rbx, rax
add rbx, r15
movabs rax, 0xe4b208495312b50a
mov rdx, qword [rbp + 0x108]
xor rdx, rax
add rdx, rcx
add rbx, r9
add rdx, rbx
add rdx, 2
mov rcx, r10
nop
mov r8d, dword [rbp + 0x138]
xor r8d, 0x3af0b78f
mov r9, qword [0x205612a8]
mov eax, dword [0x2056125c]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, r9
call qword [case.0x200c7fcc.0]
mov rax, r12
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
nop
mov rcx, qword [0x20561280]
mov eax, dword [0x20561260]
sub eax, dword [rbp + 0x13c]
cdqe
add rax, rcx
call qword [case.0x200c7fcc.0]
call fcn.200688b0
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
call fcn.20077cd0
int3