Function at 0x14014da60
Capabilities:
Encode data using xor
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x110
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], rcx
mov ecx, dword [0x14021fb78]
mov edx, dword [0x14021fb7c]
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xa07cd1c9
xor r8d, 0x5f832e36
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x8edaee3c
xor edx, 0x712511c3
xor ecx, edx
and eax, ecx
imul eax, eax, 0x6284b4bf
mov ecx, 0xeb995570
xor edx, edx
div ecx
imul eax, eax, 0xf932e971
cmp eax, 0xb8e4212f
ja 0x14014e684
mov edx, dword [0x14021fb80]
mov eax, dword [0x14021fb84]
and edx, eax
mov eax, edx
and eax, 0xcf9430c8
mov ecx, eax
not ecx
mov r8d, edx
and r8d, 0x9903088
and ecx, 0xc66e0c45
imul ecx, r8d
and edx, 0xc6040040
or eax, 0xc66e0c45
imul eax, edx
add eax, ecx
xor eax, 0x49004973
mov dword [rsp + 0xdc], eax
call fcn.14015044e
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0xd0], rax
mov edx, 5
call fcn.14014a480
mov rcx, qword [rsp + 0xd0]
mov rdx, rax
mov eax, dword [rsp + 0xdc]
mov r8, rdx
mov qword [rsp + 0xe0], r8
mov cl, byte [rcx + 0x50]
test cl, cl
setne cl
test rdx, rdx
sete dl
or cl, dl
mov byte [rsp + 0xef], cl
cmp eax, 0x2b05349f
ja 0x14014daf6
mov cl, byte [rsp + 0xef]
xor eax, eax
test cl, 1
mov byte [rsp + 0xcf], al
jne 0x14014e66f
jmp 0x14014dbbb
mov ecx, dword [0x14021fb88]
xor ecx, 0xa13312a1
mov edx, dword [0x14021fb8c]
mov eax, 0x9e31d03f
xor eax, 0xf83a3ba0
xor edx, eax
mov eax, 0xaed2be06
xor eax, 0x512d41f9
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
add eax, 0x5048f97c
mov r8d, 0xffffffff
xor r8d, 0xbd029537
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xbd029537
mov r8d, 0x4a86bfa
xor r8d, 0xb9aafecd
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0x42678f31
cmp eax, 0x5497a79e
jae 0x14014e68d
mov r8, qword [rsp + 0x100]
mov r9, qword [rsp + 0xe0]
mov eax, dword [0x14021fb90]
xor edx, edx
div dword [0x14021fb94]
mov rdx, qword [rsp + 0x108]
mov r11d, eax
mov eax, 0xde2c4de6
xor eax, 0x21d3b219
mov ecx, r11d
xor ecx, eax
and ecx, 0x30c1fbc
mov r10d, 0xffffffff
xor r10d, 0x30c1fbc
mov eax, r11d
and eax, r10d
imul eax, ecx
mov ecx, r11d
and ecx, 0x30c1fbc
mov r10d, 0x6d7f902b
xor r10d, 0x6e738f97
or r11d, r10d
imul r11d, ecx
add r11d, eax
mov ecx, 0x313a761c
xor ecx, 0xcec589e3
mov eax, r11d
xor eax, ecx
mov ecx, 0x95870243
xor ecx, 0xfd43a310
and ecx, eax
mov r10d, 0xffffffff
xor r10d, 0x68c4a153
and r11d, r10d
mov eax, 0xffffffff
xor eax, 0x8383ea81
mov esi, 0x78dc4f1f
xor esi, 0x1018ee4c
and eax, esi
and r10d, 0x8383ea81
or ecx, r11d
or eax, r10d
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xb58f0f5d
and eax, r10d
mov r10d, 0x68b5bc5a
xor r10d, 0xdd3ab307
or ecx, r10d
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x752a209c
xor ecx, 0x108061d0
movsxd r10, dword [r9 + 4]
mov qword [rsp + 0xa8], r10
mov r9d, dword [r9]
movsxd r10, r9d
mov qword [rsp + 0xb0], r10
mov r10d, 0x151da417
xor r10d, 0x151da417
cmp r9d, r10d
setl r9b
mov byte [rsp + 0xbf], r9b
movabs r9, 0x913eb05d143d984e
movabs r10, 0x6ec14fa2ebc267b1
xor r9, r10
xor r8, r9
add rdx, r8
add rdx, 1
mov qword [rsp + 0xc0], rdx
cmp eax, ecx
jbe 0x14014e68d
xor eax, eax
mov qword [rsp + 0xa0], rax
jmp 0x14014ddb2
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x98], rax
cmp rax, rcx
jae 0x14014e659
mov al, byte [rsp + 0xbf]
test al, 1
jne 0x14014dde7
jmp 0x14014ddfa
call fcn.14000c57e
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov eax, dword [0x14021fb98]
xor eax, 0xaced1752
mov edx, dword [0x14021fb9c]
mov r8d, 0x958b4b27
xor r8d, 0x958b4b26
mov ecx, eax
add ecx, r8d
xor eax, 0xffffffff
or eax, edx
add eax, ecx
add eax, 0xb23caa66
add eax, 0x3f3d84c
mov edx, eax
xor edx, 0xffffffff
and edx, 0x73a5735
mov r8d, 0xffffffff
xor r8d, 0x73a5735
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x73a5735
mov r8d, 0x46892465
xor r8d, 0x41b37350
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x7430e89b
xor ecx, 0x7964c8b6
cmp eax, ecx
jb 0x14014e696
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x14021fba0]
mov r8d, dword [0x14021fba4]
xor r8d, 0x603fb7e4
mov edx, eax
xor edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
and edx, r9d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
or edx, eax
xor edx, 0xffffffff
mov r8d, 0x83458ed8
xor r8d, 0x247b8393
mov eax, edx
xor eax, r8d
xor eax, 0xffffffff
or edx, 0xa73e0d4b
and edx, eax
mov eax, edx
and eax, 0x5036b6bb
mov r8d, 0xefe03775
xor r8d, 0xbfd681ce
or edx, r8d
add eax, edx
imul eax, eax, 0xd9dabb1e
cmp rcx, 0
setl cl
mov byte [rsp + 0x97], cl
cmp eax, 0xf0345c36
jae 0x14014e696
mov al, byte [rsp + 0x97]
test al, 1
jne 0x14014df21
jmp 0x14014df34
call fcn.14000c57e
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xb0]
movabs rax, 0x4272d7ee8e22e7e9
movabs rcx, 0xf4d9f8a876fb141a
xor rax, rcx
mov rcx, rdx
add rcx, rax
add rcx, r8
movabs rax, 0xc4b1124ab26ddec9
movabs r9, 0x721a3d0c4ab42d3a
xor rax, r9
sub rcx, rax
mov qword [rsp + 0x88], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14014dfaf
call fcn.140008bc6
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov r8, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x88]
mov rcx, rax
add rcx, r8
mov qword [rsp + 0x80], rcx
mov r9, rcx
xor r9, rax
xor r9, 0xffffffffffffffff
mov rdx, rax
and rdx, r9
shl rdx, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov r9, rcx
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
movabs rcx, 0x4cdb4d209598cc81
movabs rdx, 0x4cdb4d209598cc81
xor rcx, rdx
cmp rax, rcx
jge 0x14014e044
call fcn.140008bc6
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x7c], eax
mov ecx, 0x9e0ca1cd
xor ecx, 0x9e0ca1cd
cmp eax, ecx
je 0x14014e659
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 4]
mov dword [rsp + 0x78], eax
mov ecx, 0x7bedd10e
xor ecx, 0x7bedd10e
cmp eax, ecx
je 0x14014e659
mov eax, dword [rsp + 0x78]
movsxd r8, eax
mov qword [rsp + 0x68], r8
xor ecx, ecx
sub rcx, r8
xor edx, edx
sub rdx, 0xfffffffffffffff8
add rcx, rdx
xor edx, edx
sub rdx, rcx
mov qword [rsp + 0x70], rdx
mov rcx, rdx
and rcx, rcx
movabs r9, 0xf9d3066c625d24ce
movabs r10, 0x62cf9939da2db31
xor r9, r10
xor rcx, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
and r8, r8
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x349f4c3ffe3971a1
movabs r9, 0xcb60b3c001c68e5e
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl dl
cmp eax, 7
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x14014e126
jmp 0x14014e139
call fcn.140008bc6
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x70]
shr rdx, 1
mov qword [rsp + 0x48], rdx
movsxd rcx, ecx
mov qword [rsp + 0x50], rcx
xor ecx, ecx
mov edx, ecx
sub rdx, 8
mov rcx, rax
sub rcx, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
and rdx, rax
movabs r8, 0x6c4082a38fc00d5
movabs rax, 0x6c4082a38fc00d5
xor r8, rax
xor eax, eax
cmp rdx, r8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jge 0x14014e1b2
call fcn.140008bc6
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
cmp rax, rcx
je 0x14014e637
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x40]
mov ax, word [rax]
mov word [rsp + 0x2e], ax
mov cx, ax
and cx, 0xfff
movzx ecx, cx
add rcx, rdx
mov qword [rsp + 0x30], rcx
mov cx, 0x7150
xor cx, 0x7eaf
cmp ax, cx
jbe 0x14014e637
mov cx, word [rsp + 0x2e]
and cx, 0xf000
xor eax, eax
cmp cx, 0x3000
mov byte [rsp + 0xcf], al
jne 0x14014e66f
mov rax, qword [rsp + 0x30]
cmp rax, 0
jge 0x14014e24b
call fcn.14000c57e
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov r11d, dword [0x14021fba8]
mov r10d, dword [0x14021fbac]
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, r10d
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xbe729cd0
mov eax, ecx
and eax, 0xbe729cd0
and r11d, r8d
mov r9d, edx
and r9d, 0xbe729cd0
and r10d, r8d
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xa7d2dda2
xor edx, 0x19a04172
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, eax
or ecx, ecx
mov edx, 0xbebe416d
xor edx, 0x4141be92
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xa59735b5
mov r8d, 0xffffffff
xor r8d, 0xa59735b5
and edx, r8d
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa59735b5
and eax, edx
mov edx, 0x82c4c115
xor edx, 0x7d3b3eea
xor ecx, edx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0x105eb56d
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xa3e91431
or edx, 0xa3e91431
mov r8d, 0x4ced43c
xor r8d, 0xfb312bc3
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0xa3e91431
mov edx, 0xee5b36c0
xor edx, 0x11a4c93f
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xf87cc758
xor edx, 0x78338a7
xor ecx, edx
and eax, ecx
cmp eax, 0x5d873c06
jb 0x14014e69f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xf0]
mov r8d, dword [0x14021fbb0]
xor r8d, 0x4984b104
xor r8d, dword [0x14021fbb4]
mov r9d, 0xb3ad6986
xor r9d, 0x867612d5
mov eax, r8d
and eax, r9d
xor r8d, 0x35db7b53
or eax, r8d
mov r8d, 0x42a5a0e2
xor r8d, 0x878c666
imul eax, r8d
or eax, 0xc9e240c
cmp rcx, rdx
setl cl
mov byte [rsp + 0x2d], cl
cmp eax, 0x22bba703
jb 0x14014e69f
mov cl, byte [rsp + 0x2d]
xor eax, eax
test cl, 1
mov byte [rsp + 0xcf], al
jne 0x14014e3e1
jmp 0x14014e66f
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xf8]
xor eax, eax
sub rax, rdx
mov r9, r8
sub r9, rax
mov qword [rsp + 0x20], r9
mov rcx, r9
xor rcx, 0xffffffffffffffff
mov rax, rdx
and rax, rcx
movabs rcx, 0x3f6dda2724816640
movabs r10, 0xc09225d8db7e99bf
xor rcx, r10
xor rdx, rcx
mov rcx, r9
and rcx, rdx
or rax, rcx
movabs rcx, 0x945502759537a80a
movabs rdx, 0x6baafd8a6ac857f5
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0xb73e2c576577eb06
and rdx, rcx
movabs r10, 0x32839cf7dfb932e6
movabs rcx, 0x85bdb0a0baced9e0
xor r10, rcx
movabs rcx, 0xf1dcc72285a72340
movabs r11, 0xe2338dd7a58dcbf
xor rcx, r11
xor r10, rcx
and r9, r10
mov rcx, r8
xor rcx, 0xffffffffffffffff
movabs r11, 0xb73e2c576577eb06
and rcx, r11
and r8, r10
or rdx, r9
or rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
movabs rcx, 0x4911c8751043fd9c
movabs rdx, 0x4911c8751043fd9c
xor rcx, rdx
cmp rax, rcx
jge 0x14014e4ef
call fcn.140008bc6
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov rax, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0xc0]
mov r8, qword [rcx]
movabs r10, 0x3ccd661111dbfa72
movabs r11, 0xc33299eeee24058d
xor r10, r11
xor r8, r10
movabs r10, 0x1451fe0eefdf8464
movabs r11, 0x1451fe0eefdf8464
xor r10, r11
movabs r11, 0x319ad8bf4766ec53
movabs rsi, 0x319ad8bf4766ec52
xor r11, rsi
sub r10, r11
sub r8, r10
sub rdx, r8
mov qword [rcx], rdx
movabs rdx, 0x41c0c92d22b0ffb9
movabs rcx, 0x41c0c92d22b0ffbb
xor rdx, rcx
movabs rcx, 0x25050e98eef02e27
movabs r8, 0xdafaf167110fd1d8
xor rcx, r8
xor rdx, rcx
movabs rcx, 0x1413246b69b5396a
movabs r8, 0x1413246b69b5396a
xor rcx, r8
movabs r8, 0x70ddd231ae84f1f4
movabs r10, 0x70ddd231ae84f1f5
xor r8, r10
sub rcx, r8
sub rdx, rcx
mov rcx, r9
sub rcx, rdx
movabs rdx, 0x4a7fbaa301a1c7c0
movabs r8, 0xb580455cfe5e383f
xor rdx, r8
xor r9, rdx
mov r8, rcx
add r8, 1
mov rdx, rcx
xor rdx, 0xffffffffffffffff
or rdx, r9
add rdx, r8
movabs r8, 0xf594899cc94b2fa9
movabs r9, 0xf594899cc94b2fa9
xor r8, r9
add rax, 1
cmp rdx, r8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jge 0x14014e1b2
call fcn.140008bc6
xor eax, eax
mov byte [rsp + 0xcf], al
jmp 0x14014e66f
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0xa0], rax
jmp 0x14014ddb2
mov rax, qword [rsp + 0x98]
cmp rax, 0
setne al
mov byte [rsp + 0xcf], al
mov al, byte [rsp + 0xcf]
and al, 1
movzx eax, al
add rsp, 0x110
pop rsi
ret
mov esi, 0xe9803183
imul esi, esp, 0x7de1ffff
loope 0x14014e70c
invalid
or byte [rdx - 0x20160499], ah
idiv edi
call rcx
in al, dx
shr esp, 1
retf 0xe90f
add byte [rax], al
mov rcx, qword [rbp + 0x140]
add rsp, 0x20
add rax, 0x50
mov qword [rbp + 0x148], rax
mov rax, qword [rcx]
mov qword [rbp + 0x150], rax
cmp rax, 0
jl 0x14014e7b7
mov r8, qword [rbp + 0x150]
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax + 8]
mov rdx, rcx
add rdx, 8
xor eax, eax
cmp rcx, 0
cmove rdx, rax
lea rcx, [rbp + 0x1c0]
sub rsp, 0x20
call fcn.140026590
mov rdx, qword [rbp + 0x148]
add rsp, 0x20
mov rcx, qword [rbp + 0x1c0]
mov qword [rbp + 0x100], rcx
mov rax, qword [rbp + 0x1c8]
mov qword [rbp + 0x108], rax
mov dl, byte [rdx]
mov r8b, 0x3e
xor r8b, 0x3e
cmp dl, r8b
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
je 0x14014e90d
jmp 0x140150287
mov eax, dword [0x14021fbb8]
mov ecx, 0xbf17822e
xor ecx, 0x900f49ab
xor eax, ecx
imul eax, dword [0x14021fbbc]
mov ecx, 0x22105dfd
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x9c4676da
xor eax, 0xe5aa7c13
add ecx, eax
sub ecx, 0xafce98b1
sub ecx, 0x79ec0ac9
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc6799a19
or eax, edx
mov edx, 0xffffffff
xor edx, 0xc6799a19
mov r8d, 0xffffffff
xor r8d, 0xc6799a19
or edx, r8d
mov r8d, 0x7489af0d
xor r8d, 0x8b7650f2
xor ecx, r8d
mov r8d, 0xc771dc19
xor r8d, 0x388e23e6
xor edx, r8d
or ecx, edx
mov edx, 0x993c2deb
xor edx, 0x66c3d214
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x5846a150
jb 0x1401503d0
mov r8, qword [rbp + 0x150]
mov eax, dword [0x14021fbc0]
xor eax, 0xd90b7e22
xor edx, edx
div dword [0x14021fbc4]
imul eax, eax, 0x9afae9b4
mov ecx, 0xf4337349
xor ecx, 0xcdd9095d
xor eax, ecx
imul eax, eax, 0xac75a8f1
mov dword [rbp + 0xf8], eax
movabs rax, 0xb46048a337257cad
mov rdx, r8
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xb46048a337257cad
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14002180c
mov rcx, qword [rbp + 0x148]
mov eax, dword [rbp + 0xf8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x38
xor dl, 0x38
cmp cl, dl
sete cl
mov byte [rbp + 0xff], cl
cmp eax, 0xe4f27c0f
je 0x1401503d0
mov al, byte [rbp + 0xff]
test al, 1
jne 0x14014e9be
jmp 0x140150287
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x108]
cmp rax, 1
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0xf0], rax
jge 0x14014e9be
mov rdx, qword [rbp + 0x100]
mov rax, rdx
and rax, 0xffffffffffffffff
movabs rcx, 0x4dae42f0abd5714d
movabs r8, 0x4dae42f0abd5714f
xor rcx, r8
imul rax, rcx
movabs rcx, 0x91a23c5cb5e3f072
movabs r8, 0x6e5dc3a34a1c0f8d
xor rcx, r8
xor rdx, rcx
add rdx, rax
movabs rcx, 0xa71a6324db51f3a7
movabs rax, 0xa71a6324db51f3a7
xor rcx, rax
sub rsp, 0x20
call fcn.1400153d3
mov rcx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x108]
add rsp, 0x20
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jmp 0x140150287
mov rcx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rcx
add rcx, 8
mov qword [rbp + 0xc8], rcx
sub rsp, 0x20
call fcn.14014a000
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0xe0], r8
cmp byte [rdx], 0
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jne 0x140150287
mov eax, dword [0x14021fbc8]
mov ecx, dword [0x14021fbcc]
xor ecx, 0x8e163554
sub eax, ecx
imul r8d, eax, 0x70b80171
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xac6f52c4
mov edx, 0xffffffff
xor edx, 0xac6f52c4
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x6e24163a
and ecx, 0xac6f52c4
and edx, 0x6e24163a
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa7c9a284
xor edx, 0xd359c67f
and edx, ecx
mov r8d, 0xc795bf3f
xor r8d, 0xb305dbc4
mov ecx, 0x562220f8
xor ecx, 0xa9dddf07
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x749064fb
or eax, 0x749064fb
imul eax, edx
add eax, ecx
cmp eax, 0x7ba3df70
je 0x1401503d9
mov rcx, qword [rbp + 0xe0]
mov eax, dword [0x14021fbd0]
mov edx, dword [0x14021fbd4]
xor edx, 0x2b26a4e3
add eax, 0xd0d115ee
add eax, edx
sub eax, 0xd0d115ee
xor edx, edx
sub edx, eax
mov eax, 0xa4b3369e
xor eax, 0xa4b3369e
mov r8d, 0x5feb506a
xor r8d, 0x7f67f12b
sub eax, r8d
add edx, eax
mov eax, 0x97c275f7
xor eax, 0x97c275f7
sub eax, edx
mov edx, 0xf9523068
xor edx, 0x149ca1a5
or eax, edx
and eax, 0xe062e07a
cmp rcx, 0
sete cl
mov byte [rbp + 0xc7], cl
cmp eax, 0x9f394944
jbe 0x1401503d9
mov al, byte [rbp + 0xc7]
test al, 1
jne 0x14014eb5a
jmp 0x14014efb7
mov edx, dword [0x14021fbd8]
mov ecx, dword [0x14021fbdc]
xor ecx, 0xc5b38325
mov r8d, 0xfcc98d14
xor r8d, 0x33672eb
mov eax, edx
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
and ecx, ecx
mov edx, 0xa1b2657b
xor edx, 0x5e4d9a84
xor ecx, edx
mov edx, 0x395b8c7b
xor edx, 0xc6a47384
xor eax, edx
mov edx, 0x3bb5bf2
xor edx, 0xfc44a40d
xor ecx, edx
or eax, ecx
mov ecx, 0xb7624559
xor ecx, 0xaefb8afe
add eax, ecx
sub eax, 0xb05685fe
sub eax, 0x1999cfa7
add eax, 0x855cff21
mov edx, 0xfdf522c9
xor edx, 0xc7b22b2f
mov ecx, eax
xor ecx, edx
mov edx, 0x40cea0fd
xor edx, 0xbf315f02
xor ecx, edx
mov edx, 0x21d1e66a
xor edx, 0x1b96ef8c
or eax, edx
and eax, ecx
mov ecx, 0xe45a35bc
xor ecx, 0x2af691f0
cmp eax, ecx
ja 0x1401503e2
mov rcx, qword [rbp + 0x120]
mov edx, dword [0x14021fbe0]
mov r8d, dword [0x14021fbe4]
mov eax, r8d
and eax, edx
xor eax, 0xffffffff
add edx, r8d
add edx, 1
add edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xd6378599
and eax, r8d
xor edx, 0xffffffff
mov r8d, 0x3a9f32ea
xor r8d, 0xeca8b773
mov r9d, 0x32786b3
xor r9d, 0xfcd8794c
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov r8d, 0x336faa85
xor edx, edx
div r8d
mov edx, 0x110ea4c8
xor edx, 0x8be963a
xor eax, edx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xb8], rcx
cmp rcx, 0
sete cl
mov byte [rbp + 0xc6], cl
cmp eax, 0xaf06d8dc
je 0x1401503e2
mov al, byte [rbp + 0xc6]
test al, 1
jne 0x14014edd9
jmp 0x14014ecb7
mov eax, dword [0x14021fbe8]
xor eax, 0x2fae4848
xor eax, dword [0x14021fbec]
mov r8d, 0xffffffff
xor r8d, 0x44e3b0d2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xd77391a
xor r8d, 0xf288c6e5
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x44e3b0d2
or eax, 0x44e3b0d2
imul eax, edx
add eax, ecx
imul eax, eax, 0x8a4d102e
mov ecx, 0x5c628b8b
xor ecx, 0x79108627
xor eax, ecx
cmp eax, 0x26598b34
jb 0x1401503eb
mov rcx, qword [rbp + 0xb8]
mov eax, dword [0x14021fbf0]
mov r9d, dword [0x14021fbf4]
mov r8d, r9d
xor r8d, 0xffffffff
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, edx
mov edx, 0xd176037c
xor edx, 0x9b9b1a24
sub eax, edx
or eax, 0x71791e9c
and eax, 0xed645e60
mov rdx, qword [rcx]
mov r8, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0xca175a19f70c49af
movabs r8, 0xca175a19f70c49af
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0xb7], cl
cmp eax, 0xacbe1eae
je 0x1401503eb
mov al, byte [rbp + 0xb7]
test al, 1
jne 0x14014edc5
jmp 0x14014edd9
mov rcx, qword [rbp + 0xb8]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov eax, dword [0x14021fbf8]
mov ecx, dword [0x14021fbfc]
xor ecx, 0x1eeccb30
imul eax, ecx
mov ecx, 0xd27e2dc8
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
add eax, 1
xor ecx, 0xffffffff
or ecx, 0x9edd93ba
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xc8bafe0f
mov edx, 0xffffffff
xor edx, 0xc8bafe0f
and ecx, edx
or eax, ecx
cmp eax, 0xea260e7b
jae 0x1401503f4
mov rdx, qword [rbp + 0x140]
mov eax, dword [0x14021fc00]
mov ecx, dword [0x14021fc04]
add eax, 0xce477a27
add eax, ecx
mov ecx, 0x3c29bb78
xor ecx, 0xf26ec15f
sub eax, ecx
mov ecx, 0xea01814e
xor ecx, 0xea01814e
mov r8d, 0x42769c2b
xor r8d, 0xce4960a7
sub ecx, r8d
add eax, ecx
or eax, 0x5df4a883
xor eax, 0x2fed27bb
mov ecx, 0x82d4e6d2
xor ecx, 0xecee76e5
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xa8], rdx
cmp rdx, 0
sete dl
mov byte [rbp + 0xb6], dl
cmp eax, ecx
ja 0x1401503f4
mov al, byte [rbp + 0xb6]
test al, 1
jne 0x14014ef7a
jmp 0x14014eeb9
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x6af3d6c1dd4f6c94
movabs r8, 0x3e265fb1f0e0fb37
xor rdx, r8
movabs r8, 0xee18e2befac0cd06
movabs r9, 0x11e71d41053f32f9
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0x6ad9b1584f18c00c
movabs r8, 0x3e0c382862b757af
xor rcx, r8
or rcx, rdx
movabs rdx, 0x99a9e1cbe8538b5d
movabs r8, 0x66561e3417ac74a2
xor rdx, r8
xor rax, rdx
and rax, rcx
movabs rcx, 0xa329bc82786d9f39
movabs rdx, 0xa329bc82786d9f39
xor rcx, rdx
cmp rax, rcx
jne 0x14014ef7a
mov rcx, qword [rbp + 0xa8]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov qword [rbp + 0x1b0], rcx
mov qword [rbp + 0x1b8], rax
lea rcx, [rbp + 0x1b0]
sub rsp, 0x20
call fcn.140026940
add rsp, 0x20
xor eax, eax
mov byte [rbp + 0xa7], al
jmp 0x1401503c1
mov rcx, qword [rbp + 0xc8]
mov edx, 5
sub rsp, 0x20
call fcn.14014a480
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x98], r8
cmp byte [rdx], 0
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jne 0x140150287
mov rdx, qword [rbp + 0xe0]
mov rax, rdx
add rax, 0x30
mov qword [rbp + 0x68], rax
mov rcx, qword [rdx + 0x30]
mov qword [rbp + 0x70], rcx
mov rax, rcx
mov qword [rbp + 0x78], rax
mov rax, qword [0x14022d9c8]
mov rax, qword [rax]
mov r8, rdx
add r8, 0x50
mov qword [rbp + 0x80], r8
movsxd rdx, dword [rdx + 0x50]
sub rsp, 0x20
mov r8d, 0x3000
mov r9d, 0x40
call rax
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x88], rdx
test rax, rax
sete dl
mov byte [rbp + 0x97], dl
or rax, rcx
sete al
test al, 1
jne 0x14014f089
jmp 0x14014f440
mov rax, qword [rbp + 0x120]
mov rax, qword [rax + 8]
mov qword [rbp + 0x60], rax
cmp rax, 0
je 0x14014f21b
mov eax, dword [0x14021fc08]
xor eax, 0x26888859
mov edx, dword [0x14021fc0c]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xab12f202
xor ecx, 0x2ec5e24b
imul eax, ecx
sub eax, 0xb573fb74
mov ecx, 0x2e37724
xor ecx, 0x7ac915e2
sub eax, ecx
add eax, 0xb573fb74
mov ecx, 0x72c43cc0
xor ecx, 0x22630a11
xor edx, edx
div ecx
mov ecx, 0x24f02d45
xor ecx, 0x7ecb2439
cmp eax, ecx
ja 0x1401503fd
mov rcx, qword [rbp + 0x60]
mov eax, dword [0x14021fc10]
mov edx, 0x5b6de4d7
xor edx, 0x24402cee
xor eax, edx
mov r9d, dword [0x14021fc14]
mov edx, 0xeeedcc47
xor edx, 0x111233b8
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0xb6da974c
xor edx, edx
div r8d
mov edx, 0xb53c9a0c
xor edx, 0xc3893a29
imul eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xbbb08102
mov r9d, 0xffffffff
xor r9d, 0xbbb08102
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x7a5cde1d
xor r9d, 0xc1ec5f1f
mov r8d, eax
and r8d, r9d
mov r9d, 0xf7eddc59
xor r9d, 0x4c5d5d5b
or eax, r9d
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp + 0x5f], cl
cmp eax, 0x1f88ed99
ja 0x1401503fd
mov al, byte [rbp + 0x5f]
test al, 1
jne 0x14014f20a
jmp 0x14014f21b
mov rcx, qword [rbp + 0x60]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp + 0x140]
mov rax, qword [rax + 8]
mov qword [rbp + 0x50], rax
cmp rax, 0
je 0x14014f403
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xcd2f602e0f46619e
movabs rdx, 0xcd2f602e0f46619e
xor rcx, rdx
cmp rax, rcx
jne 0x14014f403
mov ecx, dword [0x14021fc18]
mov edx, dword [0x14021fc1c]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xcb6dbae6
xor ecx, 0x34924519
xor eax, ecx
mov r8d, eax
or r8d, r8d
xor r8d, 0xffffffff
mov ecx, 0xc017d712
xor ecx, 0x11c05a4a
mov edx, 0xf18ed0b4
xor edx, 0x20595dec
or ecx, edx
xor ecx, 0xffffffff
or r8d, ecx
mov ecx, 0x89ae4fab
xor ecx, 0x7651b054
xor r8d, ecx
or eax, 0xd1d78d58
mov ecx, 0x4a61d010
xor ecx, 0xb59e2fef
xor eax, ecx
xor r8d, 0xffffffff
xor eax, 0xffffffff
and r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xf9fa7961
mov ecx, 0x1b8fdf9e
xor ecx, 0xe275a6ff
mov edx, 0x20c9381e
xor edx, 0xdf36c7e1
xor ecx, edx
and r8d, ecx
sub r8d, eax
mov ecx, 0xee6f44ed
xor ecx, 0x1190bb12
mov eax, r8d
xor eax, ecx
and eax, 0xa67d8b3e
mov r9d, 0xffffffff
xor r9d, 0xa67d8b3e
and r8d, r9d
mov ecx, 0xa102aa43
xor ecx, 0x12e99a27
mov edx, 0xf01037f8
xor edx, 0xfefc807
xor ecx, edx
mov edx, 0xf2e5db6a
xor edx, 0x54985054
and ecx, edx
mov edx, 0x215a4a98
xor edx, 0x92b17afc
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x11990d2b
jb 0x140150406
mov rcx, qword [rbp + 0x50]
mov eax, dword [0x14021fc20]
mov edx, dword [0x14021fc24]
xor edx, 0x43bb301d
add eax, edx
mov edx, 0xddc7adcb
xor edx, 0xea463aaa
xor eax, edx
or eax, 0xf9825bb8
sub eax, 0xb5bbfbc5
mov dword [rbp + 0x4c], eax
mov eax, 0x98c794e1
xor eax, 0x1f0e4ec9
mov dword [rbp + 0x48], eax
sub rsp, 0x20
call fcn.140010918
mov ecx, dword [rbp + 0x48]
mov eax, dword [rbp + 0x4c]
add rsp, 0x20
cmp eax, ecx
jae 0x14014f3a4
jmp 0x14014f403
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov qword [rbp + 0x1a0], rcx
mov qword [rbp + 0x1a8], rax
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.140026940
add rsp, 0x20
mov al, 1
mov byte [rbp + 0xa7], al
jmp 0x1401503c1
mov ecx, dword [0x14021fc28]
imul ecx, dword [0x14021fc2c]
mov edx, 0xe79daec5
xor edx, 0xd364c56a
mov eax, ecx
and eax, edx
or ecx, 0x34f96baf
add eax, ecx
mov ecx, 0x991251de
xor ecx, 0x2be56a77
xor edx, edx
div ecx
add eax, 0xd91d2aee
cmp eax, 0x55526328
jb 0x14015040f
mov cl, byte [rbp + 0x97]
mov rdx, qword [rbp + 0x98]
mov r9d, dword [0x14021fc30]
mov eax, dword [0x14021fc34]
mov r8d, eax
xor eax, r8d
not eax
and eax, r9d
xor eax, r8d
imul rax, rax, 0x493fc9b7
shr rax, 0x3b
mov r9d, eax
not r9d
and r9d, 0x1a324524
mov r8d, eax
and r8d, 0xfffffffb
imul r8d, r9d
mov r9d, eax
and r9d, 4
or eax, 0x1a324524
imul eax, r9d
add eax, r8d
xor eax, 0x7af97c3a
test rdx, rdx
setne dl
and cl, dl
mov byte [rbp + 0x47], cl
cmp eax, 0xc70410e
jb 0x14015040f
mov rax, qword [rbp + 0x88]
mov cl, byte [rbp + 0x47]
test cl, 1
mov qword [rbp + 0x38], rax
jne 0x14014f518
jmp 0x14014f753
mov rcx, qword [rbp + 0x80]
mov rax, qword [0x14022d9c8]
mov rax, qword [rax]
movsxd rdx, dword [rcx]
xor ecx, ecx
mov r8d, 0x3000
mov r9d, 0x40
sub rsp, 0x20
call rax
add rsp, 0x20
cmp rax, 0
mov qword [rbp + 0x38], rax
jne 0x14014f753
mov rax, qword [rbp + 0x120]
mov rax, qword [rax + 8]
mov qword [rbp + 0x30], rax
cmp rax, 0
je 0x14014f5cf
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0xf43ab683e280081
movabs rdx, 0xf43ab683e280081
xor rcx, rdx
cmp rax, rcx
jne 0x14014f5cf
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp + 0x140]
mov rax, qword [rax + 8]
mov qword [rbp + 0x28], rax
cmp rax, 0
je 0x14014f614
mov rcx, qword [rbp + 0x28]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14014f614
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov r8d, dword [0x14021fc38]
xor r8d, 0x8690cf8
mov eax, dword [0x14021fc3c]
xor eax, 0x4670f82e
or r8d, eax
mov eax, r8d
xor eax, 0xcebd39a
xor eax, 0xffffffff
or r8d, 0xcebd39a
and r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xda12f39f
xor eax, 0x44ee87c0
and eax, ecx
mov edx, 0xffffffff
xor edx, 0x9efc745f
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x6ce4f3ca
mov r9d, 0x197ca36c
xor r9d, 0x8780d733
and ecx, r9d
and edx, 0x6ce4f3ca
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xbecb47bf
xor ecx, 0x809ea934
and eax, ecx
cmp eax, 0x25bb47c1
ja 0x140150418
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov r8d, dword [0x14021fc40]
xor r8d, dword [0x14021fc44]
mov r9d, 0xa780ba77
xor r9d, 0x5cdd0050
mov edx, r8d
or edx, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xfb5dba27
and r8d, r9d
or edx, r8d
xor edx, 0xffffffff
or edx, 0x4e0c71
mov r8d, 0x274c597a
xor r8d, 0xc61e1b9b
sub edx, r8d
sub edx, 0x9eaa5e08
add edx, 0xe15242e1
mov dword [rbp + 0x24], edx
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rax
lea rcx, [rbp + 0x190]
sub rsp, 0x20
call fcn.140026940
mov eax, dword [rbp + 0x24]
add rsp, 0x20
cmp eax, 0xd35f176d
je 0x140150418
mov al, 2
mov byte [rbp + 0xa7], al
jmp 0x1401503c1
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x10], rdx
mov qword [rcx], rdx
mov eax, dword [rax + 0x54]
movsxd rcx, eax
mov qword [rbp + 0x18], rcx
cmp eax, 0
jge 0x14014f8d1
mov ecx, dword [0x14021fc48]
mov edx, dword [0x14021fc4c]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0x59c941f4
xor r8d, 0xa636be0b
xor edx, r8d
and ecx, edx
or eax, ecx
add eax, 0x14d2c754
xor eax, 0x18a5567d
mov edx, 0xffffffff
xor edx, 0xcfc42b31
mov ecx, eax
and ecx, edx
mov r8d, 0x6bad1a7d
xor r8d, 0xa469314c
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x2649c9bc
jb 0x140150421
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x14021fc50]
imul eax, dword [0x14021fc54]
xor eax, 0x48d59ff
or eax, eax
xor eax, 0xffffffff
mov edx, 0xbcd9d8b3
xor edx, 0x32fd2432
mov r8d, 0xae50c07
xor r8d, 0x84c1f086
or edx, r8d
mov r8d, 0x98daeedf
xor r8d, 0x67251120
xor edx, r8d
xor eax, 0xffffffff
mov r8d, 0x422493d6
xor r8d, 0xbddb6c29
xor edx, r8d
and eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x329e401c
mov r9d, 0x73388ca
xor r9d, 0x35adc8d6
mov edx, 0x6457a9c6
xor edx, 0x9ba85639
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x329e401c
or eax, 0x329e401c
imul eax, r8d
add eax, edx
mov dword [rbp + 0xc], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e6db
mov eax, dword [rbp + 0xc]
add rsp, 0x20
cmp eax, 0x6d36d1be
je 0x140150421
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jmp 0x140150287
mov r8, qword [rbp + 0x18]
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14014af40
mov rdx, qword [rbp + 0xe0]
add rsp, 0x20
mov rcx, rdx
add rcx, 0x108
mov qword [rbp], rcx
movabs r8, 0x6cebd6abed6f6c46
movabs rax, 0x93142954129093b9
xor r8, rax
mov rax, rdx
xor rax, r8
movabs r8, 0x931647ee71596d23
movabs r9, 0x6ce9b8118ea692dc
xor r8, r9
xor rax, r8
and rax, 0xffffffffffffffff
shl rax, 1
movabs r8, 0x7ef420673ddafbd0
movabs r9, 0x810bdf98c225042f
xor r8, r9
sub rax, r8
sub rdx, rax
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jl 0x14014f98f
mov rax, qword [rbp + 0xe0]
add rax, 6
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
jmp 0x14014f9bd
sub rsp, 0x20
call fcn.140008bc6
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jmp 0x140150287
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov qword [rbp - 0x18], rax
movzx ecx, word [rcx]
cmp rax, rcx
jae 0x14014fea0
mov rcx, qword [rbp - 0x18]
mov edx, 0x28
lea r8, [rbp + 0x188]
sub rsp, 0x20
call fcn.14014a270
add rsp, 0x20
test al, 1
jne 0x14014f9ff
jmp 0x14014fa11
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x14014fe7f
mov eax, dword [0x14021fc58]
xor eax, dword [0x14021fc5c]
sub eax, 0xaf0b6a23
mov r8d, 0xffffffff
xor r8d, 0xa469cea2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xe8000a02
xor r8d, 0x17fff5fd
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa469cea2
or eax, 0xa469cea2
imul eax, edx
add eax, ecx
xor eax, 0x76de6499
cmp eax, 0x4b243c02
jbe 0x14015042a
mov eax, dword [0x14021fc60]
xor eax, 0xcb930c86
xor edx, edx
div dword [0x14021fc64]
mov ecx, 0x4e99c885
xor edx, edx
div ecx
mov rdx, qword [rbp]
or eax, 0x4ae0cceb
mov ecx, 0xb2c91a93
xor ecx, 0x22079c7e
and eax, ecx
mov dword [rbp - 0x20], eax
mov rcx, qword [rbp + 0x188]
mov rax, rcx
and rax, rdx
or rcx, rdx
add rax, rcx
movsxd rcx, dword [rax + 0xc]
movabs rdx, 0x7bc9e5c479840ceb
movabs rax, 0x7bc9e5c479840cea
xor rdx, rax
lea r8, [rbp + 0x180]
sub rsp, 0x20
call fcn.14014a270
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x20]
mov byte [rbp - 0x19], cl
cmp eax, 0xf6596e2d
jae 0x14015042a
mov al, byte [rbp - 0x19]
test al, 1
jne 0x14014fb08
jmp 0x14014fb1a
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x14014fe7f
mov r8, qword [rbp + 0x130]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x10]
add rax, qword [rbp + 0x180]
mov qword [rbp - 0x28], rax
mov edx, 0x28
sub rsp, 0x20
call fcn.14014a270
add rsp, 0x20
test al, 1
jne 0x14014fb53
jmp 0x14014fb65
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x14014fe7f
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp]
add rax, qword [rcx]
movsxd rcx, dword [rax + 0x14]
mov edx, 1
lea r8, [rbp + 0x178]
sub rsp, 0x20
call fcn.14014a270
add rsp, 0x20
test al, 1
jne 0x14014fb9d
jmp 0x14014fcc8
mov eax, dword [0x14021fc68]
mov ecx, 0xd0661dc0
xor ecx, 0xfcb9224
xor eax, ecx
mov ecx, dword [0x14021fc6c]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
add eax, 0xbfc6da3c
mov edx, 0x75859ed7
xor edx, 0xd8650e9e
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0xade09049
sub eax, ecx
mov edx, 0xeacb4e25
xor edx, 0x4b11f65b
mov ecx, eax
xor ecx, edx
mov edx, 0x2bd01fbb
xor edx, 0xd42fe044
xor ecx, edx
mov edx, 0x1fd148ae
xor edx, 0xbe0bf0d0
or eax, edx
and eax, ecx
mov ecx, 0x73b1d0f5
xor ecx, 0x8831255b
cmp eax, ecx
je 0x140150433
mov ecx, dword [0x14021fc70]
mov eax, dword [0x14021fc74]
sub ecx, 0xe565c8fd
add ecx, eax
add ecx, 0xe565c8fd
mov eax, ecx
xor eax, 0x57debe49
mov edx, 0xf8437294
xor edx, 0x7bc8d6b
xor eax, edx
or ecx, 0x57debe49
and ecx, eax
mov edx, 0xb3cbda65
xor edx, 0x4c34259a
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x392e47e9
xor eax, 0xffffffff
mov edx, 0x392e47e9
and edx, 0x392e47e9
mov r8d, 0xf2f41c8c
xor r8d, 0xd0be373
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
or eax, 0x6af22d9f
mov dword [rbp - 0x2c], eax
mov eax, 0xe2e5494a
xor eax, 0x186e018d
mov dword [rbp - 0x30], eax
sub rsp, 0x20
call fcn.140008bc6
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x2c]
add rsp, 0x20
cmp eax, ecx
je 0x14014fc1a
jmp 0x14014fe7f
mov r8, qword [rbp + 0x138]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0x178]
movabs r9, 0x8558b9a0ea3aa2ea
movabs r10, 0x683b94d24034ebd6
xor r9, r10
add rax, r9
add rax, rdx
movabs rdx, 0xed632d72aa0e493c
sub rax, rdx
mov qword [rbp - 0x38], rax
mov edx, 0x28
sub rsp, 0x20
call fcn.14014a270
add rsp, 0x20
test al, 1
jne 0x14014fd2e
jmp 0x14014fd40
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x14014fe7f
mov ecx, dword [0x14021fc78]
mov edx, dword [0x14021fc7c]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov r8d, 0xae988867
xor r8d, 0x51677798
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and edx, edx
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x9b737585
mov edx, 0x40c53400
xor edx, 0xbf3acbff
xor ecx, edx
or eax, 0x9b737585
and eax, ecx
mov ecx, 0x652d7793
xor edx, edx
div ecx
mov ecx, 0x77d04c03
xor edx, edx
div ecx
mov ecx, 0xc9389f4d
xor ecx, 0xc873475d
cmp eax, ecx
jae 0x14015043c
mov rdx, qword [rbp + 0x138]
mov rcx, qword [rbp]
mov eax, dword [0x14021fc80]
sub eax, dword [0x14021fc84]
xor r8d, r8d
sub r8d, 0x3248d042
add eax, r8d
or eax, 0xdd60deb0
xor r8d, r8d
sub r8d, eax
xor eax, eax
sub eax, 0xdf458440
add r8d, eax
xor eax, eax
sub eax, r8d
add rcx, qword [rdx]
mov ecx, dword [rcx + 0x10]
mov dword [rbp - 0x40], ecx
cmp ecx, 0
setl cl
mov byte [rbp - 0x39], cl
cmp eax, 0x3082e8
jbe 0x14015043c
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14014fe2b
jmp 0x14014fe51
mov eax, dword [rbp - 0x40]
movsxd rcx, eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e6db
add rsp, 0x20
jmp 0x14014fe7f
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
mov eax, dword [rbp - 0x40]
mov eax, eax
mov r8d, eax
sub rsp, 0x20
call fcn.14014af40
mov rax, qword [rbp - 0x18]
add rsp, 0x20
add rax, 1
mov qword [rbp - 8], rax
jmp 0x14014f9bd
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jmp 0x140150287
mov r8d, dword [0x14021fc88]
mov ecx, dword [0x14021fc8c]
mov eax, r8d
xor eax, ecx
xor eax, 0xffffffff
mov edx, ecx
and edx, eax
mov eax, 0x78119d2
xor eax, 0x78119d0
imul eax, edx
sub eax, ecx
sub r8d, eax
mov ecx, 0x948ad532
xor ecx, 0x6b752acd
mov eax, r8d
xor eax, ecx
and eax, 0xd542fcbe
mov edx, 0xffffffff
xor edx, 0xd542fcbe
and r8d, edx
mov ecx, 0x9618733
xor ecx, 0x99eb608f
mov r9d, 0x524b4a04
xor r9d, 0xadb4b5fb
xor ecx, r9d
and ecx, 0xd542fcbe
and edx, 0x908ae7bc
or eax, r8d
or ecx, edx
xor eax, ecx
mov edx, 0xb1d8b0b
xor edx, 0x2da9c589
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x26b44e82
add eax, ecx
mov ecx, 0x50955bbf
xor ecx, 0x5e2a8da4
imul eax, ecx
cmp eax, 0x4637ea2a
je 0x140150445
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x120]
mov r8d, dword [0x14021fc90]
xor r8d, 0x7f981b1b
mov edx, dword [0x14021fc94]
mov r9d, 0x1e64a84e
xor r9d, 0x3dd4826a
xor edx, r9d
add r8d, edx
mov r10d, 0xffffffff
xor r10d, 0xc1745ada
mov r9d, r8d
and r9d, r10d
mov edx, r8d
or edx, r10d
xor edx, 0xffffffff
imul edx, r9d
mov r9d, r8d
and r9d, 0xc1745ada
or r8d, 0xc1745ada
imul r8d, r9d
add r8d, edx
mov r9d, 0xffffffff
xor r9d, 0xde11e868
mov edx, r8d
xor edx, r9d
and edx, r8d
mov r8d, edx
add r8d, 1
xor edx, 0xffffffff
or edx, 0x2dca32fc
add edx, r8d
mov dword [rbp - 0x48], edx
mov edx, 0x50a8fc65
xor edx, 0x87ddf64e
mov dword [rbp - 0x4c], edx
mov rdx, qword [rax]
mov qword [rbp + 0x168], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x170], rax
lea rdx, [rbp + 0x168]
sub rsp, 0x20
call fcn.14014b1b0
mov rdx, qword [rbp + 0x148]
mov ecx, dword [rbp - 0x4c]
add rsp, 0x20
mov eax, dword [rbp - 0x48]
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
jae 0x14014ff4e
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov dl, byte [rbp - 0x41]
test dl, 1
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jne 0x140150066
jmp 0x140150287
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14014d848
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jne 0x140150287
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x70]
cmp rax, rcx
je 0x140150145
mov r8, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x80]
movsxd r9, dword [rax]
sub rsp, 0x20
mov rcx, r8
call fcn.14014da60
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x148]
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 - 0x50], eax
test eax, eax
je 0x140150145
jmp 0x140150107
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xd0]
mov edx, dword [rbp - 0x50]
sub edx, 2
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
je 0x140150287
jmp 0x140150134
mov eax, dword [rbp - 0x50]
sub eax, 0xe
jne 0x1401503c1
jmp 0x140150145
mov r8, qword [rbp + 0x10]
mov rax, qword [rbp + 0xe0]
movsxd rdx, dword [rax + 0x28]
mov rcx, rdx
add rcx, r8
mov qword [rbp - 0x58], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
or rax, rax
movabs rdx, 0x6eb48b84a901b0bc
movabs r8, 0x914b747b56fe4f43
xor rdx, r8
xor rax, rdx
or rcx, rcx
movabs rdx, 0x4552e159551912fb
movabs r8, 0xbaad1ea6aae6ed04
xor rdx, r8
xor rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x1401501e0
sub rsp, 0x20
call fcn.140008bc6
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
add rsp, 0x20
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jmp 0x140150287
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.1400b8b03
mov rdx, qword [rbp + 0x148]
mov rcx, qword [rbp + 0xd0]
add rsp, 0x30
mov r8, rax
mov rax, qword [rbp + 0xd8]
mov qword [rbp - 0x60], r8
mov dl, byte [rdx]
mov r8b, 0xa0
xor r8b, 0xa0
cmp dl, r8b
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
jne 0x140150287
mov rcx, qword [rbp - 0x60]
mov rax, qword [0x14022db88]
mov rax, qword [rax]
mov dl, 0xe4
xor dl, 0xe5
xor r8d, r8d
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x118]
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x70], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x140150334
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0x7ae7e4cb1a4437a0
movabs r8, 0x85181b34e5bbc85f
xor rdx, r8
xor rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x9e05eac0ebfe7ffc
movabs rdx, 0x9e05eac0ebfe7ffc
xor rcx, rdx
cmp rax, rcx
jne 0x140150334
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp + 0x140]
mov rax, qword [rax + 8]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x14015038f
mov rcx, qword [rbp - 0x80]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x570a8ba3b2ab2fff
movabs rdx, 0x570a8ba3b2ab2fff
xor rcx, rdx
cmp rax, rcx
jne 0x14015038f
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x70]
mov qword [rbp + 0x158], rcx
mov qword [rbp + 0x160], rax
lea rcx, [rbp + 0x158]
sub rsp, 0x20
call fcn.140026940
add rsp, 0x20
xor eax, eax
mov byte [rbp + 0xa7], al
cmpsd dword [rsi], dword [rdi]
add byte [rax], al
add byte [rdx + 0xa785], cl
add byte [rax - 0x73], cl
movsd dword [rdi], dword [rsi]
rol byte [rcx], 1
add byte [rax], al
mov al, byte [rbp + 0xa7]
lea rsp, [rbp + 0x1d0]
pop rbp
ret
test dword [rdi - 0x73166735], 0x64ffffe4
sub dword [rsi + rbx - 0x191517], ecx
sub dword fs:[rsi + rbx - 0x191517], ecx
inc dword [rdi]
pop rsp
ret 0xe9fe
invalid
popfq
fdivr st(4), st(0)
loopne 0x1401503d9
jmp 0x100be03f5
test al, 0xc0
jno 0x1401503bd
jmp 0x14014ee2d
scasd eax, dword [rdi]
invalid
stosb byte [rdi], al
invalid
invalid
in eax, dx
wait
invalid
imul esp, dword fs:[rcx + rdi*8 - 0xc4717], 0xffffffff
xchg ebp, eax
movsd dword [rdi], dword [rsi]
rcr edx, cl
jmp 0x14014fa6e
movabs dword [0xfffff7dee9bf8a04], eax
popfq
movabs byte [0x43fffff97be98675], al
cmp eax, 0xe984c2
cmp eax, 0xe984c2
sti
invalid