Function at 0x1401623d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x460], 0xfffffffffffffffe
mov r14d, r8d
mov rbx, rdx
mov r8d, dword [0x140524bdf]
mov eax, r8d
xor eax, 0xfffffeff
and eax, r8d
je 0x14016243f
cmp dword [0x140524c0f], 0
je 0x14016243f
test r8b, 1
sete dl
mov r9d, r8d
and r9b, r14b
mov r10d, r14d
xor r10b, 1
and dl, r14b
and r10b, r8b
or r10b, dl
cmp r9b, r10b
je 0x140162785
test r8b, 1
jne 0x1401626b2
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140162479
mov dword [0x140524c0b], 0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x420], xmm0
mov qword [rbp + 0x430], 0
mov dword [0x140524c0b], 0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x420], xmm0
mov qword [rbp + 0x430], 0
cmp dword [0x140524bf3], 0
jns 0x140162535
call fcn.1401071a0
mov qword [rbp + 0x428], rax
call fcn.140164c00
mov qword [rbp + 0x430], rax
mov eax, dword [0x140524bf3]
mov ecx, eax
not ecx
mov edx, dword [0x1404e0188]
lea r8d, [rdx - 0x225c22b0]
add edx, 0x9da3dd50
xor edx, r8d
and edx, ecx
and ecx, 0x3fffffff
and eax, 0xc0000000
or eax, ecx
or edx, eax
not edx
mov dword [rsp + 0x20], 0x12904aec
lea rcx, [rbp + 0x420]
mov r8d, 0x80b23e36
mov r9d, 0xee5cb879
call fcn.140168b60
jmp 0x140162535
call fcn.140164220
mov r8d, 0x9c
mov rcx, rax
xor edx, edx
call fcn.1401640e0
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140162520
call fcn.140164220
mov esi, 0x9da3dd51
mov edx, dword [0x1404e0188]
add edx, esi
mov rcx, qword [0x1404e0190]
movabs r8, 0x4784b26d9c15dfa6
mov r9, rcx
xor r9, r8
and rcx, r8
lea r8, [r9 + rcx*2]
mov rcx, rax
call fcn.1401640e0
mov rdi, rax
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
add esi, dword [0x1404e0188]
cmp ecx, esi
jne 0x140162520
test rdi, rdi
jne 0x1401625b1
call fcn.1401071a0
mov rcx, rax
mov edx, 0x12
call fcn.140161ed0
mov dword [rdi], 0x9c
mov rcx, rdi
call fcn.140164300
test eax, eax
jne 0x1401625e7
call fcn.140164220
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.140164380
call fcn.1401071a0
mov rcx, rax
mov edx, 0xff
call fcn.140161ed0
mov esi, 0x9da3dd6e
nop dword [rax]
mov eax, dword [0x1404e0188]
mov ecx, eax
xor ecx, 0x9da3dd52
mov edx, eax
and edx, 0x1da3dd52
lea ecx, [rcx + rdx*2]
lea r8d, [rax - 0x625c22ae]
lea edx, [rax - 0x69ac7d12]
lea r9d, [rax - 0x79459e16]
add eax, 0x7eff1024
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x20], edx
xor edx, edx
mov r9, rbx
call fcn.1401688b0
mov ecx, 0x548db0c4
mov edx, 0xa7293dba
mov r8d, 0xb5f1f5ca
call fcn.14014d0b0
mov rax, qword [0x140531678]
mov ecx, dword [0x1405319a4]
mov edx, dword [0x1404e0188]
add edx, esi
cmp ecx, edx
jl 0x140162715
mov dword [rsp + 0x30], 0xe15b32d3
mov dword [rsp + 0x28], 0xe9168499
mov dword [rsp + 0x20], 0xf8afa59d
mov ecx, 1
xor edx, edx
mov r8d, 1
mov r9, rbx
call fcn.1401688b0
mov ecx, 0x548db0c4
mov edx, 0xa7293dba
mov r8d, 0xb5f1f5ca
call fcn.14014d0b0
jmp 0x1401625f0
mov edx, dword [0x1405319a4]
cmp edx, 0x2b
mov edx, 0x9da3dd51
mov r9d, dword [0x1404e0188]
add r9d, edx
cmp eax, r9d
jne 0x1401626e0
xor esi, esi
jmp 0x140163e6d
mov r9d, dword [0x140524be3]
mov eax, dword [0x1405319a0]
lea r10d, [rax + 1]
imul r10d, eax
and r10d, 1
mov eax, dword [0x1404e0188]
add eax, edx
cmp r10d, eax
je 0x140162791
mov eax, dword [0x1405319a4]
cmp eax, 0x61
jmp 0x1401626e0
test rax, rax
jne 0x140162776
mov ecx, 0xe8
mov edx, 0x91225a3f
mov r8d, 0x83bac752
call fcn.1400a83d0
lea rcx, [0x1403fe968]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
movzx ecx, byte [0x1404e0198]
add cl, 0x5c
mov byte [rax + 0x18], cl
lea rcx, [0x1403fe9c8]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140531678], rax
xor eax, eax
test al, al
je 0x140162944
jmp 0x1401629b3
lea rsi, [0x140093250]
jmp 0x140163e6d
mov r10d, r9d
not r10d
mov eax, r9d
xor eax, 0x10
mov edx, r10d
and edx, 0xffffffef
or edx, eax
not edx
test edx, edx
je 0x1401627d3
add r9d, r9d
mov dword [0x140524be3], r9d
or r8d, 5
mov dword [0x140524bdf], r8d
lea rsi, [0x140093250]
mov qword [0x140524c03], rsi
jmp 0x140163e6d
mov r11d, 0x9da3dd51
mov esi, 0x9da3dd53
nop
mov eax, dword [0x1405319a0]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, dword [0x1404e0188]
add eax, r11d
cmp edx, eax
je 0x140162818
mov edx, dword [0x1405319a0]
lea eax, [rdx - 1]
imul eax, edx
mov edi, dword [0x1404e0188]
add edi, esi
xor edx, edx
div edi
test edx, edx
jne 0x1401627e0
mov eax, 0x9da3dd51
add eax, dword [0x1404e0188]
cmp ecx, eax
jne 0x140163e66
mov eax, r10d
and eax, 0x20
and r9d, 0xffffffdf
or r9d, eax
and r10d, 0xffffffdf
or r10d, r9d
mov eax, dword [0x1404e0188]
mov ecx, eax
xor ecx, 0x9da3dd50
and eax, 0x1da3dd50
lea eax, [rcx + rax*2]
xor eax, r10d
jne 0x140163e66
mov eax, r8d
not eax
mov ecx, r8d
xor ecx, 0x804
and eax, 0xfffff7fb
or eax, ecx
cmp eax, 0xfffff7fb
jne 0x140162898
mov eax, dword [0x1405319a4]
mov ecx, 0x9da3dd60
add ecx, dword [0x1404e0188]
cmp eax, ecx
jge 0x140163eb0
jmp 0x140163e84
mov eax, dword [0x140530cf3]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xffffff7f
mov r9d, eax
xor r9d, 0x80
or r9d, edx
not r9d
or r9d, edx
mov edx, r9d
not edx
xor r9d, eax
and edx, ecx
or edx, r9d
cmp edx, 0xffffffff
je 0x1401628dc
mov rcx, rbx
call fcn.1401612b0
jmp 0x140163e66
or r8d, 4
mov dword [0x140524bdf], r8d
lea rcx, [0x140524bdf]
mov rsi, qword [0x140524c03]
movabs r8, 0x4784b26d9c15df3a
add r8, qword [0x1404e0190]
lea rdx, [rbp - 0x40]
call fcn.1401613b0
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x1404e0188]
mov edx, eax
xor edx, 0x9da3dd51
and eax, 0x1da3dd51
lea edx, [rdx + rax*2]
mov r8, rbx
mov rax, rsi
call qword [case.0x1401138cb.0]
mov rcx, rbx
call fcn.1401612b0
xor esi, esi
jmp 0x140163e6d
mov rsi, qword [0x140531678]
lea rcx, [rsi + 0x48]
mov r8d, 0x9c
mov rdx, rdi
call fcn.1403e3a10
mov rcx, rsi
mov edx, 0x5e4f8921
mov r8d, 0xae80812a
mov r9d, 0x18b84eb9
call fcn.140168dd0
mov rcx, rsi
mov edx, 0x7ad5386a
mov r8d, 0x793df942
mov r9d, 0x2ccaa7b0
call fcn.140168dc0
call fcn.140164220
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.140164380
mov rax, qword [0x1405341e0]
mov ecx, dword [0x1405319a4]
cmp ecx, 0x50
jl 0x140162a15
mov rsi, qword [0x140531678]
lea rcx, [rsi + 0x48]
mov r8d, 0x9c
mov rdx, rdi
call fcn.1403e3a10
mov rcx, rsi
mov edx, 0x5e4f8921
mov r8d, 0xae80812a
mov r9d, 0x18b84eb9
call fcn.140168dd0
mov rcx, rsi
mov edx, 0x7ad5386a
mov r8d, 0x793df942
mov r9d, 0x2ccaa7b0
call fcn.140168dc0
call fcn.140164220
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.140164380
jmp 0x140162944
test rax, rax
jne 0x140162a4c
mov ecx, 0x900
mov edx, 0x91225a3f
mov r8d, 0x83bac752
call fcn.1400a83d0
mov qword [rbp + 0x448], rax
mov rcx, rax
call fcn.140084970
mov rax, qword [rbp + 0x448]
mov qword [0x1405341e0], rax
mov byte [rbp + 0x45f], r14b
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140162b61
jmp 0x140162a6a
mov rdi, qword [0x1405341e0]
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rdi + 0x2a0], rax
mov eax, dword [0x1404e0188]
lea ecx, [rax - 0x625c22af]
lea edx, [rax + 0x19739a60]
add eax, 0x758558b7
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
xor edx, edx
mov r8d, ecx
xor r9d, r9d
call fcn.1401681a0
mov qword [rsi + 0x40], rax
movzx eax, word [rsi + 0xa]
cmp eax, 0x601
setae byte [rdi + 0x4b9]
movzx eax, word [rsi + 0xa]
cmp eax, 0x602
setae byte [rdi + 0x4ba]
mov eax, dword [0x140524bff]
lea r14, [0x140524bdf]
mov r12, r14
sub r12, rax
lea r15, [rbp - 0x40]
mov r8d, 0x400
mov rcx, r15
xor edx, edx
call fcn.1403e40c0
mov r8d, 0x9da3e151
add r8d, dword [0x1404e0188]
mov rcx, r12
mov rdx, r15
call fcn.140164450
mov qword [rsi + 0x38], r12
lea rcx, [rsi + 0x10]
mov eax, dword [0x1404e0188]
lea r8d, [rax + 0x16e1d693]
lea r9d, [rax - 0x3d91442b]
add eax, 0x649f910
mov dword [rsp + 0x20], eax
mov rdx, r15
call fcn.1400fc610
call fcn.140161aa0
mov qword [rbp + 0x440], 0
mov r15d, dword [0x140530d3f]
mov eax, dword [0x1405319a4]
cmp eax, 0x1a
jle 0x140162c4f
mov rdi, qword [0x1405341e0]
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rdi + 0x2a0], rax
mov dword [rsp + 0x28], 0xd7e17b66
mov dword [rsp + 0x20], 0x7bcfbd0f
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1401681a0
mov qword [rsi + 0x40], rax
movzx eax, word [rsi + 0xa]
cmp eax, 0x601
setae byte [rdi + 0x4b9]
movzx eax, word [rsi + 0xa]
cmp eax, 0x602
setae byte [rdi + 0x4ba]
lea rdi, [0x140524bdf]
mov eax, dword [0x140524bff]
mov ecx, eax
neg ecx
imul ecx, eax
mov rax, qword [0x1404e0190]
movabs rdx, 0x4784b26d9c15df0a
mov r8, rax
xor r8, rdx
and rax, rdx
lea rax, [r8 + rax*2]
shl rax, cl
sub rdi, rax
lea r15, [rbp - 0x40]
mov r8d, 0x400
mov rcx, r15
xor edx, edx
call fcn.1403e40c0
mov rcx, rdi
mov rdx, r15
mov r8d, 0x400
call fcn.140164450
mov qword [rsi + 0x38], rdi
lea rcx, [rsi + 0x10]
mov dword [rsp + 0x20], 0x68a61bbf
mov rdx, r15
mov r8d, 0x793df942
mov r9d, 0x24cade84
call fcn.1400fc610
call fcn.140161aa0
mov qword [rbp + 0x440], 0
jmp 0x140162a6a
mov ecx, 0x40
call fcn.1403bba7c
mov r8, qword [0x1405319b0]
movabs rcx, 0x77b210b4c7a2265b
mov rdx, r8
xor rdx, rcx
and r8, rcx
lea rcx, [rdx + r8*2]
add r15, r14
movabs rdx, 0x884def4b385dd9a5
add rdx, r15
add rdx, rcx
movsxd rcx, dword [0x140403c90]
mov qword [rbp + 0x448], rcx
mov r8d, dword [0x1405319a0]
lea ecx, [r8 - 1]
imul ecx, r8d
test cl, 1
jne 0x140162cc7
mov r15d, dword [0x140403c9c]
mov r8d, dword [0x1405319a0]
lea ecx, [r8 - 1]
imul ecx, r8d
test cl, 1
je 0x140162ccf
mov ecx, dword [0x140403c9c]
jmp 0x140162cac
lea rcx, [0x140403c90]
add qword [rbp + 0x448], rcx
mov r9d, 0x9da3dd52
add r9d, dword [0x1404e0188]
lea rcx, [fcn.1401623d0]
add ecx, ecx
add ecx, 0x44e0
mov r8d, ecx
xor r8d, r9d
not r9d
not ecx
and ecx, r9d
or ecx, r8d
cmp ecx, 0xffffffff
nop dword [rax]
mov r8d, dword [0x140530d3b]
mov ecx, dword [0x1405319a4]
cmp ecx, 0x3a
jg 0x140162d10
add rdx, r8
mov rcx, rax
mov qword [rbp + 0x450], rax
call fcn.140239290
mov rcx, qword [rbp + 0x440]
mov r12, qword [rbp + 0x450]
cmp rcx, r12
sete al
mov qword [rbp + 0x418], rcx
test rcx, rcx
sete cl
or cl, al
mov byte [rbp + 0x45e], cl
mov eax, dword [0x1405319a4]
cmp eax, 0x38
jge 0x140162d80
jmp 0x140162d6a
mov r13d, dword [0x1404df690]
mov eax, dword [0x1405319a4]
cmp eax, 0x13
jl 0x140162da8
nop dword [rax]
mov eax, dword [0x1405319a0]
mov ecx, dword [0x1404e0188]
mov edx, eax
sub edx, ecx
add edx, 0x625c22ae
imul edx, eax
and edx, 1
add ecx, 0x9da3dd51
cmp edx, ecx
jne 0x140162d80
jmp 0x140162d6a
mov eax, r13d
xor eax, 1
mov ecx, r13d
not ecx
mov edx, ecx
and edx, 0x7ffffffe
or edx, eax
not edx
lea r8d, [rax + rdx*2]
lea rax, [fcn.1401623d0]
add eax, eax
add eax, 0x49e0
mov edx, eax
not edx
nop word cs:[rax + rax]
cmp dword [0x1404e0188], 0x625c22af
je 0x140162e18
nop dword [rax]
mov r9d, dword [0x1404e0188]
mov r10d, 0x625c22ad
sub r10d, r9d
add r9d, 0x9da3dd52
and r10d, edx
xor r9d, eax
or r9d, r10d
cmp r9d, 0xffffffff
jne 0x140162df0
jmp 0x140162de0
mov eax, dword [0x1405319a4]
cmp eax, 0xf
jg 0x140162e30
mov eax, dword [0x1405319a4]
cmp eax, 0x11
jl 0x140162e43
nop
mov eax, dword [0x1405319a0]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x140162e30
jmp 0x140162e23
xor eax, eax
test al, al
jne 0x140162e5b
mov dword [0x1404df690], r8d
mov eax, dword [0x1405319a4]
cmp eax, 0xc
jle 0x140162e7b
mov dword [0x1404df690], r8d
jmp 0x140162e49
mov eax, dword [0x1405319a4]
cmp eax, 0x1b
jl 0x140162e86
mov eax, dword [0x1405319a4]
cmp eax, 0x16
jg 0x140162e70
mov eax, dword [0x1405319a0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140162e70
mov eax, dword [0x1405319a4]
mov edx, dword [0x1404e0188]
mov r9d, edx
xor r9d, 0x9da3dd5e
and edx, 0x1da3dd5e
lea edx, [r9 + rdx*2]
cmp eax, edx
nop dword [rax]
mov edx, dword [0x1405319a0]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, 0x9da3dd53
add r9d, dword [0x1404e0188]
xor edx, edx
div r9d
test edx, edx
jne 0x140162ec0
mov eax, dword [0x1405319a0]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov eax, 0x9da3dd51
add eax, dword [0x1404e0188]
cmp edx, eax
nop
mov eax, dword [0x1405319a0]
mov edx, dword [0x1404e0188]
neg edx
add edx, eax
add edx, 0x625c22ae
imul edx, eax
test dl, 1
jne 0x140162f00
mov eax, r8d
not eax
mov edx, r8d
xor edx, r13d
mov r9d, edx
and r9d, r8d
not edx
mov r10d, ecx
and r10d, r8d
or r10d, edx
not r10d
or r10d, r9d
xor eax, ecx
and r13d, r8d
or r13d, eax
not r13d
or r13d, r10d
not r13d
mov eax, 0x9da3dd51
add eax, dword [0x1404e0188]
mov dword [rbp + 0x43c], eax
cmp r13d, eax
je 0x140162f6f
xor r14d, r14d
jmp 0x1401630b0
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jmp 0x140162f8b
mov eax, dword [0x1405319a4]
cmp eax, 0x58
jl 0x140162fe6
mov eax, dword [0x1405319a4]
mov ecx, 0x9da3ddab
add ecx, dword [0x1404e0188]
cmp eax, ecx
jge 0x140162fb6
mov eax, dword [0x1405319a0]
mov ecx, eax
sub ecx, dword [0x1404e0188]
imul ecx, eax
test cl, 1
je 0x140162f80
lea r12, [0x140167f80]
nop dword [rax]
mov ecx, 0x4b
call fcn.14039c114
mov qword [0x140531998], rax
mov rcx, r12
call fcn.1403bbdc0
mov eax, dword [0x1405319a4]
cmp eax, 0x42
jge 0x140162fc0
jmp 0x140162fa0
xor eax, eax
mov r14d, 0
test r15d, r15d
mov r12, qword [rbp + 0x450]
jle 0x1401630b0
mov ecx, 0x1da2
mov edx, 0x9da3dd52
lea r8, [fcn.1401623d0]
add r8d, r8d
add r8d, 0x2960
xor r14d, r14d
nop dword [rax]
movsxd r9, eax
mov r10, qword [rbp + 0x448]
movzx r9d, word [r10 + r9]
mov r10d, dword [0x1405319a0]
lea r11d, [r10 + 1]
imul r11d, r10d
test r11b, 1
mov r10d, dword [0x1404e0188]
add r10d, edx
test r8d, r10d
jne 0x140163042
mov r10d, r14d
not r10d
mov r11d, dword [0x1404e019c]
add r11d, ecx
xor r11d, r9d
xor r9d, r10d
not r9d
mov r14d, r9d
and r14d, r10d
not r11d
mov r9d, r11d
xor r9d, r10d
and r9d, r11d
or r9d, r10d
mov r10d, dword [0x1405319a0]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
not r9d
or r14d, r9d
mov r9d, dword [0x1404e0188]
add eax, r9d
add eax, 0x9da3dd53
cmp eax, r15d
jl 0x140163020
mov eax, dword [0x1405319a4]
cmp eax, 0x37
jg 0x1401630b0
mov eax, dword [0x1405319a0]
nop word cs:[rax + rax]
mov eax, dword [0x1405319a4]
cmp eax, 0x49
jg 0x1401630d0
cmp byte [rbp + 0x45e], 0
jne 0x1401630fb
mov r15, qword [rbp + 0x418]
mov rcx, r15
call fcn.140073e00
mov rcx, r15
call fcn.1400a6560
mov qword [rbp + 0x440], r12
mov rcx, rdi
mov rdx, r12
call fcn.140102ed0
test al, al
jne 0x140163123
call fcn.1401071a0
mov rcx, rax
mov edx, 0xff
call fcn.140161ed0
mov ecx, 0x9da3dd51
mov eax, 0x9da3e151
xor edx, edx
nop
mov r8d, dword [0x1405319a0]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x1404e0188]
add r8d, ecx
cmp r9d, r8d
jne 0x140163156
test dl, dl
je 0x140163165
mov r8d, dword [0x1405319a4]
cmp r8d, 0x11
jge 0x140163130
jmp 0x140163152
add eax, dword [0x1404e0188]
mov ecx, dword [0x140524bdf]
xor ecx, eax
not ecx
test eax, ecx
je 0x14016338b
cmp qword [rdi + 0x7c0], 0
je 0x14016338b
mov eax, dword [0x1405319a4]
cmp eax, 0x20
jg 0x1401631b0
lea rax, [fcn.1401623d0]
add eax, eax
add eax, 0x2980
mov ecx, eax
not ecx
test ecx, eax
je 0x1401631c3
nop dword [rax]
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401631b0
jmp 0x140163196
lea rcx, [rbp + 0x3c8]
lea rdx, [rbp - 0x40]
call fcn.140239690
mov eax, 0x9da3dd68
xor ecx, ecx
nop word [rax + rax]
mov edx, dword [0x1405319a4]
mov r8d, dword [0x1404e0188]
add r8d, eax
cmp edx, r8d
jge 0x1401631f9
test cl, cl
je 0x140163206
mov edx, dword [0x1405319a4]
cmp edx, 0x4d
jge 0x1401631e0
jmp 0x1401631f5
mov r15, qword [rdi + 0x7c0]
lea rcx, [rbp + 0x3c8]
lea rdx, [rbp + 0x3f0]
call fcn.14023c350
cmp qword [rbp + 0x410], 0x10
jb 0x140163233
mov rcx, qword [rbp + 0x3f8]
jmp 0x14016323a
lea rcx, [rbp + 0x3f8]
mov rax, r15
call qword [case.0x1401138cb.0]
mov rax, qword [rbp + 0x410]
cmp rax, 0x10
jb 0x1401632d6
mov rcx, qword [rbp + 0x3f8]
mov rdx, qword [0x1404e0190]
movabs r9, 0x1163c9a6f5a864be
add r9, rdx
add r9, rax
movabs r8, 0x4784b26d9c15df0b
add r8, rdx
mov rdx, r9
xor rdx, r8
and r8, r9
lea r8, [rdx + r8*2]
movabs rdx, 0x3620e8c6a66d7a4c
add rdx, r8
cmp rdx, 0x1000
jb 0x1401632d1
mov r8, qword [rcx - 8]
sub rcx, qword [0x1404e0190]
sub rcx, r8
movabs rdx, 0xb87b4d9263ea20ee
add rdx, rcx
cmp rdx, 0x20
jae 0x1401637b5
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a6550
mov rax, qword [rbp + 0x3e8]
cmp rax, 0x10
jb 0x140163351
mov rcx, qword [rbp + 0x3d0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14016334c
mov r8, qword [rcx - 8]
mov rdx, qword [0x1404e0190]
add rcx, rdx
movabs r9, 0x4784b26d9c15df02
add r9, rcx
mov rcx, r8
neg rcx
mov r10, r9
xor r10, rcx
and rcx, r9
lea rcx, [r10 + rcx*2]
movabs r9, 0x4784b26d9c15df2a
add r9, rdx
cmp rcx, r9
jae 0x1401637fb
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a6550
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1404e0188]
mov edx, eax
xor edx, 0x9da3dd51
and eax, 0x1da3dd51
lea eax, [rdx + rax*2]
cmp ecx, eax
nop dword [rax + rax]
mov eax, dword [0x1405319a4]
cmp eax, 0x42
jge 0x140163380
call fcn.14007df70
mov r15, rax
movzx eax, byte [rbp + 0x45f]
xor al, 1
mov byte [r15 + 0x778], al
mov rcx, r15
call fcn.140148120
mov rcx, rsi
call fcn.14010d640
lea rdx, [0x140524bdf]
lea r8, [rbp + 0x440]
mov rcx, r15
call fcn.1400f47a0
lea rdx, [0x140524bdf]
mov rcx, r15
call fcn.140141ed0
mov byte [rbp + 0x448], al
mov eax, dword [0x1405319a0]
cmp byte [rbp + 0x448], 0
je 0x140163580
test byte [r15 + 0x165], 1
jne 0x1401634b0
mov eax, dword [0x1404e0188]
lea ecx, [rax - 0x625c22b0]
mov edx, 0x625c22af
sub edx, eax
xor edx, ecx
and edx, dword [r15 + 0x160]
xor edx, ecx
mov ecx, eax
xor ecx, 0x9e23dd51
mov r8d, eax
and r8d, 0x1e23dd51
lea ecx, [rcx + r8*2]
mov r8d, edx
xor r8d, edx
not r8d
and r8d, ecx
xor r8d, edx
mov ecx, r8d
not ecx
xor r8d, 0x800000
and ecx, 0xff7fffff
or ecx, r8d
not ecx
add eax, 0x9da3dd51
cmp ecx, eax
jne 0x1401634b0
cmp qword [rdi + 0x4e8], 0
je 0x1401634b0
cmp qword [rdi + 0x4f0], 0
je 0x1401634b0
mov rax, qword [rdi + 0x4f8]
xor ecx, ecx
call qword [case.0x1401138cb.0]
mov eax, dword [0x1405319a4]
cmp eax, 0xa
nop
mov eax, dword [0x1405319a0]
mov ecx, eax
sub ecx, dword [0x1404e0188]
imul ecx, eax
test cl, 1
jne 0x140163490
call fcn.1401621d0
nop dword [rax + rax]
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401634b0
lea rdx, [0x140524bdf]
mov rcx, r15
call fcn.14013cbc0
mov eax, dword [0x1405319a4]
nop word cs:[rax + rax]
mov eax, dword [0x1405319a0]
mov ecx, dword [0x1404e0188]
mov edx, eax
sub edx, ecx
imul edx, eax
and edx, 1
add ecx, 0x9da3dd51
cmp edx, ecx
jne 0x1401634e0
call fcn.1401b6140
xor eax, eax
test al, al
je 0x14016351b
nop dword [rax + rax]
mov eax, dword [0x1405319a4]
cmp eax, 0x37
jge 0x140163510
call fcn.1401644f0
mov rbx, rax
mov r12d, dword [0x140531116]
mov edx, dword [0x14053111a]
mov rcx, r15
call fcn.1400f46d0
lea rcx, [fcn.1401623d0]
lea r8d, [rcx + rcx]
add r8d, 0x46e0
mov r9d, r8d
not r9d
test r9d, r8d
jne 0x140163573
mov ecx, dword [r15 + 0x160]
mov edx, dword [0x14053111e]
mov r10d, dword [0x1405319a4]
cmp r10d, 0x42
jle 0x1401635f3
mov ecx, dword [0x1405319a4]
cmp ecx, 0x21
jge 0x140163550
jmp 0x140163555
mov eax, dword [0x140524bdf]
mov ecx, eax
or ecx, 1
mov dword [0x140524bdf], ecx
test eax, 0x100
je 0x14016377f
test byte [0x140524be3], 0x10
je 0x1401635b1
lea rcx, [0x140524bdf]
call fcn.140133be0
call fcn.140158880
test rbx, rbx
jne 0x1401635e2
mov rsi, qword [0x1405341e0]
test rsi, rsi
je 0x1401635e2
mov rcx, rsi
call fcn.140084c90
mov rcx, rsi
call fcn.1400a6560
mov qword [0x1405341e0], 0
xor ecx, ecx
xor edx, edx
mov r8, rbx
call fcn.1403bc2e8
jmp 0x14016397d
mov r8d, ecx
not r8d
and r8d, 0xfffdffff
and ecx, 0x20000
or ecx, r8d
xor ecx, 0x20000
xor r8d, 0xfffdffff
or r8d, ecx
not r8d
test r8d, r8d
sete r8b
mov dword [rsp + 0x20], r12d
mov rcx, rbx
mov r9, rax
call fcn.140108480
mov dword [0x14053111e], 0
mov dword [0x140531116], 0
mov rcx, r15
call fcn.1400b1df0
mov rcx, r15
mov dl, 1
xor r8d, r8d
call fcn.1400afb10
test byte [r15 + 0x160], 4
je 0x1401636e2
cmp qword [0x1405319b8], 0
jne 0x140163697
mov ecx, 0x98
call fcn.1403bba7c
mov qword [rbp + 0x450], rax
mov rcx, rax
call fcn.140164d90
mov rax, qword [rbp + 0x450]
mov qword [0x1405319b8], rax
mov r12, qword [0x1405319b8]
mov ebx, dword [0x14053114e]
mov edx, dword [0x140531152]
mov rcx, r15
call fcn.1400f46d0
mov edx, dword [0x140530d1b]
mov rcx, r12
mov r8, rax
mov r9d, ebx
call fcn.140172f50
mov eax, 0x9da3dd51
add eax, dword [0x1404e0188]
mov dword [0x140530d1b], eax
mov qword [0x14053114e], 0
mov eax, dword [r15 + 0x160]
mov ecx, eax
not ecx
mov edx, dword [0x1404e0188]
lea r8d, [rdx - 0x625c22a7]
mov r9d, ecx
xor r9d, eax
and r9d, r8d
xor r9d, eax
mov r8d, eax
and r8d, 0xfffffff7
and ecx, 8
or ecx, r8d
and eax, 8
or eax, ecx
not eax
or eax, r9d
add edx, 0x9da3dd50
xor edx, eax
mov r10d, dword [rbp + 0x43c]
je 0x140163a7d
cmp qword [0x140531838], 0
jne 0x14016376a
mov ecx, 0xa0
call fcn.1403bba7c
mov qword [rbp + 0x450], rax
mov rcx, rax
call fcn.14015bde0
mov rax, qword [rbp + 0x450]
mov qword [0x140531838], rax
mov r10d, dword [rbp + 0x43c]
cmp dword [0x1404e0188], 0x625c22af
jne 0x1401639b0
jmp 0x140163989
mov rcx, qword [0x1405316b0]
test rcx, rcx
je 0x1401637a7
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401138cb.0]
mov qword [0x1405316b0], 0
cmp dword [0x1404e0188], 0x625c22af
jne 0x140163820
jmp 0x140163800
mov eax, 0x9da3dd52
lea rcx, [fcn.1401623d0]
add ecx, ecx
add ecx, 0x2fc0
mov edx, dword [0x1404e0188]
add edx, eax
test ecx, edx
je 0x1401637f6
mov edx, dword [0x1405319a0]
mov r8d, dword [0x1404e0188]
add r8d, edx
add r8d, 0x9da3dd52
imul r8d, edx
test r8b, 1
jmp 0x1401637c9
call fcn.14039c09c
call fcn.14039c09c
mov rcx, qword [0x140531730]
mov eax, dword [0x1405319a0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14016382d
nop dword [rax + rax]
mov eax, dword [0x1405319a4]
cmp eax, 0x53
jge 0x140163820
jmp 0x140163800
test rcx, rcx
je 0x14016384e
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401138cb.0]
mov qword [0x140531730], 0
mov rsi, qword [0x1405317e0]
test rsi, rsi
je 0x140163918
mov edi, 0x9da3dda5
mov ebx, 0x9da3dd52
nop dword [rax + rax]
mov eax, dword [0x1405319a4]
mov ecx, dword [0x1404e0188]
add ecx, edi
cmp eax, ecx
jl 0x1401638c2
mov rax, qword [rsi]
mov rax, qword [rax]
mov edx, dword [0x1404e0188]
add edx, ebx
mov rcx, rsi
call qword [case.0x1401138cb.0]
mov qword [0x1405317e0], 0
mov eax, dword [0x1405319a0]
mov ecx, dword [0x1404e0188]
neg ecx
add ecx, eax
add ecx, 0x9da3dd52
imul ecx, eax
test cl, 1
jne 0x140163870
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
mov edx, 1
call qword [case.0x1401138cb.0]
mov qword [0x1405317e0], 0
jmp 0x140163918
mov ecx, dword [0x1405319a0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404e0188]
lea r8d, [rcx - 0x625c22ad]
xor edx, edx
div r8d
add ecx, 0x9da3dd51
cmp edx, ecx
je 0x140163923
mov eax, dword [0x1405319a4]
cmp eax, 0x35
jg 0x1401638f0
mov rcx, qword [0x140531678]
mov eax, dword [0x1405319a4]
cmp eax, 0x5f
jg 0x1401638f0
test rcx, rcx
je 0x140163956
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1401138cb.0]
mov qword [0x140531678], 0
mov rsi, qword [0x1405341e0]
test rsi, rsi
je 0x14016397d
mov rcx, rsi
call fcn.140084c90
mov rcx, rsi
call fcn.1400a6560
mov qword [0x1405341e0], 0
mov rsi, qword [0x140524c03]
jmp 0x140163e41
mov rax, qword [0x140531838]
mov ecx, dword [r15 + 0x160]
shr ecx, 0x12
and cl, 1
mov byte [rax + 9], cl
mov eax, dword [0x1405319a4]
cmp eax, 0x55
jl 0x140163a7d
nop
mov eax, dword [0x1404e0188]
mov ecx, 0x6cea0c40
sub ecx, eax
lea ecx, [rcx + rcx*8]
mov edx, eax
xor edx, 0x9da3dd63
and eax, 0x1da3dd63
lea eax, [rdx + rax*2]
lea eax, [rax + rcx*2]
mov ecx, 0x772d2e49
sub ecx, eax
lea eax, [rcx + rcx*8]
mov edx, eax
add edx, edx
lea ecx, [rax + rax]
add ecx, 0xfa6e726e
lea eax, [rdx + rax*2]
add eax, 0xf4dce4dc
mov r8d, 0x12
sub r8d, eax
imul r8d, ecx
mov eax, r8d
shl eax, cl
mov edx, r8d
mov ecx, eax
shl edx, cl
sub r8d, edx
imul r8d, edx
mov ecx, edx
shr r8d, cl
movzx ecx, byte [0x1404e0198]
sub cl, r8b
shl cl, 2
add cl, 0x70
xor cl, 0xfd
lea edx, [rcx + rcx]
sub dl, cl
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub cl, al
mov eax, ecx
mul dl
mov r8d, eax
mov ecx, edx
shl r8b, cl
mov rcx, qword [0x140531838]
sub al, r8b
mul r8b
mov edx, eax
not dl
xor al, r8b
not r8b
and r8b, dl
or r8b, al
not r8b
mov byte [rcx + 9], r8b
mov eax, dword [0x1405319a4]
cmp eax, 0x40
jge 0x1401639b0
jmp 0x140163989
mov r8d, 0x9da3dd9c
nop word cs:[rax + rax]
mov ecx, dword [0x1405319a0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404e0188]
lea r9d, [rcx - 0x625c22ad]
xor edx, edx
div r9d
add ecx, 0x9da3dd51
cmp edx, ecx
jne 0x140163ad2
mov rcx, qword [0x1405317d8]
mov eax, dword [0x1405319a4]
mov edx, dword [0x1404e0188]
add edx, r8d
cmp eax, edx
jl 0x140163b08
mov eax, dword [0x1405319a0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140163a90
jmp 0x140163ab8
movzx eax, word [0x140403c98]
mov eax, dword [0x1405319a0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140163b33
mov edx, dword [0x1405319a0]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x1404e0188]
lea r9d, [r8 - 0x625c22ad]
xor edx, edx
div r9d
add r8d, 0x9da3dd51
cmp edx, r8d
jne 0x140163af0
xor edx, edx
cmp r13d, r10d
setne r8b
movzx eax, word [0x140403c98]
mov r9d, dword [0x1405319a4]
cmp r9d, 0xe
jg 0x140163af0
mov dl, r8b
dec edx
sub eax, r14d
nop dword [rax + rax]
mov r8d, dword [0x1405319a4]
cmp r8d, 0x18
jl 0x140163b7f
nop dword [rax]
mov r8d, dword [0x1405319a4]
cmp r8d, 0x28
jge 0x140163b70
jmp 0x140163b60
movsx r8d, dx
mov edx, eax
xor edx, r8d
not edx
mov r8d, 0x9da3dd52
mov r9d, dword [0x1405319a4]
cmp r9d, 0x62
jle 0x140163bc3
mov r9d, dword [0x1405319a0]
lea r10d, [r9 - 1]
mov r11d, dword [0x1404e0188]
add r11d, r8d
mov dword [0x1405319a0], r11d
imul r10d, r9d
test r10b, 1
jne 0x140163b90
and edx, eax
movzx eax, dx
mov edx, dword [0x1405319a4]
add qword [0x1405319b0], rax
test rcx, rcx
jne 0x140163c17
mov ecx, 0x40
call fcn.1403bba7c
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0xf
mov byte [rax + 8], 0
lea rcx, [0x1404040b8]
mov qword [rax], rcx
xorps xmm0, xmm0
movups xmmword [rax + 0x28], xmm0
mov dword [rax + 0x38], 0
mov qword [0x1405317d8], rax
mov r12, qword [0x1405317d8]
mov r14d, dword [0x14053115e]
mov ebx, dword [0x14053115a]
mov r13d, dword [0x140531156]
mov rcx, qword [r15 + 0x190]
movzx edx, word [0x140530d70]
call fcn.140239370
mov dword [rsp + 0x20], r14d
mov rcx, r12
mov rdx, rax
mov r8d, r13d
mov r9d, ebx
call fcn.140164700
mov eax, dword [0x1405319a4]
cmp eax, 0x56
jg 0x140163c80
mov eax, dword [0x140531162]
mov ecx, dword [0x1405319a0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140163ca0
nop dword [rax]
mov eax, dword [0x1405319a0]
mov ecx, dword [0x1404e0188]
neg ecx
add ecx, eax
add ecx, 0x625c22ae
imul ecx, eax
test cl, 1
jne 0x140163c80
jmp 0x140163c66
test eax, 0x10000000
je 0x140163cd4
mov eax, dword [0x14053503c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov ecx, dword [rax + 0x25810]
mov edx, dword [0x1404e0188]
add ecx, edx
add ecx, 0x9da3dd52
mov dword [rax + 0x25810], ecx
mov qword [0x14053115a], 0
mov eax, dword [0x140531162]
mov ecx, eax
not ecx
xor eax, 0x30
and ecx, 0xffffffcf
or ecx, eax
cmp ecx, 0xffffffdf
jne 0x140163d47
mov eax, dword [r15 + 0x160]
mov ecx, eax
not ecx
xor eax, 0x80000
and ecx, 0xfff7ffff
or ecx, eax
cmp ecx, 0xffffffff
jne 0x140163d47
movzx eax, word [rsi + 0xa]
cmp eax, 0x5ff
ja 0x140163d47
call fcn.140160f20
mov rdx, qword [rdi + 0x2b0]
cmp qword [rax + 0x30], 0x10
jb 0x140163d37
mov rax, qword [rax + 0x18]
jmp 0x140163d3b
add rax, 0x18
mov rcx, rax
mov rax, rdx
call qword [case.0x1401138cb.0]
cmp qword [0x140531678], 0
jne 0x140163d99
mov ecx, 0xe8
call fcn.1403bba7c
lea rcx, [0x1403fe968]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
lea rcx, [0x1403fe9c8]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140531678], rax
mov rax, qword [0x140531678]
mov ecx, dword [0x140531166]
add rcx, qword [rax + 0x38]
mov qword [0x140524c03], rcx
mov eax, dword [0x140524bf3]
mov ecx, 0x5da3dd51
add ecx, dword [0x1404e0188]
xor ecx, eax
not eax
and eax, 0x3fffffff
or eax, ecx
cmp eax, 0x7fffffff
jne 0x140163e28
mov edx, dword [rbp + 0x424]
mov rcx, qword [rbp + 0x430]
call fcn.140165d40
nop word cs:[rax + rax]
mov edx, dword [rbp + 0x420]
mov rcx, qword [rbp + 0x428]
mov eax, dword [0x1405319a4]
cmp eax, 0x47
jl 0x140163e23
nop dword [rax + rax]
mov eax, dword [0x1405319a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140163e10
jmp 0x140163df0
call fcn.140165de0
mov byte [r15 + 0x778], 0
mov eax, 0x9da3dd52
add eax, dword [0x1404e0188]
or dword [0x140524bdf], eax
mov rdi, qword [rbp + 0x440]
test rdi, rdi
je 0x140163e5d
mov rcx, rdi
call fcn.140073e00
mov rcx, rdi
call fcn.1400a6560
cmp byte [rbp + 0x448], 0
je 0x140163e6d
mov rsi, qword [0x140524c03]
mov rax, rsi
add rsp, 0x4e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rsi, qword [0x140524c03]
mov eax, dword [0x1405319a4]
mov ecx, dword [0x1404e0188]
mov edx, ecx
xor edx, 0x9da3dd9e
and ecx, 0x1da3dd9e
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x140163e6d
nop dword [rax]
mov eax, dword [0x1405319a4]
cmp eax, 0x5f
jge 0x140163eb0
jmp 0x140163e84