Function at 0x140140bc0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x120
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0x100], r8
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rcx
call fcn.14014305d
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x108], rax
mov edx, 5
call fcn.14013ddc0
mov rcx, qword [rsp + 0x108]
mov rdx, rax
mov qword [rsp + 0x110], rdx
mov cl, byte [rcx + 0x50]
test cl, cl
setne cl
test rax, rax
sete al
or cl, al
xor eax, eax
test cl, 1
mov byte [rsp + 0x11f], al
jne 0x140141861
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x110]
movsxd r8, dword [rdx + 4]
mov qword [rsp + 0xc0], r8
mov edx, dword [rdx]
movsxd r8, edx
mov qword [rsp + 0xc8], r8
cmp edx, 0
setl dl
mov byte [rsp + 0xd7], dl
sub rax, rcx
mov qword [rsp + 0xd8], rax
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xb8], rax
cmp rax, rcx
jae 0x14014184b
mov al, byte [rsp + 0xd7]
test al, 1
jne 0x140140cc4
jmp 0x140140cd7
call fcn.14000c049
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov rax, qword [rsp + 0xb8]
cmp rax, 0
jge 0x140140cfc
call fcn.14000c049
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov eax, dword [0x140209128]
xor eax, 0x662b3e15
mov r8d, dword [0x14020912c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xcaf9fc77
mov ecx, 0x25d9e7d8
xor ecx, 0x5ebf35bd
and eax, ecx
mov ecx, 0x3ae80cde
xor ecx, 0x31a049e5
and ecx, eax
xor ecx, 0xffffffff
add eax, 0xb48453b
mov edx, 0xe0887bbf
xor edx, 0xe0887bbe
add eax, edx
add eax, ecx
mov ecx, 0x338c67c5
xor ecx, 0x740c3373
cmp eax, ecx
je 0x140141876
mov r8, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xc8]
mov edx, dword [0x140209130]
xor edx, 0x64930f24
imul edx, dword [0x140209134]
xor edx, 0x6643408f
mov eax, 0xee3ad196
xor eax, 0xb9ad23bb
mov ecx, edx
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0x5797f22d
and edx, eax
mov eax, 0x5e4ca133
xor eax, 0x5e4ca131
imul eax, edx
sub eax, ecx
mov ecx, 0x9299be0
xor ecx, 0xf9d3f9ca
xor edx, edx
div ecx
mov rdx, r8
add rdx, r10
mov qword [rsp + 0xa8], rdx
mov rcx, rdx
and rcx, r10
movabs r9, 0x6c605f6f1cd7cb1b
movabs r11, 0x6c605f6f1cd7cb19
xor r9, r11
imul r9, rcx
mov rcx, rdx
add rcx, r10
sub rcx, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0xb7], cl
cmp eax, 0xb2496917
ja 0x140141876
mov al, byte [rsp + 0xb7]
test al, 1
jne 0x140140e47
jmp 0x140140e5a
call fcn.140007f57
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov eax, dword [0x140209138]
mov ecx, dword [0x14020913c]
add eax, 0xc5432776
add eax, ecx
mov ecx, 0x9091302f
xor ecx, 0x55d21759
sub eax, ecx
sub eax, 0xf9c81c32
or eax, 0xb10ea4d7
mov ecx, 0xd0ff169e
xor edx, edx
div ecx
cmp eax, 0x715c5c48
jae 0x14014187f
mov rcx, qword [rsp + 0x100]
mov r9, qword [rsp + 0xa8]
mov eax, dword [0x140209140]
xor edx, edx
div dword [0x140209144]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x2439f23f
mov r10d, 0xffffffff
xor r10d, 0x2439f23f
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, 0x2439f23f
or eax, 0x2439f23f
imul eax, r8d
add eax, edx
mov r8d, 0xd47a048b
xor edx, edx
div r8d
mov r10d, eax
mov eax, r10d
xor eax, 0xffffffff
and eax, 0x7fa2161b
mov r11d, 0x6dd1bec5
xor r11d, 0x1273a8de
mov edx, 0xb6e4c831
xor edx, 0x491b37ce
xor r11d, edx
and r10d, r11d
mov edx, 0xf8c942f
xor edx, 0xfd533e83
mov r8d, 0x51c03f43
xor r8d, 0xae3fc0bc
xor edx, r8d
mov r8d, 0x928a9d9
xor r8d, 0x768abfc2
and edx, r8d
mov r8d, 0x7210c2ea
xor r8d, 0x80cf6846
and r8d, r11d
or eax, r10d
or edx, r8d
xor eax, edx
mov r8, r9
add r8, rcx
mov qword [rsp + 0x98], r8
mov rdx, r8
and rdx, rdx
movabs r10, 0xd56870cb8005f6df
movabs r11, 0x2a978f347ffa0920
xor r10, r11
xor rdx, r10
movabs r10, 0xc8b27320465075e3
movabs r11, 0x374d8cdfb9af8a1c
xor r10, r11
xor rdx, r10
mov r10, r9
xor r10, 0xffffffffffffffff
or rdx, r10
mov r10, r9
xor r10, 0xffffffffffffffff
movabs r11, 0xfc8e7f2127608455
movabs rsi, 0x37180ded89f7baa
xor r11, rsi
xor r9, r11
or r10, r9
mov r9, r8
and r9, r10
movabs r10, 0xe3ad5176b7bb48ee
movabs r11, 0x1c52ae894844b711
xor r10, r11
xor r9, r10
and rdx, r9
xor rdx, 0xffffffffffffffff
xor r8, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
or rcx, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
movabs rdx, 0xa096ef10aebc2
movabs r8, 0xfff5f6910ef5143d
xor rdx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0xa7], cl
cmp eax, 0x709f8060
jb 0x140140e98
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x14014106f
jmp 0x140141082
call fcn.140007f57
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov rax, qword [rsp + 0x98]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, 0xec348976
xor ecx, 0xec348976
cmp eax, ecx
je 0x14014184b
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 4]
mov dword [rsp + 0x90], eax
cmp eax, 0
je 0x14014184b
mov eax, dword [rsp + 0x90]
movsxd r8, eax
mov qword [rsp + 0x80], r8
mov rdx, r8
add rdx, 0xfffffffffffffff8
mov qword [rsp + 0x88], rdx
mov rcx, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rcx, r9
or rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl dl
cmp eax, 7
setg cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x140141136
jmp 0x140141149
call fcn.140007f57
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov rax, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x94]
mov rdx, qword [rsp + 0x88]
shr rdx, 1
mov qword [rsp + 0x60], rdx
movsxd rcx, ecx
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov edx, ecx
sub rdx, 8
mov rcx, rax
sub rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0x7c872c9e554d75a9
movabs r9, 0x8378d361aab28a56
xor r8, r9
and r8, rdx
movabs rdx, 0xd1a303da83f0a42c
movabs r9, 0x2e5cfc257c0f5bd3
xor rdx, r9
movabs r9, 0xf2f816b9609b003a
movabs r10, 0xd07e9469f64ffc5
xor r9, r10
xor rdx, r9
and rax, rdx
or r8, rax
mov rdx, rcx
and rdx, r8
xor rdx, 0xffffffffffffffff
mov rax, rcx
and rax, r8
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
or rdx, rax
xor eax, eax
cmp rdx, 0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jge 0x14014121f
call fcn.140007f57
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
cmp rax, rcx
je 0x14014181e
mov eax, dword [0x140209148]
xor eax, 0xd8313e5d
mov edx, dword [0x14020914c]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
mov edx, 0x6cc44326
xor edx, 0x6cc44327
add eax, edx
add eax, ecx
mov ecx, 0x83a0c4d7
xor edx, edx
div ecx
mov ecx, 0x7736dc5
xor ecx, 0x192a2f0c
sub eax, ecx
mov ecx, 0x7a3c134d
xor ecx, 0xb10bea3a
add eax, ecx
add eax, 0x1e5942c9
mov ecx, 0xbb803d9c
xor ecx, 0xbb803d9c
sub ecx, eax
mov eax, 0x60cb871b
xor eax, 0x60cb871b
mov edx, 0x5dcc7390
xor edx, 0xfbe69a90
sub eax, edx
add ecx, eax
mov eax, 0xb1ce3d88
xor eax, 0xb1ce3d88
sub eax, ecx
mov ecx, 0x4c81270d
xor ecx, 0xa08d58e9
cmp eax, ecx
jae 0x140141888
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x140209150]
and eax, dword [0x140209154]
xor eax, 0x1aa4eef0
mov r9d, 0x41159ad5
xor edx, edx
div r9d
mov edx, 0x95a709e3
xor edx, 0x95a709e3
mov r9d, 0xf1201da2
xor r9d, 0x7b9bd12b
sub edx, r9d
add eax, edx
mov cx, word [rcx]
mov word [rsp + 0x3e], cx
mov r9w, 0xffff
xor r9w, 0xfff
mov dx, cx
xor dx, r9w
and dx, cx
movzx edx, dx
add rdx, r8
mov qword [rsp + 0x40], rdx
cmp cx, 0xfff
seta cl
mov byte [rsp + 0x4f], cl
cmp eax, 0xea0d1499
jae 0x140141888
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14014136a
jmp 0x14014181e
mov ax, word [rsp + 0x3e]
mov dx, 0x28c0
xor dx, 0xd8c0
mov cx, ax
and cx, dx
xor cx, 0xffff
mov dx, 0x37e7
xor dx, 0xc7e7
and ax, dx
xor ax, 0xffff
xor cx, 0xffff
mov dx, 0x1aa7
xor dx, 0xe558
xor ax, dx
or cx, ax
xor eax, eax
cmp cx, 0x3000
mov byte [rsp + 0x11f], al
jne 0x140141861
mov eax, dword [0x140209158]
mov ecx, dword [0x14020915c]
xor ecx, 0xaf4ed6f2
xor eax, ecx
imul eax, eax, 0xde59ba65
mov ecx, 0x59d7e75d
xor ecx, 0xe4941bc3
mov edx, eax
xor edx, ecx
mov ecx, 0x7401d667
xor ecx, 0x8bfe2998
xor edx, ecx
and edx, 0xbd43fc9e
mov ecx, 0xd182e1ab
xor ecx, 0xd182e1a9
imul ecx, edx
sub ecx, 0xbd43fc9e
sub eax, ecx
mov ecx, 0xfe91bbec
xor ecx, 0xe1289ce2
sub eax, ecx
cmp eax, 0xab687018
jae 0x140141891
mov rdx, qword [rsp + 0x40]
mov eax, dword [0x140209160]
mov ecx, dword [0x140209164]
mov r8d, 0x5d25d186
xor r8d, 0x26a9553a
xor ecx, r8d
xor eax, ecx
add eax, 0x1152fdf
add eax, 0xe1366573
mov ecx, 0xb37ba0c0
xor ecx, 0xb26e8f1f
sub eax, ecx
add eax, 0x1a8211f6
mov ecx, 0x38b23129
xor ecx, 0xff4f4438
or eax, ecx
mov ecx, 0x6c0e0ca1
xor ecx, 0x9470cea2
cmp rdx, 0
setl dl
mov byte [rsp + 0x3d], dl
cmp eax, ecx
jae 0x140141423
mov al, byte [rsp + 0x3d]
test al, 1
jne 0x14014149e
jmp 0x140141563
mov eax, dword [0x140209168]
mov ecx, dword [0x14020916c]
xor ecx, 0xcd0fa3cd
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0xa7fc645a
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xa7fc645a
add eax, edx
sub eax, ecx
mov ecx, 0x9f2470b5
xor ecx, 0x44103653
xor edx, edx
div ecx
mov ecx, 0x7e3d400f
xor ecx, 0xcef03134
add eax, ecx
cmp eax, 0x2c848142
je 0x14014189a
mov eax, dword [0x140209170]
xor edx, edx
div dword [0x140209174]
mov ecx, eax
mov eax, 0xd91ace00
xor eax, 0xc0fe7eff
and ecx, eax
xor ecx, 0x6145fac
mov edx, 0x3363a6ae
xor edx, 0x48a1693d
mov eax, 0xfaedb6d6
xor eax, 0x5124929
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [rsp + 0x38], eax
call fcn.14000c049
mov eax, dword [rsp + 0x38]
cmp eax, 0x7191fd98
ja 0x1401414fe
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xe8]
xor eax, eax
cmp rcx, rdx
mov byte [rsp + 0x11f], al
jge 0x140141861
mov eax, dword [0x140209178]
and eax, dword [0x14020917c]
add eax, 0xa4fe4078
mov ecx, 0xa709e11c
xor ecx, 0x4cc24c49
xor edx, edx
div ecx
mov ecx, 0x7da336d5
xor edx, edx
div ecx
cmp eax, 0x8ce86d56
je 0x1401418a3
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x100]
mov ecx, dword [0x140209180]
sub ecx, dword [0x140209184]
mov edx, 0xffffffff
xor edx, 0x3e88ade2
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
and ecx, 0xe072290a
xor ecx, 0xffffffff
mov edx, 0xbe09af24
xor edx, 0x5e7b862e
and eax, edx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
mov edx, 0x15fd8bce
xor edx, 0x7fd4cb8c
mov eax, ecx
and eax, edx
mov edx, 0xe39f484f
xor edx, 0x1c60b7b0
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xea590c3e
xor edx, 0x80704c7c
mov r9d, 0x98e450f4
xor r9d, 0x671baf0b
xor edx, r9d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x2ca153ab
xor ecx, 0x996d3190
xor edx, edx
sub rdx, r10
xor r9d, r9d
sub r9, r8
add rdx, r9
xor r9d, r9d
sub r9, rdx
mov qword [rsp + 0x28], r9
mov r11, r9
xor r11, r8
xor r11, 0xffffffffffffffff
mov rdx, r8
and rdx, r11
shl rdx, 1
sub rdx, r8
mov r8, r9
sub r8, rdx
mov r11, r9
and r11, r10
movabs rdx, 0xbfc9ec4d8624b392
movabs rsi, 0xbfc9ec4d8624b390
xor rdx, rsi
imul rdx, r11
add r9, r10
sub r9, rdx
mov rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
and r8, r9
movabs r9, 0xf266eabc606c9744
movabs r10, 0xd9915439f9368bb
xor r9, r10
xor r8, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x233e8cb878a86084
movabs r10, 0xdcc1734787579f7b
xor r9, r10
xor r8, r9
or rdx, r8
cmp rdx, 0
setl dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
ja 0x1401418a3
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140141715
jmp 0x140141728
call fcn.140007f57
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rcx]
movabs r10, 0x3afc74e22ec3195d
sub rdx, r10
add rdx, r8
movabs r8, 0x3afc74e22ec3195d
add rdx, r8
mov qword [rcx], rdx
mov rdx, r9
and rdx, 2
shl rdx, 1
movabs r8, 0x8eafad54cd520f9f
movabs rcx, 0x8eafad54cd520f9d
xor r8, rcx
mov rcx, r9
xor rcx, r8
add rcx, rdx
mov rdx, r9
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r8, 0x56fd3c24a405d6ca
movabs r10, 0xa902c3db5bfa2935
xor r8, r10
sub rdx, r8
sub r9, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r10, 0x6b047a9ae37a7263
xor r8, r10
or rdx, r9
movabs r9, 0x6b047a9ae37a7263
or r8, r9
xor rdx, 0xffffffffffffffff
and rdx, r8
add rax, 1
cmp rdx, 0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jge 0x14014121f
call fcn.140007f57
xor eax, eax
mov byte [rsp + 0x11f], al
jmp 0x140141861
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0xb8]
mov rcx, rax
and rcx, rdx
shl rcx, 1
xor rax, rdx
add rax, rcx
mov qword [rsp + 0xe0], rax
jmp 0x140140c8f
add byte [rax], al
add cl, ch
hlt
mov rax, qword [rsp + 0xb8]
cmp rax, 0
setne al
mov byte [rsp + 0x11f], al
add byte [rdi], cl
xchg ebp, eax
ror byte [rax + 0x11f2484], 0
add byte [rdx + 0x11f2484], cl
mov al, byte [rsp + 0x11f]
add byte [rax], al
and al, 1
movzx eax, al
add rsp, 0x120
pop rsi
ret
jns 0x140141843
invalid
test dword [rdx], 0x10e9ba78
idiv bh
push qword [rdi - 0xb]
ja 0x14014187f
jl 0x140141866
jmp 0x1401412d7
xchg esi, eax
cmpsb byte [rsi], byte [rdi]
add esi, 0xfffb89e9
invalid
jle 0x1401418d8
mov ebp, 0xfc5be9ec
invalid
xchg ebx, eax
jb 0x140141856
invalid
or eax, dword [rax]
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
sub rsp, 0x20
call fcn.14014305d
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
add rax, 0x50
mov qword [rbp + 0x118], rax
mov rax, qword [rcx]
mov qword [rbp + 0x120], rax
cmp rax, 0
jl 0x140141999
mov rcx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x120]
mov rax, qword [rbp + 0x110]
mov r9, qword [rax + 8]
mov rdx, r9
add rdx, 8
xor eax, eax
cmp r9, 0
cmove rdx, rax
sub rsp, 0x20
call fcn.140024960
mov rax, qword [rbp + 0x108]
mov rdx, qword [rbp + 0x118]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xe0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe8], rax
mov dl, byte [rdx]
mov r8b, 0xfb
xor r8b, 0xfb
cmp dl, r8b
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
je 0x140141a07
jmp 0x140142f25
mov r8, qword [rbp + 0x120]
movabs rax, 0x41e489c34560f2a1
movabs rcx, 0x5fe9f86316b3357d
xor rax, rcx
mov rdx, r8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x4e32b2429163b320
movabs rcx, 0x503fc3e2c2b074fc
xor rax, rcx
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14001f6c0
mov rax, qword [rbp + 0x118]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x4a
xor cl, 0x4a
cmp al, cl
je 0x140141a93
jmp 0x140142f25
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0xe8]
cmp rax, 1
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
jge 0x140141a93
mov rdx, qword [rbp + 0xe0]
movabs rax, 0x2a72c4f1ca88f607
movabs rcx, 0xd58d3b0e357709f8
xor rax, rcx
add rdx, rax
movabs rcx, 0xcd7670ff49abe7d7
movabs rax, 0xcd7670ff49abe7d7
xor rcx, rax
sub rsp, 0x20
call fcn.140014583
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
add rsp, 0x20
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x140142f25
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rcx
add rcx, 8
mov qword [rbp + 0xb0], rcx
sub rsp, 0x20
call fcn.14013db00
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xc8], r8
mov dl, byte [rdx]
mov r8b, 0x1f
xor r8b, 0x1f
cmp dl, r8b
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jne 0x140142f25
mov rax, qword [rbp + 0xc8]
cmp rax, 0
jne 0x140141c33
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 8]
mov qword [rbp + 0xa8], rax
cmp rax, 0
je 0x140141b78
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140141b78
mov rcx, qword [rbp + 0xa8]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x110]
mov rax, qword [rax + 8]
mov qword [rbp + 0xa0], rax
cmp rax, 0
je 0x140141bf6
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xa0a1e82611cdff21
movabs r8, 0x5f5e17d9ee3200de
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140141bf6
mov rcx, qword [rbp + 0xa0]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
lea rcx, [rbp + 0x190]
sub rsp, 0x20
call fcn.140024c16
add rsp, 0x20
xor eax, eax
mov byte [rbp + 0x9f], al
jmp 0x14014300d
mov rcx, qword [rbp + 0xb0]
mov edx, 5
sub rsp, 0x20
call fcn.14013ddc0
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x90], r8
cmp byte [rdx], 0
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jne 0x140142f25
mov rdx, qword [rbp + 0xc8]
mov rax, rdx
add rax, 0x30
mov qword [rbp + 0x60], rax
mov rcx, qword [rdx + 0x30]
mov qword [rbp + 0x68], rcx
mov rax, rcx
mov qword [rbp + 0x70], rax
mov rax, qword [str._bp__]
mov rax, qword [rax]
mov r8, rdx
add r8, 0x50
mov qword [rbp + 0x78], r8
movsxd rdx, dword [rdx + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
call rax
mov rcx, qword [rbp + 0x90]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x80], rdx
test rax, rax
sete dl
mov byte [rbp + 0x8f], dl
or rax, rcx
sete al
test al, 1
jne 0x140141d02
jmp 0x140141e68
mov rax, qword [rbp + 0x100]
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rax
cmp rax, 0
je 0x140141da9
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
movabs rdx, 0x6d0b5ab937664aec
movabs rax, 0x92f4a546c899b513
xor rdx, rax
mov rax, rcx
xor rax, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x8da318a3408c75a5
movabs rdx, 0x725ce75cbf738a5a
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jne 0x140141da9
mov rcx, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x110]
mov rax, qword [rax + 8]
mov qword [rbp + 0x50], rax
cmp rax, 0
je 0x140141e2b
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
movabs rdx, 0xe6f4c292477c0a7e
movabs rcx, 0xe6f4c292477c0a7f
xor rdx, rcx
mov rcx, rax
add rcx, rdx
movabs rdx, 0x9d806a1c297a1b64
movabs r8, 0x627f95e3d685e49b
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140141e2b
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rax
lea rcx, [rbp + 0x180]
sub rsp, 0x20
call fcn.140024c16
add rsp, 0x20
mov al, 1
mov byte [rbp + 0x9f], al
jmp 0x14014300d
mov eax, dword [0x140209188]
mov r8d, dword [0x14020918c]
xor r8d, 0xbe77361e
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x96669bdc
mov ecx, 0x860242ed
xor edx, edx
div ecx
mov ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0xb21b01d
xor eax, 0x9a7379f1
and eax, edx
mov edx, 0x137b54ef
xor edx, 0x82299d03
mov r8d, 0xaba44ded
xor r8d, 0x545bb212
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x684bdcb
xor ecx, 0xe7c27090
cmp eax, ecx
je 0x14014301e
mov cl, byte [rbp + 0x8f]
mov rdx, qword [rbp + 0x90]
mov eax, dword [0x140209190]
xor eax, 0x85b51d4a
mov r8d, dword [0x140209194]
mov r9d, eax
and r9d, r8d
or eax, r8d
add r9d, eax
or r9d, 0x14fc222d
mov r8d, r9d
add r8d, 0xea659756
mov eax, 0x159a68a9
sub eax, r9d
and eax, 0x7895189e
and r8d, 0x8762e740
or eax, r8d
test rdx, rdx
setne dl
and cl, dl
mov byte [rbp + 0x4f], cl
cmp eax, 0xc476bf29
jae 0x140141ef3
mov rax, qword [rbp + 0x80]
mov cl, byte [rbp + 0x4f]
test cl, 1
mov qword [rbp + 0x40], rax
jne 0x140141f78
jmp 0x1401423e2
mov rcx, qword [rbp + 0x78]
mov rax, qword [str._bp__]
mov rax, qword [rax]
movsxd rdx, dword [rcx]
mov r8d, 0x918c434f
xor r8d, 0x918c734f
mov r9d, 0xc6347b2f
xor r9d, 0xc6347b6f
xor ecx, ecx
sub rsp, 0x20
call rax
add rsp, 0x20
cmp rax, 0
mov qword [rbp + 0x40], rax
jne 0x1401423e2
mov ecx, dword [0x140209198]
mov r8d, dword [0x14020919c]
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0x7b52983d
xor r9d, 0x84ad67c2
mov edx, ecx
xor edx, r9d
or eax, edx
and eax, r8d
mov edx, 0xaaa295e
xor edx, 0xf555d6a1
xor eax, edx
mov r9d, 0x77fd9753
xor r9d, 0x880268ac
mov edx, r8d
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
mov r8d, 0xbaea4d45
xor r8d, 0x4515b2ba
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x1e879719
xor ecx, 0xccaca84
sub eax, ecx
mov ecx, 0x7cfebf6e
xor edx, edx
div ecx
add eax, 0x28a809b5
cmp eax, 0x58044990
je 0x140143027
mov rdx, qword [rbp + 0x100]
mov esi, dword [0x1402091a0]
mov ecx, dword [0x1402091a4]
xor esi, 0xffffffff
xor ecx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0xbf517bd1
or esi, ecx
or eax, 0xbf517bd1
mov ecx, 0x19ea3e43
xor ecx, 0xe615c1bc
xor esi, ecx
and esi, eax
mov eax, esi
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xe37875de
mov r8d, 0xffffffff
xor r8d, 0xf1b782ef
mov ecx, eax
and ecx, 0xf1b782ef
and esi, r8d
mov r11d, 0x77863718
xor r11d, 0x8631b5f7
mov r10d, r9d
and r10d, r11d
mov r11d, r8d
and r11d, 0xe37875de
or ecx, esi
or r10d, r11d
xor ecx, r10d
or eax, r9d
xor eax, 0xffffffff
or r8d, 0xf1b782ef
and eax, r8d
or ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x252c6c3b
mov r8d, ecx
and r8d, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, ecx
and r8d, 0x252c6c3b
or ecx, 0x252c6c3b
imul ecx, r8d
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x31ce5a91
mov r8d, 0xffffffff
xor r8d, 0x31ce5a91
or ecx, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xbd1cd112
xor ecx, 0xd6420f3d
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x30], rdx
cmp rdx, 0
sete dl
mov byte [rbp + 0x3f], dl
cmp eax, ecx
jbe 0x140142050
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x140142271
jmp 0x140142181
mov rcx, qword [rbp + 0x30]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140142271
mov eax, dword [0x1402091a8]
mov edx, dword [0x1402091ac]
mov ecx, 0xffb0efac
xor ecx, 0x21cb9ade
xor edx, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
imul eax, eax, 0xbaa7c651
mov ecx, 0x38d7ebe1
xor ecx, 0x104473e8
sub eax, ecx
mov ecx, 0x601d5b43
xor ecx, 0xb141277f
xor edx, edx
div ecx
cmp eax, 0xd025ee05
ja 0x140143030
mov rcx, qword [rbp + 0x30]
mov edx, dword [0x1402091b0]
mov eax, 0xbd8a6cce
xor eax, 0x161722ff
xor edx, eax
and edx, dword [0x1402091b4]
and edx, 0x25faa1e8
mov r8d, 0xdddc07cf
xor r8d, 0x2223f830
mov eax, edx
xor eax, r8d
and eax, 0x436d8780
mov r8d, 0xbf06fec3
xor r8d, 0xfc6b7943
mov r9d, 0xb41eb687
xor r9d, 0x4be14978
xor r8d, r9d
and edx, r8d
or eax, edx
mov r8d, 0x7d59a290
xor edx, edx
div r8d
mov dword [rbp + 0x2c], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp + 0x2c]
add rsp, 0x20
cmp eax, 0x90f90ba6
je 0x1401421e8
jmp 0x140142271
mov rax, qword [rbp + 0x110]
mov rax, qword [rax + 8]
mov qword [rbp + 0x20], rax
cmp rax, 0
je 0x1401423a5
mov eax, dword [0x1402091b8]
xor edx, edx
div dword [0x1402091bc]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x62d9bcb6
mov edx, 0xffffffff
xor edx, 0x62d9bcb6
and ecx, edx
or eax, ecx
mov ecx, 0x510f3eb9
xor ecx, 0xf2d895bf
or eax, ecx
mov ecx, 0xe2c7fb08
xor ecx, 0x4824c3f0
xor edx, edx
div ecx
cmp eax, 0xc67caeb7
jae 0x140143039
mov rdx, qword [rbp + 0x20]
mov eax, dword [0x1402091c0]
imul eax, dword [0x1402091c4]
add eax, 0x98d41074
mov ecx, 0x1d80a5e
xor ecx, 0xc5ece1f
sub eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x5a47b81f
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x5ed5e0c8
xor r9d, 0xa12a1f37
xor ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x5a47b81f
mov r9d, 0x79eb619f
xor r9d, 0x23acd980
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0x4e35bcf4
xor ecx, 0xc5d59f55
mov rdx, qword [rdx]
mov r8, rdx
add r8, 1
xor rdx, 0xffffffffffffffff
movabs r9, 0x4000000000000000
or rdx, r9
add rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp + 0x1f], dl
cmp eax, ecx
jbe 0x1401422da
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x140142394
jmp 0x1401423a5
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x178], rax
lea rcx, [rbp + 0x170]
sub rsp, 0x20
call fcn.140024c16
add rsp, 0x20
mov al, 2
mov byte [rbp + 0x9f], al
jmp 0x14014300d
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x40]
mov qword [rbp + 8], rdx
mov qword [rcx], rdx
mov eax, dword [rax + 0x54]
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
mov ecx, 0x87c13435
xor ecx, 0x87c13435
cmp eax, ecx
jge 0x140142475
mov rcx, qword [rbp + 0x10]
movabs rdx, 0x8a0b612ba074650a
movabs rax, 0x8a0b612ba074650a
xor rdx, rax
movabs r8, 0xa5d13190e9a2cf3b
movabs rax, 0xda2ece6f165d30c4
xor r8, rax
sub rsp, 0x20
call fcn.14000dc65
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x140142f25
mov r8, qword [rbp + 0x10]
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14013e4f0
mov r9, qword [rbp + 0xc8]
add rsp, 0x20
mov rax, r9
add rax, 0x108
mov qword [rbp], rax
movabs rcx, 0xcf6b5d883488d582
movabs rdx, 0x3094a277cb772a7d
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0x543ed43c06b43cb4
and rdx, rcx
movabs r8, 0xf72e62ee30c4597d
movabs rcx, 0xa310b6d2367065c9
xor r8, rcx
movabs rcx, 0x43810d22b32751b0
movabs r10, 0xbc7ef2dd4cd8ae4f
xor rcx, r10
xor r8, rcx
and r9, r8
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r10, 0x543ed43c06b43cb4
and rcx, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rcx, r8
xor rdx, rcx
movabs r8, 0xbbde059487c1ca4f
movabs rcx, 0xbbde059487c1ca4e
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jl 0x140142573
mov rax, qword [rbp + 0xc8]
add rax, 6
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
jmp 0x1401425a1
sub rsp, 0x20
call fcn.140007f57
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x140142f25
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov qword [rbp - 0x18], rax
movzx ecx, word [rcx]
cmp rax, rcx
jae 0x140142b46
mov rcx, qword [rbp - 0x18]
mov edx, 0x28
lea r8, [rbp + 0x168]
sub rsp, 0x20
call fcn.14013dbf0
add rsp, 0x20
test al, 1
jne 0x1401425e3
jmp 0x1401425f5
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140142b25
mov rax, qword [rbp]
add rax, qword [rbp + 0x168]
movsxd rcx, dword [rax + 0xc]
mov edx, 1
lea r8, [rbp + 0x160]
sub rsp, 0x20
call fcn.14013dbf0
add rsp, 0x20
test al, 1
jne 0x14014262a
jmp 0x14014263c
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140142b25
mov eax, dword [0x1402091c8]
mov edx, dword [0x1402091cc]
xor edx, 0x67f00921
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x9a384135
xor ecx, 0xe72161e3
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x3dbfa45e
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xb48c02f0
xor r8d, 0x8933a6ae
mov edx, eax
and edx, r8d
mov r8d, 0xa8d98073
xor r8d, 0x9566242d
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xa63f932
xor edx, 0x58631d83
mov ecx, eax
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x5200e4b1
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x6eb64bb4
je 0x140143042
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 8]
mov r8d, dword [0x1402091d0]
mov r10d, dword [0x1402091d4]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, r8d
and r9d, r11d
mov eax, r8d
or eax, r11d
xor eax, 0xffffffff
imul eax, r9d
mov r9d, r8d
and r9d, r10d
or r8d, r10d
imul r8d, r9d
add r8d, eax
mov eax, 0x1b4bd283
xor eax, 0x4b1727bb
xor r8d, eax
mov eax, 0x5bbf3fd1
xor eax, 0x5bbf3fd1
sub eax, r8d
mov r8d, 0xaffba3a4
xor r8d, 0xaffba3a4
mov r9d, 0xfde4a983
xor r9d, 0xd91cbb7
sub r8d, r9d
add eax, r8d
xor r8d, r8d
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x41bd0258
or r8d, 0x41bd0258
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0xa85a692e
xor r8d, 0x57a596d1
xor eax, r8d
mov dword [rbp - 0x20], eax
mov eax, 0x3640cec7
xor eax, 0xe41e8957
mov dword [rbp - 0x24], eax
mov rax, qword [rbp + 0x160]
movabs r8, 0x3d3e32fd9439c941
sub rax, r8
add rax, rdx
movabs rdx, 0xe601bef701f81e79
movabs r8, 0xdb3f8c0a95c1d738
xor rdx, r8
add rax, rdx
mov qword [rbp - 0x30], rax
movabs rdx, 0xf5bf06929906dc3
movabs rax, 0xf5bf06929906deb
xor rdx, rax
lea r8, [rbp + 0x158]
sub rsp, 0x20
call fcn.14013dbf0
mov ecx, dword [rbp - 0x24]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp - 0x20]
mov byte [rbp - 0x19], dl
cmp eax, ecx
jae 0x140143042
mov al, byte [rbp - 0x19]
test al, 1
jne 0x140142825
jmp 0x140142837
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140142b25
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x158]
xor rcx, 0xffffffffffffffff
movabs rdx, 0x59523eb3ba05f942
movabs r8, 0x59523eb3ba05f942
xor rdx, r8
movabs r8, 0x4aea83593d99c93
movabs r9, 0x4aea83593d99c92
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
movsxd rcx, dword [rax + 0x14]
mov edx, 1
lea r8, [rbp + 0x150]
sub rsp, 0x20
call fcn.14013dbf0
add rsp, 0x20
test al, 1
jne 0x1401428a7
jmp 0x1401428b9
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140142b25
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0xb0]
add rax, qword [rbp + 0x150]
mov qword [rbp - 0x38], rax
movabs rdx, 0x3b172a62f204ad74
movabs rax, 0x3b172a62f204ad5c
xor rdx, rax
lea r8, [rbp + 0x148]
sub rsp, 0x20
call fcn.14013dbf0
add rsp, 0x20
test al, 1
jne 0x140142907
jmp 0x140142919
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x140142b25
mov eax, dword [0x1402091d8]
xor eax, 0x42152b65
mov r8d, dword [0x1402091dc]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul ecx, eax, 0x17bdf16c
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xa2040fa7
or edx, 0xa2040fa7
xor edx, 0xffffffff
or eax, edx
mov edx, 0x8e6b35b3
xor edx, 0x7194ca4c
xor eax, edx
or ecx, 0xa2040fa7
mov edx, 0x2fedac8f
xor edx, 0xd0125370
xor ecx, edx
or eax, ecx
mov ecx, 0xc72710f2
xor ecx, 0x38d8ef0d
xor eax, ecx
mov ecx, 0xc40b0589
xor edx, edx
div ecx
mov ecx, 0xe0452b1c
xor ecx, 0xb61e56ba
cmp eax, ecx
jae 0x14014304b
mov r8, qword [rbp]
mov eax, dword [0x1402091e0]
xor eax, dword [0x1402091e4]
mov ecx, 0x256bf198
xor ecx, 0xf04cc348
add eax, ecx
mov ecx, 0xceb8a1c6
xor ecx, 0xaa1c0e7d
sub eax, ecx
mov ecx, 0x96b1cdf7
xor ecx, 0x4396ff27
sub eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x22e9fb16
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov r9d, 0x1b961416
xor r9d, 0x397fef00
mov edx, eax
and edx, r9d
or eax, 0x22e9fb16
imul eax, edx
add eax, ecx
mov ecx, 0x26c5ae53
xor ecx, 0x83529c69
xor edx, edx
div ecx
mov rcx, qword [rbp + 0x148]
mov rdx, rcx
and rdx, r8
movabs r9, 0x7a6c7f0d9a9862b1
movabs r10, 0x7a6c7f0d9a9862b3
xor r9, r10
imul rdx, r9
xor rcx, r8
add rcx, rdx
mov ecx, dword [rcx + 0x10]
mov dword [rbp - 0x40], ecx
cmp ecx, 0
setl cl
mov byte [rbp - 0x39], cl
cmp eax, 0x527a8176
ja 0x14014304b
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140142a93
jmp 0x140142ab9
mov eax, dword [rbp - 0x40]
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x140142b25
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
mov eax, dword [rbp - 0x40]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.14013e4f0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, 0xffffffffffffffff
xor rcx, 1
movabs rdx, 0xf479121383c16433
movabs r8, 0xf479121383c16433
xor rdx, r8
movabs r8, 0xb7b18bec5560e975
movabs r9, 0xb7b18bec5560e974
xor r8, r9
sub rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rbp - 8], rax
jmp 0x1401425a1
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x140142f25
mov eax, dword [0x1402091e8]
xor eax, dword [0x1402091ec]
imul eax, eax, 0xbaf194b3
mov ecx, 0xc6a95842
xor edx, edx
div ecx
mov edx, 0xc1e5d425
xor edx, 0xb2f1e027
mov ecx, eax
and ecx, edx
mov edx, 0x88b4a3ff
xor edx, 0x88b4a3fd
imul ecx, edx
xor eax, 0x73143402
add eax, ecx
mov ecx, 0xbdcee5ad
xor ecx, 0x1ce96215
cmp eax, ecx
ja 0x140143054
mov rcx, qword [rbp + 8]
mov eax, dword [0x1402091f0]
mov r8d, dword [0x1402091f4]
mov edx, 0x5ce3f602
xor edx, 0xe07a6c7d
xor r8d, edx
xor edx, edx
div r8d
mov edi, eax
mov rax, qword [rbp + 0x100]
mov edx, 0x4e533942
xor edx, 0xa92a61e8
or edi, edx
mov r9d, 0xffffffff
xor r9d, 0x11433d5b
mov r8d, edi
and r8d, r9d
mov edx, edi
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, edi
and r8d, 0x11433d5b
or edi, 0x11433d5b
imul edi, r8d
add edi, edx
mov edx, 0x5b1dc617
xor edx, 0xa4e239e8
mov r8d, edi
xor r8d, edx
mov r10d, 0x73ce5355
xor r10d, 0xcadc6a4c
mov edx, 0x3b1b02e2
xor edx, 0xc4e4fd1d
xor r10d, edx
mov r9d, 0x975c3492
xor r9d, 0x463502e3
mov edx, 0x49ce57c0
xor edx, 0xb631a83f
xor r9d, edx
mov r11d, 0x8412a3f0
xor r11d, 0x557b9581
mov edx, r8d
and edx, r11d
and edi, r9d
mov esi, 0x4e452bdc
xor esi, 0x9f2c1dad
mov r11d, r10d
and r11d, esi
mov esi, r9d
and esi, 0xb9123919
or edx, edi
or r11d, esi
xor edx, r11d
or r8d, r10d
xor r8d, 0xffffffff
or r9d, 0xd1693671
and r8d, r9d
or edx, r8d
mov dword [rbp - 0x48], edx
mov rdx, qword [rax]
mov qword [rbp + 0x138], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x140], rax
lea rdx, [rbp + 0x138]
sub rsp, 0x20
call fcn.14013e690
mov rcx, qword [rbp + 0x118]
add rsp, 0x20
mov eax, dword [rbp - 0x48]
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0xb6623638
jb 0x140143054
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov dl, byte [rbp - 0x41]
test dl, 1
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jne 0x140142d11
jmp 0x140142f25
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.1401408a0
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jne 0x140142f25
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x68]
cmp rax, rcx
je 0x140142ded
mov r8, qword [rbp + 8]
mov rdx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
movsxd r9, dword [rax]
sub rsp, 0x20
mov rcx, r8
call fcn.140140bc0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x118]
mov al, byte [rax]
xor edx, edx
test cl, cl
mov ecx, 0xe
cmovne ecx, edx
test al, al
mov eax, 2
cmove eax, ecx
mov dword [rbp - 0x4c], eax
test eax, eax
je 0x140142ded
jmp 0x140142daf
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov edx, dword [rbp - 0x4c]
sub edx, 2
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
je 0x140142f25
jmp 0x140142ddc
mov eax, dword [rbp - 0x4c]
sub eax, 0xe
jne 0x14014300d
jmp 0x140142ded
mov r9, qword [rbp + 8]
mov rax, qword [rbp + 0xc8]
movsxd r8, dword [rax + 0x28]
mov rdx, r8
add rdx, r9
mov qword [rbp - 0x58], rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov rax, r9
and rax, rcx
xor r9, 0xffffffffffffffff
mov rcx, rdx
and rcx, r9
or rax, rcx
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
movabs r9, 0x300592757b567a2e
movabs r10, 0xcffa6d8a84a985d1
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140142e88
sub rsp, 0x20
call fcn.140007f57
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x140142f25
mov r8, qword [rbp - 0x58]
xor eax, eax
mov r9d, eax
xor eax, eax
sub rsp, 0x30
mov rcx, r9
mov rdx, r9
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
call fcn.1400abd20
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xb8]
add rsp, 0x30
mov r8, rax
mov rax, qword [rbp + 0xc0]
mov qword [rbp - 0x60], r8
cmp byte [rdx], 0
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jne 0x140142f25
mov rcx, qword [rbp - 0x60]
mov edx, 1
xor eax, eax
mov r8d, eax
mov rax, qword [0x140216fd0]
sub rsp, 0x20
call qword [rax]
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf8]
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x70], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x140142f96
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xabe4e4ddfb1ccd60
movabs rdx, 0xabe4e4ddfb1ccd60
xor rcx, rdx
cmp rax, rcx
jne 0x140142f96
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp + 0x110]
mov rax, qword [rax + 8]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x140142fdb
mov rcx, qword [rbp - 0x80]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140142fdb
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x70]
mov qword [rbp + 0x128], rcx
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0x128]
sub rsp, 0x20
call fcn.140024c16
add rsp, 0x20
xor eax, eax
mov byte [rbp + 0x9f], al
mov al, byte [rbp + 0x9f]
lea rsp, [rbp + 0x1a0]
pop rdi
pop rsi
pop rbp
ret
invalid
cmp al, 0x67
invalid
invalid
xchg ecx, eax
cli
nop
out 0xe9, eax
cwde
invalid
invalid
cmc
adc ebx, ebp
mov ecx, 0xfff968e9
jmp [rcx + 0x54]
imul edx, dword [rdx + rsi*4 - 0xc], 0xfffb3be9
dec dword [rax - 0x75]
mov rax, qword [0x140217170]