Function at 0x14006223c
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x158
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x88], r8
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0xa0], rcx
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x98], rax
sub rsp, 0x20
call fcn.14004e61c
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
mov rax, qword [rcx]
movabs rcx, 0x3002c2c06c2808
movabs rdx, 0x3002c2c06c2808
xor rcx, rdx
cmp rax, rcx
jne 0x1400615ff
mov ecx, 0x20
sub rsp, 0x20
call fcn.14004e6a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x80], rcx
mov al, byte [rax]
mov cl, 1
xor cl, 1
cmp al, cl
jne 0x1400621fc
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0xa0]
mov qword [rcx + 0x10], 0
cmp rax, 0
jge 0x1400615e4
mov rcx, qword [rbp + 0x80]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e6db
add rsp, 0x20
jmp 0x1400621fc
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0xa0]
sub rsp, 0x20
call fcn.140019c60
add rsp, 0x20
mov r8, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x90]
mov rax, qword [rbp + 0xa0]
movabs rcx, 0x24afdd1b281ea57a
movabs r9, 0x24afdd1b281ea57a
xor rcx, r9
mov qword [r8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xb0], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0xb8], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14005f070
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x78], rcx
cmp byte [rax], 0
jne 0x1400621fc
mov eax, dword [0x140219070]
mov r8d, dword [0x140219074]
mov edx, 0x30b59d2a
xor edx, 0xcf4a62d5
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xf7e437df
xor ecx, 0xdba22cb7
or eax, ecx
sub eax, 0x9deb7237
add eax, 0x93861607
add eax, 0x4f78b56
sub eax, 0x93861607
mov ecx, 0x982d2bb2
xor ecx, 0xfcc52b21
cmp eax, ecx
jbe 0x140062206
mov rdx, qword [rbp + 0xa0]
mov r8, qword [rbp + 0x78]
mov eax, dword [0x140219078]
mov ecx, 0x810b11e8
xor ecx, 0xb87dd08f
xor eax, ecx
mov r9d, dword [0x14021907c]
mov ecx, 0x609d3913
xor ecx, 0xa43cbf79
xor r9d, ecx
xor ecx, ecx
sub ecx, r9d
sub eax, ecx
add eax, 0x30f7ef2c
mov r10d, 0xffffffff
xor r10d, 0x30a047a0
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r9d
mov r9d, eax
and r9d, 0x30a047a0
or eax, 0x30a047a0
imul eax, r9d
add eax, ecx
and eax, 0x249022c3
mov ecx, 0xbd77ba16
xor ecx, 0x9729bd0f
cmp r8, 0xffffffffffffffff
setg r8b
mov byte [rbp + 0x6f], r8b
mov rdx, qword [rdx]
mov qword [rbp + 0x70], rdx
cmp eax, ecx
ja 0x1400616ea
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x140061798
jmp 0x1400618ed
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x70]
cmp rax, rcx
jl 0x1400618b6
mov eax, dword [0x140219080]
xor eax, 0x2f59eade
xor eax, dword [0x140219084]
mov r8d, 0xffffffff
xor r8d, 0x5fde5c5f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5fde5c5f
or eax, 0x5fde5c5f
imul eax, edx
add eax, ecx
mov ecx, 0x7a5087e7
xor ecx, 0x3f9cd0b1
sub eax, ecx
mov ecx, 0xa0ec3ee2
xor ecx, 0x40e85073
and eax, ecx
cmp eax, 0x9f6f256d
jae 0x14006220f
mov rcx, qword [rbp + 0x78]
mov eax, dword [0x140219088]
xor edx, edx
div dword [0x14021908c]
mov rdx, qword [rbp + 0x70]
mov r10d, eax
mov eax, 0xeb8194d1
xor eax, 0x147e6b2e
mov r8d, r10d
xor r8d, eax
mov eax, 0xc4eb26a2
xor eax, 0x53c5e4f8
and eax, r8d
mov r9d, 0xffffffff
xor r9d, 0x972ec25a
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0x47ac830
and r8d, 0x972ec25a
and r9d, 0x47ac830
or eax, r10d
or r8d, r9d
xor eax, r8d
add eax, 0x32d8bd96
sub eax, 0x10f25420
mov dword [rbp + 0x68], eax
mov eax, 0x6a1304e1
xor eax, 0x2a124caf
mov dword [rbp + 0x64], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400153d3
mov ecx, dword [rbp + 0x64]
mov eax, dword [rbp + 0x68]
add rsp, 0x20
cmp eax, ecx
jae 0x14006220f
jmp 0x1400621fc
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0xa0]
mov rcx, qword [rcx + 8]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 0x10
sub rsp, 0x20
call fcn.140060a5d
add rsp, 0x20
jmp 0x1400621fc
mov rax, qword [rbp + 0x70]
movabs rcx, 0xac22b10be010a110
movabs rdx, 0xac22b10be010a110
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x58], rax
jne 0x1400619c1
mov ecx, 0x20
sub rsp, 0x20
call fcn.14004e6a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x50], rcx
mov al, byte [rax]
mov cl, 0x2e
xor cl, 0x2e
cmp al, cl
jne 0x1400621fc
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0xa0]
mov qword [rcx + 0x10], 0
movabs rcx, 0x34121d4c4b94a138
movabs rdx, 0x34121d4c4b94a138
xor rcx, rdx
cmp rax, rcx
jge 0x14006199b
mov rcx, qword [rbp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e6db
add rsp, 0x20
jmp 0x1400621fc
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.140019c60
mov rax, qword [rbp + 0xa0]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x58], rax
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x58]
mov qword [rbp + 0x30], rcx
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x38], rdx
mov rdx, rax
add rdx, 0x10
mov qword [rbp + 0x40], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x48], rax
movabs rdx, 0x6f8534e7fb9d53c
movabs rax, 0x6f8534e7fb9d53e
xor rdx, rax
lea r8, [rbp + 0xd0]
sub rsp, 0x20
call fcn.14004f610
add rsp, 0x20
test al, 1
jne 0x140061b87
mov rcx, qword [rbp + 0x48]
movabs rdx, 0xe72291b3f400b815
movabs rax, 0xe72291b3f400b816
xor rdx, rax
lea r8, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14004f610
add rsp, 0x20
test al, 1
jne 0x140061b87
mov rcx, qword [rbp + 0xd0]
xor eax, eax
cmp rcx, qword [rbp + 0xc8]
mov byte [rbp + 0x2f], al
jl 0x140061ba9
mov eax, dword [0x140219090]
add eax, dword [0x140219094]
mov ecx, 0x8137ce79
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x89d10fd9
xor eax, 0x12f3ee9b
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xe0e09ed5
or edx, 0xe0e09ed5
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xe0e09ed5
mov edx, 0x1792fbd3
xor edx, 0xe86d042c
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x981a4a1d
xor ecx, 0xa68b7300
cmp eax, ecx
jb 0x140062218
mov r10, qword [rbp + 0x48]
mov r8, qword [rbp + 0x30]
mov ecx, dword [0x140219098]
mov eax, dword [0x14021909c]
mov edx, ecx
not edx
or edx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx + 1]
or eax, 0xdf4efddd
mov ecx, 0xefdb7bdf
mov rdx, r8
xor rdx, r10
mov r11, r10
not r11
mov r9, r8
and r9, r11
add r9, r9
sub r9, rdx
mov qword [rbp + 0x20], r9
mov rdx, r9
xor rdx, r8
mov r8, r9
and r8, r10
add r8, r8
add r9, r10
sub r9, r8
mov r8, rdx
and r8, r9
test rdx, rdx
sets dl
test r8, r8
setns r8b
add dl, r8b
inc dl
mov byte [rbp + 0x2e], dl
cmp eax, ecx
jb 0x140062218
mov al, byte [rbp + 0x2e]
test al, 1
jne 0x140061b87
jmp 0x140061b74
mov rax, qword [rbp + 0x20]
cmp rax, 3
setg al
mov byte [rbp + 0x2f], al
jmp 0x140061ba9
sub rsp, 0x20
call fcn.140008bc6
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
cmp byte [rax], 0
je 0x1400620f9
jmp 0x1400621fc
mov rax, qword [rbp + 0xa8]
mov cl, byte [rbp + 0x2f]
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x1f], al
or al, cl
test al, 1
jne 0x1400620e9
mov rcx, qword [rbp + 0xa0]
sub rsp, 0x20
call fcn.140060c50
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400621fc
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x98]
mov rdx, qword [rdx]
mov qword [rbp - 0x10], rdx
mov rcx, qword [rcx]
mov qword [rbp], rcx
mov rax, qword [rax]
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.14004e61c
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp + 8], rax
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp + 0x10], rax
je 0x1400620bb
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp]
xor edx, edx
sub rdx, 0xffffffffffffffff
sub rax, rdx
mov qword [rbp - 0x20], rax
and rax, rcx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x28], rax
mov eax, dword [0x1402190a0]
xor eax, dword [0x1402190a4]
imul eax, eax, 0xad7509f5
mov edx, 0xc2026442
xor edx, 0x962eed59
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0x7621ca99
xor edx, 0x220d4382
xor eax, edx
add eax, ecx
mov ecx, 0xb4f399b7
xor edx, edx
div ecx
cmp eax, 0x26e1a4d0
je 0x140062221
mov r8, qword [rbp]
mov rdx, qword [rbp - 0x28]
mov ecx, dword [0x1402190a8]
mov r11d, dword [0x1402190ac]
mov r10d, r11d
xor r10d, 0x1d1842e2
xor r11d, 0xe2e7bd1d
mov r9d, ecx
and r9d, r11d
mov eax, ecx
or eax, r11d
not eax
imul eax, r9d
mov r9d, ecx
and r9d, r10d
or ecx, r10d
imul ecx, r9d
add ecx, eax
mov eax, ecx
and eax, 0xd631ec1b
and ecx, 0x54210400
add ecx, ecx
sub eax, ecx
add eax, 0x752d0560
imul rax, rax, 0x5c4a0ca3
shr rax, 0x3b
test rdx, rdx
setns cl
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x29], cl
cmp eax, 0xee006413
jae 0x140061ca7
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140061d5a
jmp 0x140061d3a
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x10], rax
jmp 0x1400620bb
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 8]
mov rax, qword [rbp - 8]
lea r8, [rcx + rcx*2]
mov rax, qword [rax + r8*8 + 8]
mov qword [rbp - 0x40], rax
test rax, rax
sete al
mov r9b, byte [rdx]
xor edx, edx
mov r10b, dl
test r9b, r9b
setne dl
or dl, al
mov r8d, 0x19fe96dc
xor r8d, 0x19fe96df
mov eax, 0xdffe947c
xor eax, 0xdffe947a
cmp r9b, r10b
cmovne eax, r8d
test dl, 1
mov qword [rbp - 0x38], rcx
mov dword [rbp - 0x30], eax
jne 0x140062071
mov eax, dword [0x1402190b0]
xor eax, 0x2aa77f4d
mov ecx, dword [0x1402190b4]
xor ecx, 0xe2213de4
sub eax, ecx
add eax, 0xe767c159
sub eax, 0xc7e2a702
sub eax, 0xe767c159
mov ecx, 0x6ea285ae
xor ecx, 0xfbf8467d
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x11ebd036
shl ecx, 1
add eax, 0x11ebd036
sub eax, ecx
mov ecx, 0x3b4d9966
xor ecx, 0xfd675623
cmp eax, ecx
je 0x14006222a
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x10]
mov eax, dword [0x1402190b8]
xor eax, 0x115f40aa
mov r8d, dword [0x1402190bc]
xor r8d, 0xee580c96
mov r9d, 0xbd4b06c
xor r9d, 0x3b5ece7c
sub eax, r9d
sub eax, r8d
add eax, 0x308a7e10
mov r9d, 0xf8a42ff3
xor r9d, 0x75bd00c
mov r8d, eax
xor r8d, r9d
mov r9d, 0x33485009
xor r9d, 0x55bb1771
and r9d, r8d
mov r10d, 0x44632bb1
xor r10d, 0x22906cc9
mov r8d, 0xe5d374aa
xor r8d, 0x1a2c8b55
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0x9c722df9
xor r10d, 0xfa816a81
mov r9d, eax
and r9d, r10d
mov r10d, 0x55b7b65e
xor r10d, 0x3344f126
or eax, r10d
imul eax, r9d
add eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0xb13fc5f
xor r9d, 0xe2489d6f
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0xe95b6130
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xe95b6130
mov r10d, 0x94941302
xor r10d, 0x7dcf7232
or eax, r10d
imul eax, r9d
add eax, r8d
xor eax, 0x56cb5d53
cmp rcx, rdx
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x8096069d
jb 0x14006222a
mov al, byte [rbp - 0x41]
test al, 1
jne 0x140061f38
jmp 0x14006203c
mov ecx, dword [0x1402190c0]
xor ecx, 0xceafc782
mov edx, dword [0x1402190c4]
xor edx, 0x9d31d0b1
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
mov edx, 0xd59aadf8
xor edx, 0xd59aadf9
add ecx, edx
add ecx, eax
or ecx, 0x808c9e07
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, 0xd26ec799
mov edx, 0x627dd0d6
xor edx, 0x9d822f29
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xd26ec799
mov r8d, 0xffffffff
xor r8d, 0xd26ec799
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
add eax, 0x2bc7947a
cmp eax, 0xed52e0f5
je 0x140062233
mov r8, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
mov eax, dword [0x1402190c8]
imul eax, dword [str.Be_j]
mov edx, 0x742b9232
xor edx, 0x9cf0c1da
or eax, edx
mov r9d, 0x75fe604c
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x90]
mov r9d, 0x979e4aef
xor r9d, 0x5c3cf4b8
add eax, r9d
add rcx, 8
imul r8, r8, 0x18
add rcx, r8
add rcx, 8
cmp qword [rcx], rdx
sete cl
mov byte [rbp - 0x42], cl
cmp eax, 0x8fd82f49
jb 0x140062233
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x42]
test cl, 1
mov qword [rbp + 0x10], rax
jne 0x1400620bb
jmp 0x14006203c
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14004f7a4
mov r8, qword [rbp + 8]
add rsp, 0x20
mov rdx, rax
xor ecx, ecx
xor eax, eax
cmp byte [r8], 0
mov qword [rbp - 0x38], rdx
mov dword [rbp - 0x30], ecx
mov qword [rbp + 0x10], rax
jne 0x1400620bb
mov rax, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x30]
mov dword [rbp - 0x5c], ecx
mov qword [rbp - 0x58], rax
xor edx, edx
mov qword [rbp - 0x50], rdx
test ecx, ecx
mov qword [rbp - 0x18], rax
je 0x140061c58
jmp 0x140062096
mov rax, qword [rbp - 0x50]
mov ecx, dword [rbp - 0x5c]
sub ecx, 6
mov qword [rbp + 0x10], rax
jne 0x1400620bb
jmp 0x1400620af
mov rax, qword [rbp - 0x58]
xor rax, 0xffffffffffffffff
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x10]
mov dl, byte [rdx]
mov r8b, 0xbd
xor r8b, 0xbd
cmp dl, r8b
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
je 0x14006210f
jmp 0x1400621fc
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x1400621fc
jmp 0x1400620f9
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x98]
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], rax
mov r9, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
mov rdx, qword [rbp + 0xa0]
mov r10, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
and rax, rax
xor rax, 0xffffffffffffffff
movabs r11, 0x18f9823f940c2eb2
movabs rsi, 0xe7067dc06bf3d14d
xor r11, rsi
xor rax, r11
mov r11, 0xffffffffffffffff
xor r11, 0xffffffffffffffff
or rax, r11
mov r11, 0xffffffffffffffff
and r11, 0xffffffffffffffff
xor r11, 0xffffffffffffffff
and rcx, r11
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140060ae6
mov rax, qword [rbp + 0xa8]
add rsp, 0x30
cmp byte [rax], 0
jne 0x1400621fc
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
movabs rdx, 0xa4934bd1ca05edb3
mov bl, 0xed
add eax, 0x934bd1ca
movsb byte [rdi], byte [rsi]
movabs rax, 0xa4934bd1ca05edb2
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp - 0x78], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400621f1
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x1400621fc
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x78]
mov qword [rax], rcx
lea rsp, [rbp + 0xd8]
pop rsi
pop rbp
ret
mov dl, byte [rcx]
int1
jmp 0x1400616ea
clc
stosb byte [rdi], al
adc bh, byte [rax]
jmp 0x14006180e
pop rdi
movabs rax, 0x8e5ffffff8c3e9fa
in al, dx
pop rdi
mov fs, word [rbp - 0x14]
jmp 0x140061ca7
jno 0x1400621af
cmp eax, 0xfbe0e9e5
invalid
pop rbx
cmc
jmp 0x140061fbc
sub rsp, 0x38
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
call fcn.14004e61c
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x1400614f0