Function at 0x1401fe220
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x20], rcx
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.140206ec0
add rsp, 0x20
mov qword [rbp + 0x18], rax
add rax, 0x50
mov qword [rbp + 8], rax
lea rcx, [rbp + 0x60]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401f6670
add rsp, 0x20
lea rcx, [rbp + 0x60]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.1400335a1
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov word [rcx], 8
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x20], rcx
cmp byte [rax + 0x50], 0
jne 0x1401fe401
mov rcx, qword [rbp - 0x18]
movabs rdx, 0xc57cb2b219586c78
movabs rax, 0xc57cb2b219586c68
xor rdx, rax
sub rsp, 0x20
call fcn.1401f6670
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 8]
add rsp, 0x20
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400e88cb
mov rax, qword [rbp + 8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x3e
xor cl, 0x3e
cmp al, cl
jne 0x1401fe401
mov rax, qword [rbp - 0x18]
cmp byte [rax + 8], 0
jne 0x1401fe39b
sub rsp, 0x20
call fcn.14008e6f0
add rsp, 0x20
mov rax, qword [rbp + 8]
mov al, byte [rax]
mov cl, 0xa3
xor cl, 0xa3
cmp al, cl
jne 0x1401fe401
jmp 0x1401fe429
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax]
mov qword [rbp - 0x40], rdx
lea rcx, [rbp + 0x60]
mov r8d, 7
sub rsp, 0x20
call fcn.1401f4520
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov dl, byte [rax]
mov byte [rbp - 0x31], dl
mov dl, 0xe
xor dl, 0xe
mov byte [rax], dl
sub rsp, 0x20
call fcn.1400e9011
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401fe401
mov al, byte [rbp - 0x31]
mov rcx, qword [rbp + 8]
mov byte [rcx], al
cmp al, 0
jne 0x1401fe401
jmp 0x1401fe429
mov rax, qword [rbp + 8]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401f6af7
mov rax, qword [rbp + 8]
add rsp, 0x20
mov cl, byte [rax]
mov al, 1
cmp cl, 0
mov byte [rbp - 0x41], al
jne 0x1401fe7d9
mov word [rbp + 0x5e], 0x11c
lea rcx, [rbp + 0x5e]
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 8]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x1401fe70f
mov rcx, qword [rbp]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401f6670
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x30]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rbp + 0x48], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x50], rax
lea r8, [rbp + 0x48]
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400e88cb
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401fe70f
mov eax, dword [0x140223f80]
mov edx, dword [0x140223f84]
mov ecx, 0x842c7d18
xor ecx, 0x7bd382e7
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xc1982fa4
or eax, edx
or ecx, 0xc1982fa4
xor eax, 0xffffffff
and eax, ecx
xor eax, 0xba94af45
imul eax, eax, 0x765f2930
mov ecx, 0xd2a7f48
xor ecx, 0xcfabd307
sub eax, ecx
mov ecx, 0xe7feb677
xor ecx, 0x8f4d0542
sub eax, ecx
add eax, 0xc281ac4f
cmp eax, 0x2355a36d
je 0x1401feb87
mov rcx, qword [rbp]
mov eax, dword [0x140223f88]
mov edx, dword [0x140223f8c]
xor edx, 0xed0ddef1
and eax, edx
xor edx, edx
sub edx, 0xa4b7c52c
add eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xa39cc69d
xor r8d, 0xdaff5e82
and edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x7963981f
and eax, r8d
sub eax, edx
mov r8d, 0x59c7e346
xor r8d, 0x6edd0354
xor edx, edx
div r8d
mov cl, byte [rcx + 8]
mov dl, 0xd9
xor dl, 0xd9
cmp cl, dl
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xb6494529
ja 0x1401feb87
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1401fe598
jmp 0x1401fe6a7
sub rsp, 0x20
call fcn.14008e6f0
add rsp, 0x20
mov rax, qword [rbp + 8]
cmp byte [rax], 0
jne 0x1401fe70f
mov ecx, dword [0x140223f90]
mov edx, dword [0x140223f94]
xor edx, 0x2c75e305
and ecx, ecx
xor ecx, 0xffffffff
mov r8d, 0x972b81b2
xor r8d, 0x68d47e4d
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
and ecx, eax
mov eax, 0xbcab517e
xor eax, 0x4354ae81
xor ecx, eax
mov eax, 0x1b684393
xor eax, 0xc6dbf017
add ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xfe1ab475
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xfe1ab475
or ecx, 0xfe1ab475
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x963211c9
and eax, edx
mov edx, 0x46e953ef
xor edx, 0xd0db4226
or ecx, edx
mov edx, 0xaa636c94
xor edx, 0x559c936b
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xb092a841
xor ecx, 0xee3bb347
cmp eax, ecx
jb 0x1401feb90
mov eax, dword [0x140223f98]
sub eax, dword [0x140223f9c]
mov ecx, 0x953f6c84
xor ecx, 0x8470476
xor edx, edx
div ecx
sub eax, 0xc5eb9a63
mov ecx, 0xcbd32e1a
xor edx, edx
div ecx
cmp eax, 0xd9cf80f3
je 0x1401fe66e
jmp 0x1401fe737
mov rax, qword [rbp]
mov rdx, qword [rax]
mov qword [rbp - 0x60], rdx
mov r8b, 0x9a
xor r8b, 0x9d
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.1401f4520
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp + 8]
add rsp, 0x20
mov dl, byte [rax]
mov byte [rbp - 0x52], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400e9011
mov rax, qword [rbp + 8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401fe70f
mov al, byte [rbp - 0x52]
mov rdx, qword [rbp + 8]
mov cl, 0x24
xor cl, 0x24
mov byte [rdx], al
cmp al, cl
jne 0x1401fe70f
jmp 0x1401fe737
mov rax, qword [rbp + 8]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401f6af7
mov rax, qword [rbp + 8]
add rsp, 0x20
mov cl, byte [rax]
mov al, 1
cmp cl, 0
mov byte [rbp - 0x41], al
jne 0x1401fe7d9
sub rsp, 0x20
mov cx, 0x11b
call fcn.14006fe60
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 8]
mov al, byte [rax]
test al, al
sete cl
mov r8, qword [rbp + 0x60]
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x61], al
jne 0x1401fe773
jmp 0x1401fe7d3
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov rax, qword [rax + 0x40]
mov byte [rax], 1
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.1401f382e
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x30], rax
lea rdx, [rbp + 0x28]
sub rsp, 0x20
call fcn.140033b10
mov rax, qword [rbp + 8]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x61], al
mov al, byte [rbp - 0x61]
mov byte [rbp - 0x41], al
mov al, byte [rbp - 0x41]
mov byte [rbp - 0x62], al
mov r8d, dword [0x140223fa0]
sub r8d, dword [0x140223fa4]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x14b035e4
mov edx, 0xffffffff
xor edx, 0x14b035e4
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x69f55c89
and ecx, 0x14b035e4
and edx, 0x69f55c89
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0x2908f3f2
mov ecx, 0x9010b0ec
xor ecx, 0xa3155fc8
xor eax, ecx
cmp eax, 0x229681d4
je 0x1401feb99
mov rax, qword [rbp + 8]
mov ecx, dword [str.FN:h]
and ecx, dword [0x140223fac]
or ecx, 0x6783bb1b
add ecx, 0x7dc086eb
mov r8d, 0xffffffff
xor r8d, 0xa7bd3c4
mov edx, ecx
and edx, r8d
mov r9d, 0x5acd1f08
xor r9d, 0x50b6cccc
mov r8d, ecx
xor r8d, r9d
add ecx, r8d
sub ecx, edx
mov dword [rbp - 0x68], ecx
mov ecx, 0x8a5ef014
xor ecx, 0x8a1f79f3
mov dword [rbp - 0x6c], ecx
mov byte [rax], 0
lea rcx, [rbp + 0x60]
sub rsp, 0x20
call fcn.1401f3809
mov rdx, qword [rbp + 8]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xad
xor r8b, 0xad
cmp dl, r8b
sete dl
mov byte [rbp - 0x63], dl
cmp eax, ecx
jb 0x1401fe841
mov al, byte [rbp - 0x63]
test al, 1
jne 0x1401fe8e0
jmp 0x1401fe8f1
mov al, byte [rbp - 0x62]
mov rcx, qword [rbp + 8]
mov byte [rcx], al
cmp al, 0
je 0x1401fea53
mov r8d, dword [0x140223fb0]
mov edx, dword [0x140223fb4]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x5feaae8e
mov r9d, 0x3c3b0f4e
xor r9d, 0x63d1a1c0
mov ecx, 0x8163281
xor ecx, 0xf7e9cd7e
xor r9d, ecx
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x5feaae8e
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
and ecx, 0x8fc9db32
shl ecx, 1
add eax, 0x8fc9db32
sub eax, ecx
mov ecx, eax
xor ecx, 0xc4dca907
xor ecx, 0xffffffff
mov edx, 0xc907ac27
xor edx, 0xddb0520
or eax, edx
and eax, ecx
mov ecx, 0x26bbf4a
xor ecx, 0x78a1abff
imul eax, ecx
mov ecx, 0x10184346
xor ecx, 0xb73ef0fc
cmp eax, ecx
je 0x1401feba2
mov eax, dword [0x140223fb8]
mov ecx, dword [0x140223fbc]
xor ecx, 0x211652ab
xor eax, ecx
and eax, 0x5b0545e4
mov ecx, 0x24ba0903
xor ecx, 0x2bb8c53f
xor edx, edx
div ecx
imul eax, eax, 0xf0b68f29
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.1401f6aae
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x7c]
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp word [rcx + 0x12], 1
setg cl
mov byte [rbp - 0x6d], cl
cmp eax, 0x63004b3d
jb 0x1401fe989
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1401fe9fa
jmp 0x1401fea53
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1401fea53
mov rax, qword [rbp + 8]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401f6ac0
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400a4060
mov rax, qword [rbp + 8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xdb
xor cl, 0xdb
cmp al, cl
jne 0x1401fea53
sub rsp, 0x20
call fcn.1401f6af7
add rsp, 0x20
mov eax, dword [0x140223fc0]
mov edx, dword [0x140223fc4]
xor edx, 0x7751094b
mov r8d, eax
and r8d, edx
mov ecx, 0x6028d631
xor ecx, 0x6028d633
imul ecx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0xca8f574a
xor ecx, 0xf729e145
or eax, ecx
mov ecx, 0xc0c18a08
xor ecx, 0x245bca6a
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x1789282
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1789282
mov r8d, 0x7e0a2100
xor r8d, 0x7f72b382
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x4e8bde8a
jb 0x1401febab
mov eax, dword [0x140223fc8]
mov edx, dword [0x140223fcc]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
mov r8d, 0x48f51224
xor r8d, 0xb70aeddb
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
and ecx, eax
xor ecx, 0xffffffff
or ecx, 0x6d257ef2
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x2ba54a9
xor edx, 0x9d5c8703
and edx, eax
mov r8d, 0xffffffff
xor r8d, 0x9fe6d3aa
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x880b5480
xor r8d, 0x17ed872a
mov edx, ecx
and edx, r8d
or ecx, 0x9fe6d3aa
imul ecx, edx
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x8dcd0448
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x71a2f332
xor ecx, 0xc1d5e86c
cmp eax, ecx
jae 0x1401feade
invalid
lea rsp, [rbp + 0x70]
pop rbp
ret
invalid
movsb byte [rdi], byte [rsi]
cmp al, 0x40
jrcxz 0x1401feb7e
invalid
mov cl, 0x2a
cmc
out 0xe9, al
lahf
cld
invalid
push rdx
jbe 0x1401fec04
invalid
outsb dx, byte [rsi]
out 0xe9, eax
sub bh, bh
invalid
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.140206ec0
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x10], rax
add rax, 0x50
mov qword [rbp - 0x28], rax
mov edx, 0x10
sub rsp, 0x20
call fcn.1401f6670
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
movabs rdx, 0x87a381bc25b8ec81
movabs rax, 0x87a381bc25b8ec81
xor rdx, rax
sub rsp, 0x20
call fcn.1400335a1
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov word [rcx], 0x252
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 8], rcx
cmp byte [rax + 0x50], 0
jne 0x1401ff044
lea rcx, [rbp + 0x20]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401f6670
mov rax, qword [rbp - 8]
mov rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x30]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x20]
mov r9d, 0x20019
sub rsp, 0x20
call fcn.1400e88cb
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ff044
cmp byte [rbp + 0x28], 0
jne 0x1401feeec
mov eax, dword [0x140223fd0]
xor eax, 0xffcba520
xor edx, edx
div dword [0x140223fd4]
mov ecx, eax
mov eax, ecx
or eax, 0x921e4f72
xor eax, 0xffffffff
mov edx, 0xf5b1d655
xor edx, 0xa4e29aa
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x921e4f72
and ecx, edx
mov edx, 0xd60ee577
xor edx, 0x29f11a88
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x922918b1
xor ecx, 0x32f5045a
xor eax, ecx
or eax, 0xfe46d705
cmp eax, 0xba644d88
je 0x1401ff1e5
mov ecx, dword [0x140223fd8]
mov eax, 0x62cb2505
xor eax, 0xed482156
xor ecx, eax
mov edx, dword [0x140223fdc]
mov eax, ecx
xor eax, edx
mov r8d, 0xf1c1cdf1
xor r8d, 0xe3e320e
xor eax, r8d
or ecx, edx
and ecx, eax
mov eax, ecx
xor eax, 0xdbbc11f2
xor eax, 0xffffffff
or ecx, 0xdbbc11f2
and ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x1d3f2169
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x1d3f2169
or ecx, 0x1d3f2169
imul ecx, edx
add ecx, eax
mov edx, 0x840d4786
xor edx, 0x676188b3
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov edx, 0xbb3480a7
xor edx, 0x44cb7f58
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xe36ccf35
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov dword [rbp - 0x58], eax
sub rsp, 0x20
call fcn.14008e6f0
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov eax, dword [rbp - 0x58]
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xedd93327
jbe 0x1401ff1e5
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1401fee40
jmp 0x1401ff044
mov ecx, dword [0x140223fe0]
mov eax, dword [0x140223fe4]
mov edx, 0xf98caa83
xor edx, 0x7e85b4f0
xor eax, edx
imul ecx, eax
mov eax, 0x7eac2fb5
xor eax, 0xcf523d9f
or ecx, eax
add ecx, 0x99ea2a57
mov eax, ecx
and eax, 0x7e025369
xor ecx, 0x7e025369
or eax, ecx
cmp eax, 0xdb0d3858
jae 0x1401ff1ee
mov eax, dword [0x140223fe8]
xor edx, edx
div dword [0x140223fec]
add eax, 0x9c6c4c65
mov edx, 0x19fdedca
xor edx, 0xa9086445
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0xb0f5898f
shl ecx, 1
mov edx, 0x9751d510
xor edx, 0x27a45c9f
sub ecx, edx
sub eax, ecx
sub eax, 0x4d1c8e10
mov ecx, 0xade0942
xor ecx, 0xd31f4d7d
sub eax, ecx
add eax, 0x4d1c8e10
cmp eax, 0xb2ee3192
ja 0x1401fee88
jmp 0x1401ff074
mov eax, dword [0x140223ff0]
mov ecx, dword [0x140223ff4]
mov edx, 0xc8c75792
xor edx, 0xc5451efc
xor ecx, edx
mov edx, 0xe168b679
xor edx, 0x9052abff
sub eax, edx
add eax, ecx
add eax, 0x713a1d86
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x4ea3eb5
mov edx, 0xb617997f
xor edx, 0x82de9a0f
mov r8d, 0xcfc4992f
xor r8d, 0x303b66d0
xor edx, r8d
or eax, ecx
mov ecx, 0xc9a98a17
xor ecx, 0xfd608967
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x93ff31a4
xor edx, edx
div ecx
mov ecx, 0xddba6985
xor edx, edx
div ecx
mov ecx, 0x71755338
xor ecx, 0xf2bf7a91
cmp eax, ecx
ja 0x1401ff1f7
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x140223ff8]
xor eax, 0xc87c0141
mov edx, dword [0x140223ffc]
mov r8d, 0xd677190e
xor r8d, 0x928726d0
xor edx, r8d
sub eax, edx
xor eax, 0x5f1f1dc2
xor eax, 0x26322da5
or eax, 0x3562c842
mov dword [rbp - 0x60], eax
mov eax, 0xb11ce746
xor eax, 0x950a74a4
mov dword [rbp - 0x64], eax
mov rdx, qword [rbp + 0x20]
mov qword [rbp - 0x70], rdx
mov r8b, 0x13
xor r8b, 0x14
sub rsp, 0x20
call fcn.1401f4520
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov dl, byte [rax]
mov byte [rbp - 0x65], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400e9011
mov rdx, qword [rbp - 0x28]
mov ecx, dword [rbp - 0x64]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xa3
xor r8b, 0xa3
cmp dl, r8b
sete dl
mov byte [rbp - 0x59], dl
cmp eax, ecx
jb 0x1401fef7b
mov al, byte [rbp - 0x59]
test al, 1
jne 0x1401ff02e
jmp 0x1401ff044
mov al, byte [rbp - 0x65]
mov rcx, qword [rbp - 0x28]
mov byte [rcx], al
cmp al, 0
jne 0x1401ff044
jmp 0x1401ff074
mov rax, qword [rbp - 0x28]
mov cl, 4
xor cl, 4
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401f6af7
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x72
xor dl, 0x72
mov al, 1
cmp cl, dl
mov byte [rbp - 0x71], al
jne 0x1401ff11b
sub rsp, 0x20
mov cx, 0x8cf
call fcn.14006fe60
mov r8, qword [rbp - 0x20]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x28]
mov al, byte [rax]
test al, al
sete cl
mov r8, qword [r8]
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x72], al
jne 0x1401ff0b3
jmp 0x1401ff115
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov rax, qword [rax + 0x40]
mov byte [rax], 1
mov rax, qword [rcx]
mov qword [rbp + 0x10], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x18], rax
sub rsp, 0x20
call fcn.1401f382e
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov rcx, qword [rax]
add rcx, 0x10
mov rax, qword [rbp + 0x10]
mov qword [rbp], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 8], rax
mov rdx, rbp
sub rsp, 0x20
call fcn.140033b10
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x72], al
mov al, byte [rbp - 0x72]
mov byte [rbp - 0x71], al
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov dl, byte [rbp - 0x71]
mov byte [rbp - 0x73], dl
xor edx, edx
xor dl, 0
mov byte [rax], dl
sub rsp, 0x20
call fcn.1401f3809
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ff160
mov al, byte [rbp - 0x73]
mov rdx, qword [rbp - 0x28]
mov cl, 0x17
xor cl, 0x17
mov byte [rdx], al
cmp al, cl
je 0x1401ff1df
sub rsp, 0x20
call fcn.1401f6aae
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x1401ff1df
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x38fd9b97
xor ecx, 0xfd8fb9f6
cmp eax, ecx
jne 0x1401ff1df
mov rax, qword [rbp - 0x28]
mov cl, 0xd8
xor cl, 0xd8
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401f6ac0
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400a4060
mov rax, qword [rbp - 0x28]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ff1df
in al, dx
and al, ch
lahf
invalid
sub rsp, 0x20
call fcn.1401f6af7
add rsp, 0x20
lea rsp, [rbp + 0x30]
pop rbp
ret
jo 0x1401ff1ba
shr edx, 0xe9
je 0x1401ff1e7
invalid
adc eax, edi
movabs al, byte [0xd7fcfffffc91e936]
cld
xlatb
mov bl, 0xed
jmp 0x1401fef7b