Function at 0x14015f230
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp - 8], rdx
mov r13, rcx
mov eax, dword [0x14159def0]
mov ecx, dword [0x14159def4]
mov edx, ecx
not edx
or edx, eax
not eax
or eax, ecx
and eax, edx
mov ecx, eax
xor ecx, 0x438b05
xor eax, 0x972074ea
mov edx, eax
and edx, 0xff9c5058
and ecx, 0x63afa7
imul ecx, edx
mov edx, eax
and edx, 0x63afa7
or eax, 0x63afa7
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xddbad8ed
and ecx, 0x22452712
imul ecx, edx
mov edx, eax
and edx, 0x22452712
or eax, 0x22452712
imul eax, edx
add eax, ecx
cmp eax, 0x102b475c
jae 0x14015f310
mov eax, 0x70
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov eax, dword [0x14159def8]
mov ecx, dword [0x14159defc]
not eax
not ecx
or ecx, eax
not ecx
imul ecx, ecx, 0xb6f5aaa4
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x109ff4e4
and eax, 0xf600b18
imul eax, edx
mov edx, ecx
and edx, 0xf600b18
or ecx, 0xf600b18
imul ecx, edx
add ecx, eax
or ecx, 0xe6b4ae57
mov eax, 0x70
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov r14, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov r12, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov rdx, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov r8, rsp
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov r15, rsp
cmp ecx, 0x9cc3a9e8
jb 0x14015f310
mov qword [rbp - 0x10], r8
mov qword [rbp - 0x28], rdx
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov rsi, rsp
mov eax, 0x30
call fcn.14020e090
sub rsp, rax
mov qword [rbp - 0x18], rsp
sub rsp, 0x20
mov rcx, rsi
mov rdx, r13
mov r8, qword [rbp - 8]
call fcn.140140950
add rsp, 0x20
movzx r11d, byte [rsi]
mov rax, qword [rsi + 0x10]
nop dword [rax + rax]
mov edx, dword [0x14159df00]
mov r8d, dword [0x14159df04]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
imul edx, edx, 0x75026376
add edx, 0xef7051b8
and edx, 0xf364d878
cmp edx, 0x7431148d
ja 0x14015f420
mov r8, qword [rsi + 0x20]
cmp r11b, 3
jge 0x14015f532
test r11b, r11b
jle 0x14015f5b8
mov edx, 6
cmp r11b, 2
jge 0x14015f5d2
add rax, 8
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x14015f4a0
lea rdx, [r8 + 1]
nop dword [rax + rax]
mov r9d, dword [0x14159df10]
mov r10d, dword [0x14159df14]
not r9d
not r10d
or r10d, r9d
not r10d
imul r9d, r10d, 0xc00ecc34
imul r9, r9, 0x27b00223
shr r9, 0x39
imul r10d, r9d, 0xda17ee13
test r8, r8
mov r9, rdx
cmove r9, r8
cmp r10d, 0x38d14004
je 0x14015f4b0
mov r8, rax
and r8, r9
or rax, r9
mov rdx, rax
add rdx, r8
nop word cs:[rax + rax]
mov eax, dword [0x14159df18]
or eax, dword [0x14159df1c]
add eax, 0xb8dc408a
and eax, 0xcd55f790
cmp eax, 0x16d3fc76
je 0x14015f510
jmp 0x14015f5d2
cmp r11b, 5
jge 0x14015f55b
cmp r11b, 4
jge 0x14015fb63
add rax, 4
mov rdx, rax
mov rax, qword [rbp - 8]
sub rax, rdx
jae 0x14015f5e0
jmp 0x14015fc54
cmp r11b, 6
jge 0x14015fc0d
mov eax, 0x9ad7d9eb
nop word [rax + rax]
mov edx, dword [0x14159df30]
mov r8d, dword [0x14159df34]
mov r9d, edx
and r9d, r8d
or edx, r8d
add edx, r9d
imul rdx, rax
shr rdx, 0x3e
add edx, 0xe451c3be
or edx, 0x9cf2a6c
cmp edx, 0xea8649f3
jb 0x14015f570
mov edx, 2
mov rax, qword [rbp - 8]
sub rax, rdx
jae 0x14015f5e0
jmp 0x14015fc54
jne 0x14015fc20
movabs rdx, 0x1afafa506171947b
sub rax, rdx
add rdx, rax
add rdx, 4
mov rax, qword [rbp - 8]
sub rax, rdx
jb 0x14015fc54
nop
mov r8d, dword [0x14159df38]
mov r9d, dword [0x14159df3c]
mov r10d, r8d
and r10d, r9d
add r10d, r10d
add r8d, r9d
sub r8d, r10d
mov r9d, r8d
and r9d, 0xe952d269
xor r9d, 0x8950c049
or r9d, 0x2892416
xor r8d, 0x20220
and r8d, 0x812c260
and r9d, 0xe3c9341f
or r9d, r8d
cmp r9d, 0x6c09ac79
jb 0x14015f5e0
add rdx, r13
nop dword [rax]
mov r8d, dword [0x14159df40]
sub r8d, dword [0x14159df44]
mov r9d, r8d
xor r9d, 0x3aea8881
or r8d, 0xc515777e
and r8d, r9d
mov r9d, r8d
and r9d, 0x6e5243ad
or r8d, 0x6e5243ad
add r8d, r9d
mov r9d, r8d
not r9d
mov r10d, r8d
and r10d, 0xc87ef719
and r9d, 0x378108e6
imul r9d, r10d
mov r10d, r8d
and r10d, 0x378108e6
or r8d, 0x378108e6
imul r8d, r10d
add r8d, r9d
cmp r8d, 0x1385e621
je 0x14015f640
test rax, rax
mov byte [rbp + 7], r11b
je 0x14015f76b
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14015f6d0
movzx r9d, byte [rdx]
mov eax, dword [0x14159df48]
xor edx, edx
div dword [0x14159df4c]
nop word cs:[rax + rax]
mov eax, dword [0x14159df50]
add eax, dword [0x14159df54]
or eax, 0xa10003a0
and eax, 0xf52047a8
cmp eax, 0x736f8ef6
jb 0x14015f6f0
mov eax, r9d
xor al, 0x5c
mov edx, r9d
xor dl, 0x2f
nop dword [rax + rax]
cmp r9b, 0x5c
sete r10b
cmp r9b, 0x2f
sete r8b
mov r11d, dword [0x14159df58]
mov ecx, dword [0x14159df5c]
add ecx, r11d
add ecx, 0xb7bbc90a
and ecx, 0x2004052a
mov r11d, edx
or r11b, al
sete r11b
cmp ecx, 0x4fd72cd1
je 0x14015f720
xor r8b, r10b
or r8b, r11b
movzx r11d, byte [rbp + 7]
jmp 0x14015f76e
xor r8d, r8d
mov r10, qword [rbp - 0x18]
mov eax, dword [0x14159df60]
imul eax, dword [0x14159df64]
and eax, 0xbfb41a20
imul rax, rax, 0x3a008b8b
shr rax, 0x3b
cmp eax, 0x8c9056b0
jne 0x14015f7af
mov rax, qword [rsi + 0x20]
mov qword [r10 + 0x1f], rax
movups xmm0, xmmword [rsi + 1]
movups xmm1, xmmword [rsi + 0x11]
movups xmmword [r10 + 0x10], xmm1
movups xmmword [r10], xmm0
mov eax, 0xa3eb7b47
nop word cs:[rax + rax]
mov edx, dword [0x14159df68]
xor edx, dword [0x14159df6c]
mov ecx, edx
not ecx
mov r9d, edx
and r9d, 0xa3274153
and ecx, 0x5cd8beac
imul ecx, r9d
mov r9d, edx
and r9d, 0x5cd8beac
or edx, 0x5cd8beac
imul edx, r9d
add edx, ecx
imul rdx, rax
shr rdx, 0x3f
xor edx, 0x8f018c53
mov rcx, qword [rsi + 0x20]
mov qword [r10 + 0x1f], rcx
movups xmm0, xmmword [rsi + 1]
movups xmm1, xmmword [rsi + 0x11]
movups xmmword [r10 + 0x10], xmm1
movups xmmword [r10], xmm0
cmp edx, 0x24847779
jb 0x14015f7c0
cmp qword [rbp - 8], 0
je 0x14015f8a0
mov rsi, qword [rbp - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x14159df70]
or eax, dword [0x14159df74]
add eax, 0xfeaf3fd8
or eax, 0x2de3966d
cmp eax, 0x93efc43a
je 0x14015f840
nop dword [rax]
mov eax, dword [0x14159df78]
sub eax, dword [0x14159df7c]
or eax, 0xf1fbec10
imul rcx, rax, 0x12db4221
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
or eax, 0xbc7fb688
cmp eax, 0xe1a8b561
ja 0x14015f860
cmp r11b, 6
jne 0x14015f947
jmp 0x14015f9bc
mov eax, dword [0x14159df80]
xor edx, edx
div dword [0x14159df84]
mov rsi, qword [rbp - 0x10]
mov eax, 0x886aece5
nop word [rax + rax]
mov ecx, dword [0x14159df88]
mov r9d, dword [0x14159df8c]
mov edx, ecx
not edx
mov r10d, r9d
not r10d
mov r11d, edx
and r11d, 0x9787f16e
and ecx, 0x68780e91
or ecx, r11d
or edx, r10d
and r10d, 0x9787f16e
and r9d, 0x68780e91
or r9d, r10d
xor r9d, ecx
not edx
or edx, r9d
xor edx, 0xf2931b1c
imul rdx, rax
shr rdx, 0x3e
or edx, 0x6f60e2dd
cmp edx, 0xd5b9501d
je 0x14015f8c0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14015f930
movzx r11d, byte [rbp + 7]
cmp r11b, 3
mov r10, qword [rbp - 0x18]
jae 0x14015fb2f
mov rax, qword [r10 + 0x1f]
mov qword [r15 + 0x1f], rax
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x14159df98]
and eax, dword [0x14159df9c]
mov ecx, eax
xor ecx, 0x1a04c155
and ecx, eax
mov eax, ecx
and eax, 0x5a04e37d
mov edx, eax
not edx
mov r9d, ecx
and r9d, 0x58000208
and edx, 0x65ded75
imul edx, r9d
and ecx, 0x204e175
or eax, 0x65ded75
imul eax, ecx
add eax, edx
cmp eax, 0xd63ac0d1
je 0x14015f970
mov eax, dword [0x14159dfa0]
mov ecx, dword [0x14159dfa4]
add eax, ecx
add eax, 0x74be5789
cmp eax, 0x9a2d2651
jae 0x14015fa00
mov rax, qword [r15 + 0x1f]
mov qword [rdi + 0x30], rax
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + 0x21], xmm1
movups xmmword [rdi + 0x11], xmm0
mov qword [rdi], r13
nop word cs:[rax + rax]
mov eax, dword [0x14159dfa8]
mov ecx, dword [0x14159dfac]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
xor ecx, 0xb6369c54
imul eax, ecx, 0x43421461
or eax, 0x6384f623
mov rcx, qword [r15 + 0x1f]
mov qword [rdi + 0x30], rcx
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + 0x21], xmm1
movups xmmword [rdi + 0x11], xmm0
mov qword [rdi], r13
cmp eax, 0x787d6273
jb 0x14015fa00
mov eax, dword [0x14159dfb0]
xor edx, edx
div dword [0x14159dfb4]
mov ecx, eax
not ecx
and ecx, 0x6aea8dc4
mov edx, eax
and edx, 0x9515723b
imul edx, ecx
mov ecx, eax
and ecx, 0x6aea8dc4
or eax, 0x6aea8dc4
imul eax, ecx
add eax, edx
xor eax, 0x6d9ca1fd
add eax, 0x3f07d
cmp eax, 0x5775e97
mov rdx, qword [rbp - 8]
jae 0x14015fac0
mov qword [rdi + 8], rdx
mov byte [rdi + 0x10], r11b
mov word [rdi + 0x38], 0x200
mov byte [rdi + 0x3a], r8b
mov qword [rsi], 1
mov qword [rsi + 8], 0
nop word [rax + rax]
mov eax, dword [0x14159dfb8]
imul eax, dword [0x14159dfbc]
mov ecx, eax
and ecx, 0x35a2994c
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xb69424a4
mov qword [rdi + 8], rdx
mov byte [rdi + 0x10], r11b
mov word [rdi + 0x38], 0x200
mov byte [rdi + 0x3a], r8b
mov qword [rsi], 1
mov qword [rsi + 8], 0
cmp eax, 0x6b6bf6b3
je 0x14015fac0
mov eax, dword [0x14159dfc0]
mov ecx, dword [0x14159dfc4]
add eax, ecx
add eax, 0xa22401f4
or eax, 0xea3fdd72
cmp eax, 0xf9f39467
jbe 0x14015fc56
jmp 0x14015fc8f
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, dword [0x14159df90]
sub eax, dword [0x14159df94]
imul eax, eax, 0x2acda5b9
and eax, 0x57218a5e
cmp eax, 0x4c2fd867
je 0x14015fb40
jmp 0x140161970
add rax, 2
nop word [rax + rax]
mov edx, dword [0x14159df20]
sub edx, dword [0x14159df24]
imul edx, edx, 0xf21e8679
add edx, 0xe06c69b1
or edx, 0x38d18d94
cmp edx, 0x434e1714
jb 0x14015fb70
lea r9, [r8 + 1]
mov ecx, r11d
nop dword [rax]
mov r10d, dword [0x14159df28]
add r10d, dword [0x14159df2c]
mov edx, r10d
not edx
and edx, 0x4bdb081b
mov r11d, r10d
and r11d, 0xb424f7e4
imul r11d, edx
mov edx, r10d
and edx, 0x4bdb081b
or r10d, 0x4bdb081b
imul r10d, edx
add r10d, r11d
xor r10d, 0x39816606
test r8, r8
mov rdx, r9
cmove rdx, r8
cmp r10d, 0x17821cfa
jb 0x14015fba0
add rdx, rax
mov r11d, ecx
mov rax, qword [rbp - 8]
sub rax, rdx
jae 0x14015f5e0
jmp 0x14015fc54
mov rax, qword [rbp - 8]
mov rdx, r13
je 0x14015f640
nop word [rax + rax]
mov eax, dword [0x14159df08]
xor edx, edx
div dword [0x14159df0c]
add eax, 0xa4d2dced
imul rcx, rax, 0x15623121
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x311d968a
cmp eax, 0xb9780af8
ja 0x14015fc20
ud2
mov eax, dword [0x14159dfc8]
xor edx, edx
div dword [0x14159dfcc]
add eax, 0x7250bb93
imul rax, rax, 0x58993165
shr rax, 0x3e
imul eax, eax, 0x8b19ccab
mov byte [rsi + 0x10], 6
mov word [rsi + 0x38], 0x200
mov byte [rsi + 0x3a], 0
cmp eax, 0x8da170d4
jbe 0x14015fc9f
mov byte [rsi + 0x10], 6
mov word [rsi + 0x38], 0x200
mov byte [rsi + 0x3a], 0
jmp 0x14015fc56
mov rsi, rbx
add rsi, 0x38
mov r15d, 0x81c60d3b
mov qword [rbp - 0x20], r13
mov eax, dword [0x14159dfd0]
sub eax, dword [0x14159dfd4]
or eax, 0xe9be370a
imul rax, rax, 0x611a980f
shr rax, 0x3e
imul eax, eax, 0x6fd66e4
cmp eax, 0xd1afed7e
jbe 0x14015fcf0
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call fcn.1401619c0
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x14159dfd8]
or eax, dword [0x14159dfdc]
imul rax, r15
shr rax, 0x3d
mov ecx, eax
add ecx, ecx
neg ecx
lea r13d, [rax + rcx]
add r13d, 0x32351adf
or r13d, 0xbd43029e
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call fcn.1401619c0
add rsp, 0x20
cmp r13d, 0xd854835
je 0x14015fcf0
movzx eax, byte [r12]
mov r13, qword [rbp - 0x20]
nop word cs:[rax + rax]
mov ecx, dword [0x14159dfe0]
and ecx, dword [0x14159dfe4]
imul rcx, rcx, 0x4ecb9789
shr rcx, 0x3c
add ecx, 0xc57b57f2
and ecx, 0x401003c3
cmp ecx, 0x17a5d915
je 0x14015fd50
cmp al, 0xa
je 0x1401600b6
mov eax, dword [0x14159dfec]
mov ecx, eax
xor ecx, ecx
not ecx
and ecx, dword [0x14159dfe8]
xor ecx, eax
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xb9df29ff
and eax, 0x4620d600
imul eax, edx
mov edx, ecx
and edx, 0x4620d600
or ecx, 0x4620d600
imul ecx, edx
add eax, ecx
add eax, 0x301d3388
cmp eax, 0xf8707cb9
mov r13, qword [rbp - 0x10]
ja 0x14015fde9
nop
sub rsp, 0x20
mov rcx, r14
mov rdx, r13
call fcn.1401619c0
add rsp, 0x20
xor eax, eax
test al, al
je 0x14015fe00
sub rsp, 0x20
mov rcx, r14
mov rdx, r13
call fcn.14020cee0
add rsp, 0x20
jmp 0x14015fdd0
movzx eax, byte [r14]
nop word cs:[rax + rax]
mov ecx, dword [0x14159dff0]
sub ecx, dword [0x14159dff4]
mov edx, ecx
not edx
or edx, 0xbb47ecab
add ecx, edx
inc ecx
xor ecx, 0x2d4ca39
cmp ecx, 0xb0715dc9
je 0x14015fe10
cmp al, 0xa
mov r13, qword [rbp - 0x20]
je 0x14015fff0
mov rax, qword [r12 + 0x30]
mov qword [rbx + 0x30], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov eax, dword [0x14159e000]
mov ecx, dword [0x14159e004]
mov edx, eax
not edx
and edx, ecx
not edx
not ecx
and ecx, eax
not ecx
and ecx, edx
mov eax, ecx
not eax
or eax, 0xf87ffef7
or ecx, 0xe7bf6fba
and ecx, eax
cmp ecx, 0x7c30daa1
jne 0x14015fee0
mov rax, qword [r14 + 0x30]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
sub rsp, 0x20
mov rcx, rbx
mov rdx, rsi
call fcn.140143d40
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14159e008]
xor eax, dword [0x14159e00c]
or eax, 0xde15d430
imul r13, rax, 0x3ed1e183
shr r13, 0x3b
add r13d, 0xba165371
mov rax, qword [r14 + 0x30]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
sub rsp, 0x20
mov rcx, rbx
mov rdx, rsi
call fcn.140143d40
add rsp, 0x20
cmp r13d, 0x1d0b7ce6
jb 0x14015fee0
test al, al
mov r13, qword [rbp - 0x20]
je 0x140160020
nop dword [rax]
mov eax, dword [0x14159e010]
mov ecx, dword [0x14159e014]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0x6d1ceb39
mov ecx, eax
xor ecx, 0xa9802390
xor eax, 0x40498404
and eax, 0x4449946e
and ecx, 0xbbb66b91
or ecx, eax
xor ecx, 0x3ff3e61
cmp ecx, 0xeb77b751
ja 0x14015ff50
nop dword [rax]
mov eax, dword [0x14159e018]
add eax, dword [0x14159e01c]
mov ecx, eax
and ecx, 0x474fdfa
add ecx, ecx
sub eax, ecx
add eax, 0x474fdfa
imul rax, rax, 0x7b309e27
shr rax, 0x3e
not eax
and eax, 0xb6b01f45
cmp eax, 0xc9732bdf
je 0x14015ffb0
jmp 0x14015fcb0
mov eax, dword [0x14159dff8]
mov ecx, dword [0x14159dffc]
add eax, ecx
add eax, 0xc28f3c37
imul rax, rax, 0x3010243d
shr rax, 0x3c
cmp eax, 0x2567a26a
je 0x14015fff0
nop word cs:[rax + rax]
mov eax, dword [0x14159e020]
mov ecx, dword [0x14159e024]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
not ecx
or ecx, 0xca860a14
mov eax, ecx
xor eax, 0x11004a
xor ecx, 0x4207021
and ecx, 0xc20f021
and eax, 0xb15907ce
or eax, ecx
cmp eax, 0xf16dc3bf
ja 0x140160020
mov r15, qword [rbp - 8]
nop word [rax + rax]
mov eax, dword [0x14159e028]
xor eax, dword [0x14159e02c]
mov ecx, eax
add ecx, 0x339e5b77
not ecx
or ecx, 0x3d383fad
add eax, ecx
add eax, 0x339e5b77
imul eax, eax, 0x1d460b6c
add eax, 0x1d460b6c
cmp eax, 0x33faee84
jb 0x140160070
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1401600b0
jmp 0x1401600db
sub rsp, 0x20
mov rsi, qword [rbp - 0x28]
mov rcx, rsi
mov rdx, qword [rbp - 0x10]
call fcn.14020cee0
add rsp, 0x20
cmp byte [rsi], 0xa
mov r15, qword [rbp - 8]
je 0x140161964
mov eax, dword [0x14159e030]
add eax, dword [0x14159e034]
mov ecx, eax
not ecx
or eax, 0x2e7509c9
or ecx, 0xd18af636
and ecx, eax
not ecx
add ecx, 0xac3b8738
mov eax, ecx
xor eax, 0xdc386d84
and eax, ecx
cmp eax, 0xa735b0f6
ja 0x14016014c
mov eax, dword [0x14159e038]
xor edx, edx
div dword [0x14159e03c]
mov esi, 0xcb8f7ddb
imul rsi, rax
shr rsi, 0x3f
or esi, 0xc2d74216
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14015e190
add rsp, 0x20
cmp esi, 0x9981263f
jne 0x140160161
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14015e190
add rsp, 0x20
jmp 0x140160110
mov rbx, rax
test rax, rax
je 0x140161964
nop dword [rax]
mov eax, dword [0x14159e040]
mov ecx, dword [str.i2m]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
imul rax, rcx, 0x71552bf7
shr rax, 0x3d
xor eax, 0xbc1fb0b1
add eax, 0xb3fb04f0
cmp eax, 0x3ee305a8
jb 0x140160170
nop word cs:[rax + rax]
mov eax, dword [0x14159e048]
mov ecx, dword [0x14159e04c]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
mov ecx, eax
and ecx, 0x5b6709a
xor ecx, 0x1b65092
and eax, 0x1b65092
or eax, ecx
xor eax, 0x1b40092
or eax, 0xfa498f65
cmp eax, 0xcf10e49d
je 0x1401601b0
mov esi, ebx
and esi, 3
nop
mov eax, dword [0x14159e050]
add eax, dword [0x14159e054]
and eax, 0x4e2d78a8
add eax, 0xf5544c39
and eax, 0x51c5f459
cmp eax, 0xad4726bc
ja 0x1401601f0
cmp rsi, 2
jge 0x1401603c4
cmp esi, 1
jne 0x140160300
nop word cs:[rax + rax]
mov eax, dword [0x14159e148]
mov ecx, dword [0x14159e14c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
imul eax, eax, 0x45857cee
add eax, 0xcd15f7d6
mov ecx, eax
and ecx, 0x7161b028
add ecx, ecx
sub eax, ecx
cmp eax, 0xeec23558
je 0x140160230
nop word [rax + rax]
mov eax, dword [0x14159e150]
add eax, dword [0x14159e154]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x95488d1c
and ecx, 0x6ab772e3
imul ecx, edx
mov edx, eax
and edx, 0x6ab772e3
or eax, 0x6ab772e3
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xffbfee09
mov edx, ecx
not edx
and edx, 0x39302d5a
mov r8d, eax
and r8d, 0xc68fc201
imul r8d, edx
and eax, 0x39302c08
or ecx, 0x39302d5a
imul ecx, eax
add ecx, r8d
cmp ecx, 0x578c5e12
je 0x140160280
movzx eax, byte [rbx + 0xf]
jmp 0x140160cc8
mov eax, dword [0x14159e138]
mov ecx, dword [0x14159e13c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
and ecx, 0x186c5ca3
xor ecx, 0x444c01
and eax, 0x444c01
or eax, ecx
add eax, 0x673d23b7
cmp eax, 0x3cf9d997
jb 0x140160300
movzx eax, byte [rbx + 0x10]
nop word cs:[rax + rax]
mov edx, dword [0x14159e140]
mov ecx, dword [0x14159e144]
mov r8d, ecx
not r8d
and r8d, edx
xor ecx, edx
add ecx, edx
sub ecx, r8d
mov edx, ecx
not edx
mov r8d, ecx
or r8d, 0x5941883e
mov r9d, r8d
and r9d, 0xb58c20c8
and edx, 0x2325701
imul edx, r9d
and r8d, 0x4a73df37
or ecx, 0x5b73df3f
imul ecx, r8d
add ecx, edx
add ecx, 0x4694516b
cmp ecx, 0x71df22a7
ja 0x140160360
jmp 0x140160cc8
mov rcx, rbx
jg 0x14016041b
shr rcx, 0x20
nop dword [rax]
mov eax, dword [0x14159e128]
add eax, dword [0x14159e12c]
mov edx, eax
and edx, 0x8eeb439e
and eax, 0x8cb0110
mov r8d, edx
xor r8d, 0x96207aaf
add r8d, edx
sub r8d, eax
xor r8d, 0xeca1548a
cmp r8d, 0xa93d4074
ja 0x1401603d0
sub rsp, 0x20
call fcn.140152f90
add rsp, 0x20
jmp 0x140160cc8
shr rcx, 0x20
nop
mov eax, dword [0x14159e058]
xor edx, edx
div dword [0x14159e05c]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x5b4adc85
and edx, 0xa4b5237a
imul edx, r8d
mov r8d, eax
and r8d, 0xa4b5237a
or eax, 0xa4b5237a
imul eax, r8d
add eax, edx
add eax, 0xfd51b36f
xor eax, 0xee1a8d24
cmp eax, 0x4ef1349f
ja 0x140160420
nop dword [rax]
mov eax, dword [0x14159e060]
mov edx, dword [0x14159e064]
xor edx, eax
not edx
and edx, eax
imul eax, edx, 0xb2e57082
and eax, 0x85cc644e
imul eax, eax, 0xef0dfdf5
cmp eax, 0xd14c9927
ja 0x140160470
cmp ecx, 0x14
jge 0x140160507
cmp ecx, 0xa
jge 0x14016058e
cmp ecx, 5
jge 0x14016067e
cmp ecx, 2
jge 0x14016086d
test ecx, ecx
jle 0x140160c3d
mov eax, dword [0x14159e068]
mov ecx, dword [0x14159e06c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
xor eax, 0x3c13dc1f
imul eax, eax, 0xb137d54f
cmp eax, 0xb4b7fb18
je 0x1401604c2
mov al, 1
jmp 0x140160c50
cmp ecx, 0x1e
jge 0x1401605ea
cmp ecx, 0x19
jge 0x1401606ca
cmp ecx, 0x16
jge 0x140160887
mov al, 0x14
cmp ecx, 0x15
jl 0x140160c50
mov eax, dword [0x14159e0b8]
mov ecx, dword [0x14159e0bc]
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0x4f9ee3c
and eax, 0xfb0611c3
or eax, r9d
or edx, r8d
and r8d, 0x4f9ee3c
and ecx, 0xfb0611c3
or ecx, r8d
xor ecx, eax
not edx
or edx, ecx
xor edx, 0xf2a3f628
imul rcx, rdx, 0x1c5bd119
shr rcx, 0x3c
mov al, 0x15
cmp ecx, 0x37604876
je 0x14016052d
jmp 0x140160c50
cmp ecx, 0xf
jge 0x140160790
cmp ecx, 0xc
jge 0x1401608d8
mov al, 0xa
cmp ecx, 0xb
jl 0x140160c50
mov eax, dword [0x14159e080]
mov ecx, dword [0x14159e084]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
and eax, 0xbfd4578
or ecx, 0xbfd4578
add eax, ecx
add eax, 0x46a1a3aa
and eax, 0x59205b23
cmp eax, 0x9df98312
je 0x1401605ab
mov al, 0xb
jmp 0x140160c50
cmp ecx, 0x23
jge 0x140160834
cmp ecx, 0x20
jge 0x14016091f
cmp ecx, 0x1f
jge 0x14016064e
mov eax, dword [0x14159e0e8]
xor edx, edx
div dword [0x14159e0ec]
add eax, 0xe1915924
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x84d5ff4
and ecx, 0x37b2a00b
imul ecx, edx
mov edx, eax
and edx, 0x37b2a00b
or eax, 0x37b2a00b
imul eax, edx
add eax, ecx
and eax, 0x23fb48b6
cmp eax, 0x7eeddedf
je 0x140160601
mov al, 0x1e
jmp 0x140160c50
mov eax, dword [0x14159e0f0]
sub eax, dword [0x14159e0f4]
or eax, 0x64c8946
imul rax, rax, 0x4a1021c7
shr rax, 0x3e
imul eax, eax, 0xd3caf9d6
cmp eax, 0x5d6cc415
je 0x14016064e
mov al, 0x1f
jmp 0x140160c50
cmp ecx, 7
jge 0x1401609a4
mov al, 6
cmp ecx, 6
jge 0x140160c50
mov ecx, dword [0x14159e070]
or ecx, dword [0x14159e074]
add ecx, 0x1b7ba193
mov eax, ecx
xor eax, 0x10d590e2
and ecx, 0x6f2a6f1d
add ecx, ecx
sub ecx, eax
add ecx, 0xb29f3385
mov al, 5
cmp ecx, 0xa91cfcb7
ja 0x140160692
jmp 0x140160c50
cmp ecx, 0x1b
jge 0x1401609f0
cmp ecx, 0x1a
jge 0x140160739
mov eax, dword [0x14159e0c8]
mov ecx, dword [0x14159e0cc]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
not eax
or eax, 0xd4174a4
add ecx, eax
inc ecx
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x5378cd5b
and eax, 0xac8732a4
imul eax, edx
mov edx, ecx
and edx, 0xac8732a4
or ecx, 0xac8732a4
imul ecx, edx
add ecx, eax
and ecx, 0xc7457084
mov al, 0x19
cmp ecx, 0x84617a6
je 0x1401606d8
jmp 0x140160c50
mov eax, dword [0x14159e0d0]
and eax, dword [0x14159e0d4]
add eax, 0x393796a9
mov ecx, eax
or ecx, 0xb7087bb9
not eax
or eax, 0x48f78446
and eax, ecx
mov ecx, eax
not ecx
and eax, 0x4e8b0424
mov edx, ecx
and edx, 0xb174fbdb
imul edx, eax
mov eax, ecx
and eax, 0x4e8b0424
or ecx, 0x4e8b0424
imul ecx, eax
add ecx, edx
mov al, 0x1a
cmp ecx, 0x9623e5e1
ja 0x140160739
jmp 0x140160c50
cmp ecx, 0x11
jge 0x140160a22
cmp ecx, 0x10
jge 0x1401607de
mov ecx, 0x9f471d4d
mov eax, dword [0x14159e098]
xor edx, edx
div dword [0x14159e09c]
mov edx, eax
and edx, 0x8a6a935
xor eax, 0x8a6a935
lea edx, [rax + rdx*2]
xor edx, 0xaa23c8ff
imul rdx, rcx
shr rdx, 0x3f
mov al, 0xf
cmp edx, 0xe11ec39d
je 0x1401607a3
jmp 0x140160c50
mov ecx, dword [0x14159e0a0]
xor ecx, dword [0x14159e0a4]
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x5cd1664e
and eax, 0xa32e99b1
imul eax, edx
mov edx, ecx
and edx, 0xa32e99b1
or ecx, 0xa32e99b1
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, 0x3e376bdf
xor eax, 0x54bff722
or ecx, 0xab4008dd
and ecx, eax
mov al, 0x10
cmp ecx, 0x6c210920
jb 0x1401607de
jmp 0x140160c50
cmp ecx, 0x26
jge 0x140160a66
cmp ecx, 0x24
jge 0x140160ab2
mov ecx, dword [0x14159e108]
sub ecx, dword [0x14159e10c]
and ecx, 0xcf2994cc
add ecx, 0x1625156e
mov al, 0x23
cmp ecx, 0xd1ba1182
ja 0x140160846
jmp 0x140160c50
mov al, 2
jle 0x140160c50
mov al, 3
cmp ecx, 4
jl 0x140160c50
mov al, 4
jmp 0x140160c50
mov al, 0x16
jle 0x140160c50
mov al, 0x17
cmp ecx, 0x18
jl 0x140160c50
mov ecx, 0xcb32c807
mov eax, dword [0x14159e0c0]
sub eax, dword [0x14159e0c4]
imul rax, rcx
shr rax, 0x3c
mov edx, eax
xor edx, 0x10078768
and edx, 0x1007876a
xor eax, 0xa9680007
lea edx, [rax + rdx*2]
mov al, 0x18
cmp edx, 0x4ffda3d1
je 0x14016089f
jmp 0x140160c50
jg 0x140160aea
mov eax, dword [0x14159e088]
mov ecx, dword [0x14159e08c]
not eax
not ecx
or ecx, eax
mov edx, ecx
not edx
xor ecx, 0x3bc59b6e
and edx, 0x3bc59b6e
add edx, edx
sub edx, ecx
or edx, 0xa2a20ff5
xor edx, 0x35c934b7
mov al, 0xc
cmp edx, 0x4f257c03
jb 0x1401608de
jmp 0x140160c50
mov al, 0x20
jle 0x140160c50
cmp ecx, 0x22
jge 0x14016096c
mov eax, dword [str._v3_nL]
xor edx, edx
div dword [0x14159e0fc]
or eax, 0xc3b0d264
lea ecx, [rax - 0x437e2808]
mov edx, ecx
and edx, 0x9cc17ec4
xor ecx, 0x633e813b
add ecx, eax
add ecx, 0xbc81d7f8
sub ecx, edx
mov al, 0x21
cmp ecx, 0x89d33301
jb 0x14016092c
jmp 0x140160c50
mov eax, dword [0x14159e100]
and eax, dword [0x14159e104]
mov ecx, eax
not ecx
or ecx, 0x46808140
and ecx, 0x46a48150
and eax, 0xb0104c26
or eax, ecx
imul ecx, eax, 0xd165c03c
mov al, 0x22
cmp ecx, 0x1763582b
jb 0x14016096c
jmp 0x140160c50
mov al, 7
jle 0x140160c50
mov al, 8
cmp ecx, 9
jl 0x140160c50
mov eax, dword [0x14159e078]
imul eax, dword [0x14159e07c]
mov ecx, eax
not ecx
or ecx, 0x2208040
and ecx, 0x2208450
and eax, 0x20400000
add ecx, eax
add ecx, 0xdd9f588f
mov al, 9
cmp ecx, 0xb59b8d65
je 0x1401609b7
jmp 0x140160c50
jg 0x140160b26
mov ecx, dword [0x14159e0d8]
or ecx, dword [0x14159e0dc]
add ecx, 0x3deb79bf
mov eax, ecx
and eax, 0x318bba39
add eax, eax
sub ecx, eax
mov al, 0x1b
cmp ecx, 0x77aeb73f
je 0x1401609f6
jmp 0x140160c50
jg 0x140160b91
mov ecx, 0xaa73748f
mov eax, dword [0x14159e0a8]
xor edx, edx
div dword [0x14159e0ac]
imul rax, rcx
shr rax, 0x3f
mov edx, eax
xor edx, 0x68272b99
add edx, eax
imul rax, rdx, 0x7126cf59
shr rax, 0x3d
cmp eax, 0x2dbf096c
je 0x140160a2d
mov al, 0x11
jmp 0x140160c50
jg 0x140160bdc
mov eax, dword [0x14159e120]
sub eax, dword [0x14159e124]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x70e14334
and ecx, 0x8f1ebccb
imul ecx, edx
mov edx, eax
and edx, 0x8f1ebccb
or eax, 0x8f1ebccb
imul eax, edx
add eax, ecx
and eax, 0xe8014502
cmp eax, 0xa5cf605e
je 0x140160a6c
mov al, 0x26
jmp 0x140160c50
mov al, 0x24
jle 0x140160c50
mov eax, dword [0x14159e118]
and eax, dword [0x14159e11c]
add eax, 0x2e6dc2db
mov ecx, eax
xor ecx, 0x6a1e2109
and ecx, eax
add ecx, 0x756745c9
mov al, 0x25
cmp ecx, 0xf2141e4d
jae 0x140160aba
jmp 0x140160c50
mov al, 0xe
cmp ecx, 0xe
jge 0x140160c50
mov eax, dword [0x14159e090]
xor edx, edx
div dword [0x14159e094]
mov ecx, eax
add ecx, 0xe2b8860c
or ecx, 0x1c2ad6f3
add ecx, 0xa2a47adb
mov al, 0xd
cmp ecx, 0x3ec83a5b
jb 0x140160af5
jmp 0x140160c50
mov al, 0x1d
cmp ecx, 0x1d
jge 0x140160c50
mov eax, dword [0x14159e0e0]
add eax, dword [0x14159e0e4]
mov ecx, eax
not ecx
or ecx, 0x27cdf123
add ecx, eax
inc ecx
mov eax, ecx
not eax
and eax, 0x112d586c
mov edx, ecx
and edx, 0xeed2a793
imul edx, eax
mov eax, ecx
and eax, 0x112d586c
or ecx, 0x112d586c
imul ecx, eax
add ecx, edx
mov eax, ecx
and eax, 0x494ccf8c
add eax, eax
sub ecx, eax
add ecx, 0x494ccf8d
mov al, 0x1c
cmp ecx, 0xcc50df66
jae 0x140160b31
jmp 0x140160c50
mov al, 0x12
cmp ecx, 0x13
jl 0x140160c50
mov eax, dword [0x14159e0b0]
mov ecx, dword [0x14159e0b4]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
and eax, 0x77cdee2
xor eax, 0x1466c137
and ecx, 0x3181ec0
add ecx, ecx
sub ecx, eax
and ecx, 0x1f452d21
mov al, 0x13
cmp ecx, 0x97c732
je 0x140160b9c
jmp 0x140160c50
cmp ecx, 0x28
jge 0x140160c43
mov eax, dword [0x14159e110]
xor eax, dword [0x14159e114]
lea ecx, [rax + 0x4f8e95c1]
mov edx, ecx
and edx, 0x692dee5b
xor ecx, 0x96d211a4
add ecx, eax
add ecx, 0x4f8e95c1
sub ecx, edx
mov eax, ecx
not eax
and eax, 0x93fb853e
mov edx, ecx
and edx, 0x6c047ac1
imul edx, eax
mov eax, ecx
and eax, 0x93fb853e
or ecx, 0x93fb853e
imul ecx, eax
add ecx, edx
mov al, 0x27
cmp ecx, 0xfcde5f65
je 0x140160be1
jmp 0x140160c50
jne 0x140160c47
xor eax, eax
jmp 0x140160c50
mov al, 0x28
je 0x140160c50
mov al, 0x29
nop dword [rax]
mov ecx, dword [0x14159e130]
mov edx, dword [0x14159e134]
not edx
add ecx, edx
add ecx, 0xb6e923ee
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x5ac73f07
and edx, 0xa538c0f8
imul edx, r8d
mov r8d, ecx
and r8d, 0xa538c0f8
or ecx, 0xa538c0f8
imul ecx, r8d
add ecx, edx
mov edx, ecx
not edx
and edx, 0xa03ff0fb
mov r8d, ecx
and r8d, 0x5fc00f00
imul r8d, edx
mov edx, ecx
and edx, 0xa03ff0f8
or ecx, 0xa03ff0fb
imul ecx, edx
add ecx, r8d
cmp ecx, 0x4977ed13
je 0x140160c50
test al, al
je 0x140160ed1
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14020cf20
add rsp, 0x20
nop word cs:[rax + rax]
mov ecx, dword [0x14159e230]
xor ecx, dword [0x14159e234]
xor ecx, 0x6746bc90
add ecx, 0xea23d714
xor ecx, 0xc9f22671
cmp ecx, 0x87ab253
jb 0x140160cf0
test al, al
je 0x140161970
nop
mov eax, dword [0x14159e158]
mov ecx, dword [0x14159e15c]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xdc68664f
and ecx, 0x239799b0
imul ecx, edx
mov edx, eax
and edx, 0x239799b0
or eax, 0x239799b0
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x52fe1720
add ecx, ecx
sub eax, ecx
add eax, 0xd2fe172e
imul rax, rax, 0x116dd6cb
shr rax, 0x3c
cmp eax, 0xcc0dd787
ja 0x140160d20
cmp rsi, 2
jg 0x140160e40
cmp esi, 1
jne 0x140161964
mov rsi, rbx
dec rsi
nop word [rax + rax]
mov eax, dword [0x14159e170]
xor edx, edx
div dword [0x14159e174]
or eax, 0xf5359788
cmp eax, 0x5e1f1223
je 0x140160da0
nop word [rax + rax]
mov eax, dword [0x14159e178]
mov ecx, dword [0x14159e17c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea ecx, [rax + rdx*2]
lea eax, [rax + rdx*2]
add eax, 0x4c0a25d7
not eax
or eax, 0x4b87d11e
add eax, ecx
add eax, 0x4c0a25d7
cmp eax, 0xc94d9c59
je 0x140160dc0
mov rdi, qword [rbx - 1]
mov rbx, qword [rbx + 7]
mov r14, qword [rbx]
test r14, r14
je 0x140161410
mov eax, dword [str._tCqy]
or eax, dword [0x14159e184]
mov ecx, eax
and ecx, 0x6c0a2897
or eax, 0x6c0a2897
add eax, ecx
or eax, 0xbfbf6fa3
cmp eax, 0xeb9fc3c6
jne 0x1401613ba
jmp 0x140161400
mov eax, dword [0x14159e160]
mov ecx, dword [0x14159e164]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
or eax, 0x255740c9
mov ecx, eax
xor ecx, 0x2a81f26
and ecx, eax
and ecx, 0xdaa8bfbf
xor ecx, 0x5b28bc56
cmp ecx, 0x6d1c62c8
ja 0x140160e40
xor ebx, ebx
mov eax, dword [0x14159e168]
mov ecx, dword [0x14159e16c]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
or eax, 0xa5193e8c
mov ecx, eax
xor ecx, 0xea041ae8
and ecx, eax
mov eax, ecx
xor eax, 0xeaaacc36
or ecx, 0x15552141
and ecx, eax
cmp ecx, 0xf73d4a79
je 0x140160e90
jmp 0x140161970
cmp rsi, 2
jg 0x140161334
cmp esi, 1
jne 0x140161334
mov rsi, rbx
dec rsi
mov rdi, qword [rbx - 1]
nop
mov eax, dword [0x14159e1b8]
mov ecx, dword [0x14159e1bc]
not eax
not ecx
or ecx, eax
not ecx
or ecx, 0xd2c36849
add ecx, 0x2869e30c
cmp ecx, 0x86cfe0a2
jb 0x140160ef0
nop dword [rax + rax]
mov eax, dword [0x14159e1c0]
mov ecx, dword [0x14159e1c4]
add eax, ecx
add eax, 0x37f6c651
or eax, 0x876ee5df
cmp eax, 0x9619a621
ja 0x140160f20
mov rbx, qword [rbx + 7]
mov r14, qword [rbx]
test r14, r14
je 0x1401610c0
mov eax, dword [0x14159e1c8]
mov ecx, dword [0x14159e1cc]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
not ecx
and ecx, 0x1d494417
mov edx, eax
and edx, 0x2b6bbe8
imul edx, ecx
mov ecx, eax
and ecx, 0x1d494417
or eax, 0x1d494417
imul eax, ecx
add eax, edx
or eax, 0xe505e60a
mov ecx, 0x90b39987
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xb426ed19
jne 0x140160fd0
sub rsp, 0x20
mov rcx, rdi
call r14
add rsp, 0x20
nop dword [rax]
mov r15d, dword [0x14159e1d0]
or r15d, dword [0x14159e1d4]
mov eax, r15d
not eax
mov ecx, r15d
and ecx, 0x7a7fbd8
and eax, 0xf8580427
imul eax, ecx
mov ecx, r15d
and ecx, 0x38580427
or r15d, 0x38580427
imul r15d, ecx
add r15d, eax
mov eax, r15d
not eax
mov ecx, r15d
or ecx, 0xc3527f59
mov edx, ecx
and edx, 0xaa619fd3
and eax, 0x148c0024
imul eax, edx
and ecx, 0x559e602c
or r15d, 0xd7de7f7d
imul r15d, ecx
add r15d, eax
sub rsp, 0x20
mov rcx, rdi
call r14
add rsp, 0x20
cmp r15d, 0x4c16e002
je 0x140160fd0
mov r15, qword [rbp - 8]
nop dword [rax]
mov eax, dword [0x14159e1d8]
xor edx, edx
div dword [0x14159e1dc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3f3361b7
and ecx, 0xc0cc9e48
imul ecx, edx
mov edx, eax
and edx, 0xc0cc9e48
or eax, 0xc0cc9e48
imul eax, edx
add eax, ecx
add eax, 0x429907c2
imul rcx, rax, 0x3390ff11
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x4a55cccb
ja 0x140161060
nop word cs:[rax + rax]
mov eax, dword [0x14159e1e0]
xor edx, edx
div dword [0x14159e1e4]
mov ecx, eax
xor ecx, 0x50bc41df
add ecx, eax
and eax, 0xaf43be20
sub ecx, eax
add ecx, 0x52c74cd2
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xc2e28d73
and eax, 0x3d1d728c
imul eax, edx
mov edx, ecx
and edx, 0x3d1d728c
or ecx, 0x3d1d728c
imul ecx, edx
add ecx, eax
cmp ecx, 0xe77703cf
je 0x1401610c0
cmp qword [rbx + 8], 0
je 0x1401612db
mov rcx, qword [rbx + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x14159e1e8]
xor edx, edx
div dword [0x14159e1ec]
add eax, 0x8d657bb0
or eax, 0x4d273b3c
cmp eax, 0xf57f4ec1
je 0x140161130
cmp rcx, 0x11
jb 0x140161220
mov eax, dword [str._c_B]
xor edx, edx
div dword [0x14159e1f4]
nop word [rax + rax]
mov eax, dword [0x14159e1f8]
mov ecx, dword [0x14159e1fc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
imul eax, eax, 0xa45c62a3
mov ecx, eax
xor ecx, 0xc7d767d7
and ecx, eax
add ecx, 0x89ef92b1
cmp ecx, 0xc037ad3a
ja 0x140161170
nop word [rax + rax]
mov eax, dword [0x14159e200]
or eax, dword [0x14159e204]
add eax, 0xc78389ec
imul rax, rax, 0x123ea899
shr rax, 0x3c
or eax, 0x4e9a65cc
cmp eax, 0xb4d862b1
ja 0x1401611c0
mov rdi, qword [rdi - 8]
nop dword [rax]
mov eax, dword [str._5ur]
xor edx, edx
div dword [0x14159e20c]
xor eax, 0x4d14071f
add eax, 0x4fbe531a
mov ecx, eax
and ecx, 0x16f4324f
add ecx, ecx
sub eax, ecx
add eax, 0x16f4324f
cmp eax, 0xa4a33b23
ja 0x1401611f0
mov eax, dword [0x14159e210]
add eax, dword [0x14159e214]
or eax, 0xc56a104b
mov ecx, 0xb812c3c9
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0x92e61edd
cmp eax, 0xbe58c534
ja 0x1401612bd
mov eax, dword [str.Mn_qL_]
imul eax, dword [0x14159e21c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5a95f7c6
and ecx, 0xa56a0839
imul ecx, edx
mov edx, eax
and edx, 0xa56a0839
or eax, 0xa56a0839
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x51d8ca75
xor eax, 0xd1d8ca75
lea eax, [rax + rcx*2]
mov ebx, eax
not ebx
or ebx, 0xede413c8
add ebx, eax
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp ebx, 0x328b351d
jne 0x1401612db
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rdi
call fcn.14020ae70
add rsp, 0x20
jmp 0x14016124b
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call fcn.14020ae70
add rsp, 0x20
mov eax, 0x8dda5077
nop dword [rax]
mov ecx, dword [0x14159e220]
add ecx, dword [0x14159e224]
mov edx, ecx
xor edx, 0x84e7449
and ecx, 0x77b18bb6
add ecx, ecx
sub ecx, edx
imul rcx, rax
shr rcx, 0x3d
add ecx, 0xd9947af3
cmp ecx, 0x3ab1987b
jb 0x140161300
mov eax, dword [0x14159e22c]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x14159e228]
xor ecx, eax
imul eax, ecx, 0x7fcabb8c
cmp eax, 0x9937f1fd
jne 0x140161368
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14020cf00
add rsp, 0x20
xor ebx, ebx
nop word [rax + rax]
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14020cf00
add rsp, 0x20
test bl, bl
jne 0x140161370
mov rsi, rax
test rax, rax
je 0x1401613ae
mov rdi, rdx
mov eax, dword [0x14159e238]
sub eax, dword [0x14159e23c]
cmp eax, 0x2cc43770
jne 0x1401615a2
jmp 0x14016160f
lea rbx, [0x1415788e8]
jmp 0x140161970
mov eax, dword [0x14159e188]
mov ecx, dword [0x14159e18c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
and eax, 0xe42a3e95
mov r15d, 0x9d627d01
imul r15, rax
shr r15, 0x3e
add r15d, 0x12d8f32d
sub rsp, 0x20
mov rcx, rdi
call r14
add rsp, 0x20
cmp r15d, 0xa96996b7
jbe 0x140161410
sub rsp, 0x20
mov rcx, rdi
call r14
add rsp, 0x20
jmp 0x1401613ba
mov eax, dword [0x14159e190]
or eax, dword [0x14159e194]
not eax
and eax, 0x8881010
mov ecx, eax
not ecx
xor eax, 0x2fb000ee
add eax, ecx
and ecx, 0x2fb000ee
sub eax, ecx
cmp eax, 0x47b680f7
jb 0x140161410
mov r8, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x14159e198]
xor edx, edx
div dword [0x14159e19c]
add eax, 0x2b8a8880
or eax, 0xac24eaf0
add eax, 0x50b4b329
cmp eax, 0x7182db85
ja 0x140161450
test r8, r8
je 0x140161581
nop dword [rax]
mov eax, dword [0x14159e1a0]
mov edx, dword [0x14159e1a4]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
mov edx, eax
not edx
and edx, 0x918d7cbc
mov r8d, eax
and r8d, 0x6e728343
imul r8d, edx
mov edx, eax
and edx, 0x918d7cbc
or eax, 0x918d7cbc
imul eax, edx
add eax, r8d
imul rax, rax, 0x16c77497
shr rax, 0x3b
xor eax, 0xbe9083bf
neg eax
cmp eax, 0x4098363f
jb 0x140161480
cmp rcx, 0x11
jb 0x140161567
nop dword [rax + rax]
mov eax, dword [0x14159e1a8]
xor eax, dword [0x14159e1ac]
imul eax, eax, 0xe8943285
or eax, 0xa9da77ff
and eax, 0xbdfaf7ff
cmp eax, 0x96ecd1ce
je 0x1401614f0
mov rdi, qword [rdi - 8]
mov eax, 0x9f3a53c9
nop dword [rax]
mov ecx, dword [0x14159e1b0]
mov edx, dword [0x14159e1b4]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0x485ebf0
cmp ecx, 0x24e9ea81
ja 0x140161520
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor ebx, ebx
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
jmp 0x140161970
mov eax, dword [0x14159e240]
or eax, dword [0x14159e244]
mov ecx, eax
and ecx, 0x3a5c8f64
xor eax, 0x3a5c8f64
lea r14d, [rax + rcx*2]
add r14d, 0xd978ca13
mov eax, r14d
not eax
mov ecx, r14d
and ecx, 0xddcceeeb
and eax, 0x22331114
imul eax, ecx
mov ecx, r14d
and ecx, 0x22331114
or r14d, 0x22331114
imul r14d, ecx
add r14d, eax
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.14015f230
add rsp, 0x20
cmp r14d, 0xd9f97f43
jbe 0x140161627
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.14015f230
add rsp, 0x20
jmp 0x1401615a2
mov rbx, rax
mov eax, 0xb364f2f5
nop
mov ecx, dword [0x14159e248]
mov edx, dword [0x14159e24c]
mov r8d, ecx
and r8d, edx
or ecx, edx
add ecx, r8d
mov edx, ecx
xor edx, 0x78b350d0
and ecx, 0x74caf2f
add ecx, ecx
sub ecx, edx
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0x14c44e1f
cmp ecx, 0xed639fc5
je 0x140161630
test rbx, rbx
jne 0x140161970
mov ecx, dword [0x14159e250]
mov edx, dword [0x14159e254]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x8f7af613
and ecx, 0x708509ec
or ecx, r9d
or eax, r8d
and r8d, 0x8f7af613
and edx, 0x708509ec
or edx, r8d
xor edx, ecx
not eax
or eax, edx
mov ecx, eax
and ecx, 0x1b3560b3
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x1b3560b3
mov ecx, eax
not ecx
and ecx, 0x4bdc9a8d
mov edx, eax
and edx, 0xb4236572
imul edx, ecx
mov ecx, eax
and ecx, 0x4bdc9a8d
or eax, 0x4bdc9a8d
imul eax, ecx
add eax, edx
cmp eax, 0xc5daa054
jne 0x140161710
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14015e190
add rsp, 0x20
nop
mov esi, dword [0x14159e258]
sub esi, dword [0x14159e25c]
add esi, 0x54fb48eb
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.14020cf40
add rsp, 0x20
cmp esi, 0x2bc96f47
jb 0x140161710
mov rbx, rax
mov eax, dword [0x14159e260]
mov ecx, dword [0x14159e264]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
and eax, 0x2a5090
add eax, 0x737aecc
cmp eax, 0x4bd8afeb
ja 0x140161740
nop dword [rax]
mov eax, dword [0x14159e268]
add eax, dword [0x14159e26c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x9ae5e9e0
and ecx, 0x651a161f
imul ecx, edx
mov edx, eax
and edx, 0x651a161f
or eax, 0x651a161f
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x74ef01a2
mov r8d, edx
and r8d, 0xce2d8af1
and ecx, 0x110740c
imul ecx, r8d
and edx, 0x31d2750e
or eax, 0x75ff75ae
imul eax, edx
add eax, ecx
cmp eax, 0xd94e89e4
je 0x140161780
test rbx, rbx
je 0x140161964
mov eax, dword [0x14159e270]
mov ecx, dword [0x14159e274]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
shr eax, 1
imul rax, rax, 0x24d24e93
shr rax, 0x3a
or eax, 0x8cc7fbf5
cmp eax, 0x3a02d8d0
jne 0x140161840
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.140165ce0
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14159e278]
xor edx, edx
div dword [0x14159e27c]
mov ecx, eax
and ecx, 0x1ed6a9a2
xor eax, 0x1ed6a9a2
lea eax, [rax + rcx*2]
or eax, 0xda3fea56
mov ecx, eax
and ecx, 0x1c10caec
xor eax, 0x1c10caec
lea esi, [rax + rcx*2]
sub rsp, 0x20
mov rcx, r13
mov rdx, r15
call fcn.140165ce0
add rsp, 0x20
cmp esi, 0xbdbacf66
je 0x140161840
mov ecx, eax
mov eax, dword [0x14159e280]
xor edx, edx
div dword [0x14159e284]
mov edx, eax
and edx, 0xaa89714d
xor edx, 0xa0897149
or edx, 0x54428292
xor eax, 0x2000004
and eax, 0xa2807044
and edx, 0x5c4b839b
or edx, eax
xor edx, 0x59bedaba
cmp edx, 0xe44c0f7e
ja 0x140161890
test cl, cl
je 0x140161970
mov eax, dword [0x14159e288]
mov ecx, dword [0x14159e28c]
add eax, ecx
add eax, 0x4ce5a89d
xor eax, 0x4e8d11ae
cmp eax, 0x1952822a
je 0x140161952
mov eax, dword [0x14159e290]
mov ecx, dword [0x14159e294]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul eax, eax, 0x9072eb5b
mov esi, eax
xor esi, 0x4840002
and esi, eax
and esi, 0xec96b093
sub rsp, 0x20
mov rcx, rbx
call fcn.1401670a0
add rsp, 0x20
cmp esi, 0x4c9ce805
jne 0x140161964
sub rsp, 0x20
mov rcx, rbx
call fcn.1401670a0
add rsp, 0x20
jmp 0x1401618f9
xor ebx, ebx
nop word cs:[rax + rax]
mov eax, dword [0x14159e298]
xor edx, edx
div dword [0x14159e29c]
add eax, 0x26d72ae
mov ecx, eax
not ecx
and ecx, 0xcc323c0a
and eax, 0x33cdc3f5
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0x1953007c
and eax, 0xe6acff83
sub eax, ecx
cmp eax, 0x45b7b59d
ja 0x140161970
mov rax, rbx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret