Function at 0x140160c80
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x48], rcx
xor eax, eax
test al, al
je 0x140160d90
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x1415c3d80]
imul eax, dword [0x1415c3d84]
xor eax, 0xa4638600
or eax, 0x5110797f
mov r8d, eax
xor r8d, 0x7c56e31a
add r8d, eax
and eax, 0x83a91ce5
sub r8d, eax
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov qword [rbp], rsp
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov qword [rbp - 8], rsp
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov qword [rbp - 0x30], rsp
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov rbx, rsp
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov r13, rsp
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r14, rsp
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov r10, rsp
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov rdx, rsp
mov eax, 0x30
call fcn.14021cf50
sub rsp, rax
mov r11, rsp
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov rsi, rsp
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r9, rsp
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov r15, rsp
mov eax, 0x40
call fcn.14021cf50
sub rsp, rax
mov rax, rsp
cmp r8d, 0x1148fef8
je 0x140160d90
mov qword [rbp - 0x58], r15
mov qword [rbp + 8], rcx
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x78], r10
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x20], r13
mov qword [rbp + 0x38], r14
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x60], rax
mov qword [rbp + 0x30], r9
mov eax, dword [0x1415c3d88]
or eax, dword [0x1415c3d8c]
mov ecx, eax
and ecx, 0x163c7c9a
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xfdee1cd9
add eax, 0x12768a
not eax
or eax, 0x2b9aa7b2
cmp eax, 0xf2cd4edf
jbe 0x140160f47
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov rdi, qword [rbp - 8]
mov r12, r11
nop
mov eax, dword [0x1415c3d90]
mov ecx, dword [0x1415c3d94]
add ecx, eax
add ecx, 0x314e7494
xor ecx, 0x2f94f773
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r8, rsp
mov eax, 0x10
call fcn.14021cf50
sub rsp, rax
mov r13, rsp
cmp ecx, 0x3eccb74
je 0x140160f50
mov rax, qword [rbp + 0x48]
mov r9, qword [rax + 8]
mov rbx, qword [rax + 0x10]
test rbx, rbx
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x18], rbx
mov qword [rbp - 0x18], r9
je 0x140161080
movzx eax, byte [rbx + r9 - 1]
cmp al, 0x2f
setne cl
cmp al, 0x5c
setne r15b
and r15b, cl
sub rsp, 0x20
mov rcx, r12
mov rdx, r9
mov r8, rbx
call fcn.14014be50
add rsp, 0x20
movzx esi, byte [r12]
mov r11, qword [r12 + 0x10]
mov r10, qword [r12 + 0x20]
cmp sil, 3
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x68], r11
jge 0x1401610c7
test sil, sil
jle 0x1401611bc
mov eax, 6
cmp sil, 2
jge 0x1401612b0
mov eax, 0x90229115
lea rcx, [r11 + 8]
nop
mov edx, dword [0x1415c3dc0]
mov r8d, dword [0x1415c3dc4]
mov r9d, edx
not r9d
and r9d, r8d
not r8d
and r8d, edx
sub r8d, r9d
or r8d, 0xf98fd6e1
imul edx, r8d, 0x11250fd
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x25c2a6a6
ja 0x140161020
lea rax, [r10 + 1]
test r10, r10
cmove rax, r10
mov rdx, rcx
and rdx, rax
or rax, rcx
add rax, rdx
jmp 0x1401612b0
mov eax, dword [0x1415c3d98]
add eax, dword [0x1415c3d9c]
mov ecx, eax
or ecx, 0x10200500
not eax
or eax, 0x801c2010
and ecx, 0x11201d80
and eax, 0x809c6210
or eax, ecx
cmp eax, 0x4938db9e
jb 0x140161080
mov byte [rbp + 0x57], 6
mov al, 1
mov dword [rbp + 0x20], eax
mov dword [rbp + 0x24], 0
xor r15d, r15d
jmp 0x140161a00
cmp sil, 5
jge 0x140161149
cmp sil, 4
jge 0x140161263
mov rcx, r11
or rcx, 4
nop
mov eax, dword [0x1415c3dc8]
or eax, dword [0x1415c3dcc]
mov edx, eax
not edx
and edx, 0x6f4a665f
and eax, 0x90b599a0
sub eax, edx
mov edx, eax
not edx
and edx, 0xf7f891a8
mov r8d, eax
and r8d, 0x8076e57
imul r8d, edx
mov edx, eax
and edx, 0xf7f891a8
or eax, 0xf7f891a8
imul eax, edx
add eax, r8d
xor eax, 0xf6927ca
cmp eax, 0x79d36e35
je 0x1401610e0
mov eax, r11d
and eax, 4
add rax, rcx
mov cl, 1
nop
test cl, cl
je 0x140161140
jmp 0x1401612b0
cmp sil, 6
jge 0x1401613c0
nop word cs:[rax + rax]
mov eax, dword [0x1415c3dd8]
or eax, dword [0x1415c3ddc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xad03ea88
and ecx, 0x52fc1577
imul ecx, edx
mov edx, eax
and edx, 0x52fc1577
or eax, 0x52fc1577
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xd65c33b1
add ecx, eax
and eax, 0x29a3cc4e
sub ecx, eax
add ecx, 0xe9cab109
cmp ecx, 0x89624610
jb 0x140161160
mov eax, 2
jmp 0x1401612b0
jne 0x14016146a
mov eax, dword [0x1415c3da8]
xor edx, edx
div dword [0x1415c3dac]
mov ecx, 0xf9fceca9
lea rax, [r11 + 4]
nop dword [rax]
mov edx, dword [0x1415c3db0]
imul edx, dword [0x1415c3db4]
imul rdx, rcx
shr rdx, 0x3c
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0xfffffffe
and r8d, 0xa0154131
imul r8d, r9d
mov r9d, edx
and r9d, 1
or edx, 0xa0154131
imul edx, r9d
add edx, r8d
or edx, 0x585dfcf4
cmp edx, 0x52390892
je 0x1401611e0
nop
mov ecx, dword [0x1415c3db8]
add ecx, dword [0x1415c3dbc]
xor ecx, 0xbcc39f98
add ecx, 0x7640f50e
mov edx, ecx
and edx, 0x7a05c4a9
xor ecx, 0xfa05c4a9
lea ecx, [rcx + rdx*2]
cmp ecx, 0x9d3a6320
jb 0x140161230
jmp 0x1401612b0
lea rcx, [r11 + 2]
nop word [rax + rax]
mov eax, dword [0x1415c3dd0]
sub eax, dword [0x1415c3dd4]
and eax, 0x6cee184f
imul eax, eax, 0x87fe72f1
mov edx, eax
and edx, 0x26d0cde5
or eax, 0x26d0cde5
add eax, edx
cmp eax, 0x80003502
jb 0x140161270
lea rax, [r10 + 1]
test r10, r10
cmove rax, r10
add rax, rcx
nop dword [rax + rax]
mov ecx, dword [0x1415c3de0]
add ecx, dword [0x1415c3de4]
mov edx, ecx
not edx
or edx, 0xd018201
and edx, 0xafc38333
and ecx, 0x28304c
or ecx, edx
xor ecx, 0x2f14d675
cmp ecx, 0xbc775b1
jb 0x1401612b0
cmp rax, rbx
ja 0x140161af1
jne 0x1401613ba
xor eax, eax
test al, al
je 0x140161310
mov rax, qword [r12 + 1]
mov rcx, qword [r12 + 8]
mov qword [r13 + 7], rcx
mov qword [r13], rax
nop dword [rax]
mov eax, dword [0x1415c3de8]
add eax, dword [0x1415c3dec]
mov ecx, eax
xor ecx, 0xb13d6877
xor eax, 0x8429300
and eax, 0x394b9342
mov edx, ecx
and edx, 0xc6b46cbd
imul edx, eax
mov eax, ecx
and eax, 0x394b9342
or ecx, 0x394b9342
imul ecx, eax
lea eax, [rcx + rdx]
add eax, 0xecab8c6b
mov rcx, qword [r12 + 1]
mov rdx, qword [r12 + 8]
mov qword [r13 + 7], rdx
mov qword [r13], rcx
cmp eax, 0xa63faa14
ja 0x140161310
mov r9, qword [r12 + 0x18]
nop
mov eax, dword [0x1415c3df0]
mov ecx, dword [0x1415c3df4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
not eax
mov ecx, eax
and ecx, 0x1892041
or eax, 0x6430c0ae
or ecx, 0x6430c0ae
and ecx, eax
not ecx
imul eax, ecx, 0x922aac15
cmp sil, 6
sete r12b
cmp eax, 0xac67a8f7
jae 0x140161370
xor r14d, r14d
jmp 0x1401614a0
add rax, qword [rbp - 0x18]
jmp 0x1401613ca
mov rax, qword [rbp - 0x18]
jne 0x14016146a
mov ecx, dword [0x1415c3df8]
xor ecx, dword [0x1415c3dfc]
mov edx, ecx
not edx
and edx, 0x29cd6095
and ecx, 0xd6329f6a
sub ecx, edx
mov edx, ecx
xor edx, 0x2baced4f
or ecx, 0xd45312b0
and ecx, edx
imul ecx, ecx, 0xf16389b2
cmp ecx, 0x4c681217
jne 0x140161418
mov rcx, qword [r12 + 1]
mov rdx, qword [r12 + 8]
mov qword [r13 + 7], rdx
mov qword [r13], rcx
xor ecx, ecx
nop word [rax + rax]
movzx edx, byte [rax]
cmp dl, 0x2f
sete r14b
cmp dl, 0x5c
sete dl
mov r8, qword [r12 + 1]
mov r9, qword [r12 + 8]
mov qword [r13 + 7], r9
mov qword [r13], r8
test cl, cl
jne 0x140161420
or r14b, dl
mov r9, qword [r12 + 0x18]
cmp sil, 6
jne 0x140161499
mov dword [rbp + 0x24], r14d
mov qword [rbp - 0x38], r9
mov byte [rbp + 0x57], 6
mov al, 1
mov dword [rbp + 0x20], eax
jmp 0x140161a00
mov eax, dword [0x1415c3da0]
mov ecx, dword [0x1415c3da4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
xor eax, 0x48081208
or eax, 0xb173edd1
and eax, 0xf9fbffdf
cmp eax, 0x2f2ca4ef
je 0x14016146a
jmp 0x140161af1
xor r12d, r12d
nop dword [rax]
mov eax, dword [0x1415c3e00]
xor edx, edx
div dword [0x1415c3e04]
mov ecx, 0xa692d73
sub ecx, eax
add eax, 0xf596d28c
and ecx, 0x327db4b1
and eax, 0xcd824b4e
sub eax, ecx
and eax, 0xf5d3ffe9
cmp eax, 0x1b7eb821
jb 0x1401614a0
cmp sil, 3
mov byte [rbp + 0x57], sil
mov qword [rbp - 0x38], r9
mov dword [rbp + 0x24], r14d
mov dword [rbp + 0x20], r12d
jge 0x140161556
test sil, sil
jle 0x1401616da
mov ecx, 6
cmp sil, 2
jge 0x14016198e
lea rax, [r11 + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x1415c3e18]
mov edx, dword [0x1415c3e1c]
xor edx, ecx
not edx
and edx, ecx
or edx, 0x93909bd6
and edx, 0x9f939bd6
cmp edx, 0x5903d87
jb 0x140161510
mov ecx, r10d
and ecx, 1
mov rdx, r10
xor rdx, 1
lea rcx, [rdx + rcx*2]
test r10, r10
cmove rcx, r10
add rax, rcx
jmp 0x140161720
jg 0x1401615b9
lea rax, [r11 + 4]
nop dword [rax]
mov ecx, dword [0x1415c3e20]
and ecx, dword [0x1415c3e24]
and ecx, 0x793a9d
mov edx, ecx
not edx
or edx, 0x47567b65
add ecx, edx
inc ecx
mov edx, ecx
not edx
and edx, 0x31d6a678
mov r8d, ecx
and r8d, 0xce295987
imul r8d, edx
mov edx, ecx
and edx, 0x31d6a678
or ecx, 0x31d6a678
imul ecx, edx
add ecx, r8d
cmp ecx, 0xe9ceb327
je 0x140161560
jmp 0x140161720
cmp sil, 5
jge 0x1401618fd
lea rax, [r11 + 2]
nop word [rax + rax]
mov ecx, dword [0x1415c3e28]
or ecx, dword [0x1415c3e2c]
mov edx, ecx
not edx
and edx, 0xe63eac02
mov r8d, ecx
and r8d, 0x19c153fd
imul r8d, edx
mov edx, ecx
and edx, 0xe63eac02
or ecx, 0xe63eac02
imul ecx, edx
add ecx, r8d
cmp ecx, 0xf0c342e7
je 0x1401615d0
lea rcx, [r10 + 1]
nop word cs:[rax + rax]
mov edx, dword [0x1415c3e30]
mov r8d, dword [0x1415c3e34]
mov r9d, edx
not r9d
and r9d, r8d
not r8d
and r8d, edx
sub r8d, r9d
mov edx, r8d
xor edx, 0x8100
and edx, 0x248119
and r8d, 0x16101800
or r8d, edx
test r10, r10
mov rdx, rcx
cmove rdx, r10
cmp r8d, 0x4a7aeaaa
je 0x140161620
mov ecx, 0xc2bbc193
add rax, rdx
nop word cs:[rax + rax]
mov edx, dword [0x1415c3e38]
or edx, dword [0x1415c3e3c]
mov r8d, edx
not r8d
and r8d, 0x9c62eeab
mov r9d, edx
and r9d, 0x639d1154
imul r9d, r8d
mov r8d, edx
and r8d, 0x9c62eeab
or edx, 0x9c62eeab
imul edx, r8d
add edx, r9d
add edx, 0xf1d10fc4
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0xe0497463
ja 0x140161680
mov rdi, qword [rbp - 8]
jmp 0x140161720
jne 0x140161923
lea rax, [r11 + 4]
nop word cs:[rax + rax]
mov ecx, dword [0x1415c3e14]
mov edx, ecx
xor edx, ecx
not edx
and edx, dword [0x1415c3e10]
xor edx, ecx
xor edx, 0x10001c01
or edx, 0x27c582d6
and edx, 0x77dd9ed7
cmp edx, 0xafd7b4e7
je 0x1401616f0
nop
mov ecx, dword [0x1415c3e40]
mov edx, dword [0x1415c3e44]
mov r8d, ecx
not r8d
and r8d, edx
not edx
and edx, ecx
sub edx, r8d
add edx, 0xfe1b6a53
xor edx, 0xb79a254
cmp edx, 0x4cb9ebb6
ja 0x140161720
test rax, rax
je 0x140161a00
cmp sil, 2
jge 0x140161829
test sil, sil
jle 0x140161956
lea rcx, [r11 + 8]
lea r8, [r10 + 1]
nop word cs:[rax + rax]
mov eax, dword [0x1415c3e58]
xor edx, edx
div dword [0x1415c3e5c]
or eax, 0x365f33a8
add eax, 0xf938ede5
or eax, 0x94a2b255
cmp eax, 0x5cc1ce06
je 0x140161780
nop word cs:[rax + rax]
mov eax, dword [0x1415c3e60]
add eax, dword [0x1415c3e64]
imul edx, eax, 0x3216c442
add edx, 0x3cfc7a1c
xor edx, 0xba26be40
test r10, r10
mov rax, r8
cmove rax, r10
cmp edx, 0xff4abd1d
ja 0x1401617b0
add rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x1415c3e68]
xor edx, edx
div dword [0x1415c3e6c]
not eax
and eax, 0xff97eeb7
mov edx, eax
not edx
or eax, 0x2c10cd1d
or edx, 0x8d87aa04
and edx, eax
and edx, 0xad97ef1d
cmp edx, 0x96b7272
jb 0x1401617f0
jmp 0x14016198e
mov ecx, 6
jle 0x14016198e
cmp sil, 4
jge 0x140161a64
lea rcx, [r11 + 4]
nop word cs:[rax + rax]
mov eax, dword [0x1415c3e70]
add eax, dword [0x1415c3e74]
mov edx, eax
and edx, 0x99a74ef0
or eax, 0x99a74ef0
add eax, edx
imul eax, eax, 0xf31b2065
not eax
or eax, 0x558c7377
cmp eax, 0x2782ecec
je 0x140161850
nop
mov eax, dword [0x1415c3e78]
mov edx, dword [0x1415c3e7c]
xor edx, eax
not edx
and edx, eax
mov eax, edx
xor eax, 0xa83e6b2d
xor edx, 0x3c01480
and edx, 0xa3e87e80
mov r8d, eax
and r8d, 0x5c17817f
imul r8d, edx
mov edx, eax
and edx, 0xa3e87e80
or eax, 0xa3e87e80
imul eax, edx
add eax, r8d
mov edx, eax
not edx
and edx, 0x2e966364
mov r8d, eax
and r8d, 0xd1699c80
imul r8d, edx
mov edx, eax
and edx, 0x2e966300
or eax, 0x2e966364
imul eax, edx
add eax, r8d
cmp eax, 0x68de07cc
je 0x140161880
jmp 0x14016198e
jne 0x140161923
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140161910
mov ecx, 2
cmp rcx, rbx
je 0x140161993
jmp 0x140161a00
mov eax, dword [0x1415c3e08]
mov ecx, dword [0x1415c3e0c]
not eax
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not ecx
and ecx, edx
add ecx, 0xf7f94bab
or ecx, 0x4fa0782b
cmp ecx, 0x62e7df66
jb 0x140161923
jmp 0x140161af1
jne 0x140161ad2
lea rcx, [r11 + 4]
mov eax, dword [0x1415c3e50]
xor eax, dword [0x1415c3e54]
add eax, 0x7de906fb
mov edx, eax
and edx, 0x1ed565
add edx, edx
sub eax, edx
add eax, 0xedbed565
or eax, 0xffcffb17
cmp eax, 0x8eb8a322
jbe 0x140161960
cmp rcx, rbx
jne 0x140161a00
xor eax, eax
movzx ecx, r15b
nop dword [rax]
mov edx, dword [str.EuK5k]
mov r8d, dword [0x1415c3fa4]
mov r9d, edx
not r9d
or edx, r8d
not r8d
or r8d, r9d
and r8d, edx
mov edx, r8d
xor edx, 0x12e0081
xor r8d, 0x10800050
and r8d, 0x96c0c278
and edx, 0x693f3d87
sub edx, r8d
mov r8d, edx
xor r8d, 0xb271f794
and r8d, edx
cmp sil, 5
mov r15d, ecx
cmove r15d, eax
cmp r8d, 0x3a4baa20
jbe 0x1401619a0
mov eax, dword [0x1415c3e88]
xor edx, edx
div dword [0x1415c3e8c]
mov ecx, eax
xor ecx, 0xe011013d
add ecx, eax
and eax, 0x1feefec2
sub ecx, eax
mov eax, ecx
not eax
and eax, 0x7a56637d
mov edx, ecx
and edx, 0x5a99c82
imul edx, eax
mov eax, ecx
and eax, 0x7a56637d
or ecx, 0x7a56637d
imul ecx, eax
add ecx, edx
or ecx, 0x9a33c701
cmp ecx, 0xc7599d37
mov rbx, qword [rbp + 0x10]
mov r14, qword [rbp + 0x40]
jae 0x140161af3
jmp 0x140161b63
jne 0x140161ad2
mov eax, 0xac5940d9
lea rcx, [r11 + 2]
nop
mov edx, dword [0x1415c3e80]
add edx, dword [0x1415c3e84]
mov r8d, edx
and r8d, 0x4082be42
add r8d, r8d
sub edx, r8d
lea r8d, [rdx - 0x3f7d41be]
not r8d
or r8d, 0x477f051e
add edx, r8d
add edx, 0xc082be43
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xc96c4fe9
je 0x140161a70
lea rax, [r10 + 1]
test r10, r10
cmove rax, r10
add rcx, rax
cmp rcx, rbx
je 0x140161993
jmp 0x140161a00
mov eax, dword [0x1415c3e48]
xor edx, edx
div dword [0x1415c3e4c]
and eax, 0x904b050d
add eax, 0x8eca28d5
cmp eax, 0xed7b591c
ja 0x140161ad2
ud2
mov eax, dword [0x1415c3e90]
mov ecx, dword [0x1415c3e94]
mov edx, eax
and edx, ecx
xor eax, ecx
lea r12d, [rax + rdx*2]
or r12d, 0x28e79c34
add r12d, 0x47054322
mov eax, r12d
not eax
mov ecx, r12d
and ecx, 0xbff8d7d8
and eax, 0x40032827
imul eax, ecx
mov ecx, r12d
and ecx, 0x40052827
or r12d, 0x40072827
imul r12d, ecx
add r12d, eax
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14014be50
add rsp, 0x20
cmp r12d, 0x7eef79cb
jae 0x140161b7e
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14014be50
add rsp, 0x20
jmp 0x140161af3
movzx ecx, byte [rdi]
mov r9, qword [rdi + 0x10]
mov rax, qword [rdi + 0x20]
cmp cl, 3
jge 0x140161c5c
test cl, cl
mov r12, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x40]
mov r14, qword [rbp - 0x28]
jle 0x140161d1b
mov r8d, 6
cmp cl, 2
jge 0x140161e20
mov edx, r9d
and edx, 8
xor r9, 8
lea rdx, [r9 + rdx*2]
lea r8, [rax + 1]
test rax, rax
cmove r8, rax
add r8, rdx
nop word cs:[rax + rax]
mov eax, dword [0x1415c3ea8]
mov edx, dword [0x1415c3eac]
mov r9d, edx
and r9d, eax
add eax, edx
sub eax, r9d
mov edx, eax
and edx, 0x2df5ac64
xor eax, 0xadf5ac64
lea eax, [rax + rdx*2]
imul rax, rax, 0xfb0215
shr rax, 0x37
xor eax, 0x78426d61
cmp eax, 0xb5cc1e32
ja 0x140161be0
mov r9d, 0xc4173427
nop word cs:[rax + rax]
mov eax, dword [0x1415c3eb0]
xor edx, edx
div dword [0x1415c3eb4]
imul rax, r9
shr rax, 0x39
xor eax, 0x25d1fe9
add eax, 0x175f79f8
cmp eax, 0x94407a68
ja 0x140161c30
jmp 0x140161e20
cmp cl, 5
mov r12, qword [rbp + 0x10]
mov rbx, qword [rbp + 0x40]
mov r14, qword [rbp - 0x28]
jge 0x140161cfe
cmp cl, 4
jge 0x140161db4
mov r8, r9
xor r8, 4
nop word cs:[rax + rax]
mov eax, dword [0x1415c3eb8]
xor edx, edx
div dword [0x1415c3ebc]
lea edx, [rax - 0x78640cdb]
not edx
or edx, 0x9e3da004
add eax, edx
add eax, 0x879bf326
cmp eax, 0x51ec100b
jb 0x140161c90
and r9d, 4
lea r8, [r8 + r9*2]
nop word cs:[rax + rax]
mov eax, dword [0x1415c3ec0]
xor eax, dword [0x1415c3ec4]
and eax, 0x6bf41781
imul rax, rax, 0xf34c259
shr rax, 0x3a
imul eax, eax, 0x2d897a25
cmp eax, 0x906358e0
jae 0x140161cd0
jmp 0x140161e20
mov r8d, 2
cmp cl, 6
jl 0x140161e20
mov r9, r12
mov r8, rbx
je 0x140161f10
jmp 0x140161d70
jne 0x140161d70
movabs rax, 0xa1d626a8255fd3d4
sub r9, rax
lea r8, [r9 + rax]
add r8, 4
nop word cs:[rax + rax]
mov eax, dword [0x1415c3ea0]
xor edx, edx
div dword [0x1415c3ea4]
imul eax, eax, 0xf41ac79d
add eax, 0xaaaab2c4
or eax, 0xd4bfb031
cmp eax, 0x4aaf3c1a
jbe 0x140161d40
jmp 0x140161e20
mov eax, dword [0x1415c3e98]
sub eax, dword [0x1415c3e9c]
mov ecx, eax
not ecx
or ecx, 0x9091893d
mov r8d, 0x3864294c
sub r8d, eax
sub r8d, ecx
add eax, ecx
add eax, 0xc79bd6b3
and r8d, 0x79f5598e
and eax, 0x860aa671
sub eax, r8d
cmp eax, 0x373ecfb
jb 0x140161d70
jmp 0x140161af1
add r9, 2
nop dword [rax + rax]
mov edx, dword [0x1415c3ec8]
sub edx, dword [0x1415c3ecc]
imul r8, rdx, 0x1afb4359
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x19
imul edx, edx, 0x31bd2155
xor edx, 0x8f3e209b
cmp edx, 0x89bc13f5
je 0x140161dc0
lea rdx, [rax + 1]
test rax, rax
cmove rdx, rax
movabs rax, 0x59a605484b1f020e
sub r9, rax
add r9, rax
add r9, rdx
mov r8, r9
nop word [rax + rax]
mov eax, dword [0x1415c3ed0]
and eax, dword [0x1415c3ed4]
and eax, 0x9cf058b2
add eax, 0x6e19f27a
and eax, 0x935b2904
cmp eax, 0xea6d77dc
ja 0x140161e20
mov r9, r12
sub r9, r8
jb 0x14016269a
add r8, rbx
nop word cs:[rax + rax]
mov eax, dword [0x1415c3ee8]
sub eax, dword [0x1415c3eec]
xor eax, 0x22065ff2
add eax, 0xc8c0c5dd
mov edx, eax
not edx
and edx, 0x135085e9
mov r10d, eax
and r10d, 0xecaf7a16
imul r10d, edx
mov edx, eax
and edx, 0x135085e9
or eax, 0x135085e9
imul eax, edx
add eax, r10d
cmp eax, 0x1ffa2f8
jb 0x140161e60
nop dword [rax + rax]
mov eax, dword [0x1415c3ef0]
mov edx, dword [0x1415c3ef4]
mov r10d, eax
not r10d
and r10d, edx
not edx
and edx, eax
sub edx, r10d
or edx, 0xf8515aeb
imul rax, rdx, 0x4015e513
shr rax, 0x3c
mov edx, eax
not edx
mov r10d, eax
and r10d, 1
and edx, 0x1bd8b63e
imul edx, r10d
mov r10d, eax
and r10d, 0xfffffffe
or eax, 0x1bd8b63e
imul eax, r10d
add eax, edx
cmp eax, 0x4e1866dc
je 0x140161eb0
nop dword [rax + rax]
mov eax, dword [0x1415c3ef8]
xor edx, edx
div dword [0x1415c3efc]
or eax, 0x24808102
and eax, 0xaf85e513
imul rax, rax, 0x1f309ad5
shr rax, 0x3a
cmp eax, 0x81b78454
ja 0x140161f10
test r9, r9
je 0x140162010
movzx eax, byte [r8]
nop word [rax + rax]
mov edx, dword [0x1415c3f0c]
mov r8d, edx
xor r8d, edx
not r8d
and r8d, dword [0x1415c3f08]
xor r8d, edx
imul edx, r8d, 0x191d2aa
mov r8d, edx
not r8d
or edx, 0x253126e4
or r8d, 0xdaced91b
and r8d, edx
not r8d
add r8d, 0x6f040bc7
cmp r8d, 0xce2a6473
ja 0x140161f50
nop dword [rax]
mov edx, dword [0x1415c3f10]
sub edx, dword [0x1415c3f14]
mov r8d, edx
not r8d
and r8d, 0x9ba16132
and edx, 0x645e9ecd
sub edx, r8d
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x137160bb
and r8d, 0xec8e9f44
imul r8d, r9d
mov r9d, edx
and r9d, 0xec8e9f44
or edx, 0xec8e9f44
imul edx, r9d
add edx, r8d
or edx, 0x3f7d82d0
cmp edx, 0x276a9995
je 0x140161fa0
cmp al, 0x5c
jge 0x14016204b
cmp al, 0x2f
jne 0x14016204d
jmp 0x14016207d
mov eax, dword [0x1415c3f00]
xor eax, dword [0x1415c3f04]
and eax, 0x33177dd2
lea edx, [rax + 0x40800204]
not eax
or eax, 0x7248013
and eax, 0x2724f493
and edx, 0x40910244
or edx, eax
xor edx, 0xa7a533a0
cmp edx, 0xa621cca5
jb 0x140162010
jmp 0x14016204d
je 0x14016207d
add cl, 0xfb
cmp cl, 2
jae 0x14016207d
mov eax, dword [0x1415c3fa8]
xor edx, edx
div dword [0x1415c3fac]
or eax, 0x44209305
and eax, 0xf52897e5
cmp eax, 0xc0b61626
jne 0x140162759
jmp 0x1401627a0
mov eax, dword [0x1415c3f18]
mov ecx, dword [0x1415c3f1c]
xor ecx, eax
not ecx
and ecx, eax
mov eax, 0xcbe9bec1
imul rax, rcx
shr rax, 0x3e
lea ecx, [rax - 0x37de39c]
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0x98801c55
mov edx, eax
and edx, 0x36861aa
imul edx, ecx
mov ecx, eax
and ecx, 0x158215
or eax, 0x98959e55
imul eax, ecx
add eax, edx
cmp eax, 0xa3f0b407
jne 0x1401620eb
sub rsp, 0x20
mov rcx, qword [rbp]
mov rdx, rbx
mov r8, r12
call fcn.14021bd10
add rsp, 0x20
mov esi, 0xa05c6e2f
mov r14, rbx
mov rbx, r12
mov rdi, qword [rbp]
nop word [rax + rax]
mov eax, dword [0x1415c3f20]
add eax, dword [0x1415c3f24]
imul r12d, eax, 0xa4a6bea
imul r12, rsi
shr r12, 0x3e
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14014be50
add rsp, 0x20
cmp r12d, 0xbca008a4
je 0x140162100
movzx edx, byte [rdi]
mov rax, qword [rdi + 0x10]
mov r12, qword [rbp + 0x10]
mov r14, qword [rbp - 0x28]
nop dword [rax]
mov ecx, dword [0x1415c3f28]
mov r8d, dword [0x1415c3f2c]
mov r9d, ecx
and r9d, r8d
add r9d, r9d
add ecx, r8d
sub ecx, r9d
mov r8d, ecx
or r8d, 0x2c3dd474
mov r9d, ecx
not r9d
and r9d, 0xc0020a
mov r10d, r8d
and r10d, 0x330ab9f1
imul r10d, r9d
and r8d, 0xcf5460e
or ecx, 0x2cfdd67e
imul ecx, r8d
add ecx, r10d
and ecx, 0x23e2da80
cmp ecx, 0xa7196946
ja 0x140162150
mov rcx, qword [rdi + 0x20]
nop word [rax + rax]
mov r8d, dword [0x1415c3f30]
and r8d, dword [0x1415c3f34]
mov r9d, r8d
not r9d
and r9d, 0xd28757eb
mov r10d, r8d
and r10d, 0x2d78a814
imul r10d, r9d
mov r9d, r8d
and r9d, 0xd28757eb
or r8d, 0xd28757eb
imul r8d, r9d
add r8d, r10d
mov r9d, r8d
xor r9d, 0x3e354bb
or r8d, 0xfc1cab44
and r8d, r9d
imul r8, r8, 0x7d3f58c9
shr r8, 0x3c
cmp r8d, 0x82e35524
ja 0x1401621c0
cmp dl, 3
jge 0x1401622d8
test dl, dl
jle 0x1401623bb
mov r8d, 6
cmp dl, 2
mov rbx, qword [rbp + 0x48]
jge 0x1401623cc
mov edx, eax
and edx, 8
or rax, 8
mov r8, rax
add r8, rdx
mov eax, 0x9b3de06d
lea rdx, [rcx + 1]
nop word cs:[rax + rax]
mov r9d, dword [0x1415c3f40]
or r9d, dword [0x1415c3f44]
imul r10d, r9d, 0x501abfb7
and r10d, 0xf36126e4
imul r10, rax
shr r10, 0x3e
test rcx, rcx
mov r9, rdx
cmove r9, rcx
cmp r10d, 0x633d11c3
ja 0x140162270
add r8, r9
nop word [rax + rax]
mov eax, dword [0x1415c3f48]
imul eax, dword [0x1415c3f4c]
add eax, 0x6402c782
and eax, 0x607958ca
add eax, 0x68c3dc3
cmp eax, 0xfd854595
ja 0x1401622b0
jmp 0x1401623cc
cmp dl, 5
jge 0x140162351
cmp dl, 4
mov rbx, qword [rbp + 0x48]
jge 0x14016246b
add rax, 4
nop
mov ecx, dword [0x1415c3f50]
add ecx, dword [0x1415c3f54]
mov edx, ecx
xor edx, 0x770a5f0f
xor ecx, 0x88742090
and ecx, 0xea74659a
mov r8d, edx
and r8d, 0x158b9a65
imul r8d, ecx
mov ecx, edx
and ecx, 0xea74659a
or edx, 0xea74659a
imul edx, ecx
add edx, r8d
xor edx, 0x56c1961f
cmp edx, 0x3acb2531
jb 0x1401622f0
mov r8, rax
cmp r8, r12
jbe 0x1401623e0
jmp 0x140162504
cmp dl, 6
jge 0x1401625be
mov rbx, qword [rbp + 0x48]
nop
mov eax, dword [0x1415c3f60]
mov ecx, dword [0x1415c3f64]
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
add eax, 0xd31ca189
xor eax, 0xee39f10
mov ecx, eax
and ecx, 0xd5c29b4b
or eax, 0xd5c29b4b
add eax, ecx
cmp eax, 0xaaf34b52
je 0x140162360
mov r8d, 2
cmp r8, r12
jbe 0x1401623e0
jmp 0x140162504
jne 0x140162650
add rax, 4
mov r8, rax
mov rbx, qword [rbp + 0x48]
cmp r8, r12
ja 0x140162504
nop word cs:[rax + rax]
mov eax, dword [0x1415c3f6c]
not eax
add eax, dword [0x1415c3f68]
imul eax, eax, 0x605968d
add eax, 0x605968d
mov ecx, eax
not ecx
or ecx, 0xfefb64e6
or eax, 0x1049b19
and eax, ecx
mov ecx, eax
not ecx
and ecx, 0xec529f25
and eax, 0x13ad60da
sub eax, ecx
cmp eax, 0x43c1337e
jb 0x1401623e0
nop word cs:[rax + rax]
mov eax, dword [0x1415c3f70]
mov ecx, eax
not ecx
or ecx, dword [0x1415c3f74]
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0x111d6eef
and eax, 0x2ee29110
add eax, eax
sub eax, ecx
or eax, 0x99da687c
add eax, 0x30b55b6f
cmp eax, 0x3571d1c2
ja 0x140162430
jmp 0x140162c7c
add rax, 2
mov r8d, 0xa3169709
mov rdx, rcx
xor rdx, 1
nop dword [rax]
mov r9d, dword [0x1415c3f58]
mov r10d, dword [0x1415c3f5c]
mov r11d, r10d
not r11d
mov esi, r9d
and esi, r11d
or r11d, r9d
not r11d
imul r11d, esi
mov esi, r9d
and esi, r10d
or r9d, r10d
imul r9d, esi
add r9d, r11d
mov r10d, r9d
and r10d, 0x337bb462
add r10d, r10d
sub r9d, r10d
add r9d, 0xb37bb462
imul r9, r8
shr r9, 0x3e
add r9d, 0xe2ff6b41
cmp r9d, 0xcd06a55
jb 0x140162480
mov r8d, ecx
and r8d, 1
lea rdx, [rdx + r8*2]
test rcx, rcx
cmove rdx, rcx
add rax, rdx
mov r8, rax
cmp r8, r12
jbe 0x1401623e0
mov eax, dword [0x1415c3f78]
imul eax, dword [0x1415c3f7c]
imul rax, rax, 0x17c2b76f
shr rax, 0x3c
imul eax, eax, 0x918c40f3
cmp eax, 0x3e5bd93d
jne 0x140162530
ud2
mov ecx, dword [0x1415c3f80]
mov eax, dword [0x1415c3f84]
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
sub eax, edx
mov ecx, eax
xor ecx, 0x65fc61f6
and eax, 0x1a039e09
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0xf1b7dfc1
and eax, 0xe48203e
sub eax, ecx
add eax, 0x7e8c8570
ud2
jne 0x140162650
nop word cs:[rax + rax]
mov eax, dword [0x1415c3f90]
mov ecx, dword [0x1415c3f94]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
or eax, 0x80ae8e06
or ecx, 0x7f5171f9
and ecx, eax
xor ecx, 0xcdc91c82
imul rax, rcx, 0x1643aff9
shr rax, 0x3c
cmp eax, 0xce81aaa5
ja 0x1401625d0
mov rbx, qword [rbp + 0x40]
nop
mov eax, dword [0x1415c3f98]
add eax, dword [0x1415c3f9c]
or eax, 0x1ee7622c
mov ecx, eax
and ecx, 0x8e4b6d5
add ecx, ecx
sub eax, ecx
imul eax, eax, 0x522cd9aa
add eax, 0x6d77f672
cmp eax, 0x8cec93a0
jae 0x140162610
jmp 0x140162055
mov eax, dword [0x1415c3f38]
and eax, dword [0x1415c3f3c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x111ab943
and ecx, 0xeee546bc
imul ecx, edx
mov edx, eax
and edx, 0xeee546bc
or eax, 0xeee546bc
imul eax, edx
add eax, ecx
imul eax, eax, 0x5079eb9e
add eax, 0xbb524982
cmp eax, 0xaf938555
ja 0x140162650
jmp 0x140161af1
mov eax, dword [0x1415c3edc]
add eax, dword [0x1415c3ed8]
and eax, 0xd004cd5e
imul eax, eax, 0xc5449f5d
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xecd426d8
and ecx, 0x132bd927
imul ecx, edx
mov edx, eax
and edx, 0x132bd926
or eax, 0x132bd927
imul eax, edx
add eax, ecx
cmp eax, 0x181dbb8c
je 0x14016273f
mov eax, dword [0x1415c3ee0]
xor edx, edx
div dword [0x1415c3ee4]
mov ecx, eax
xor ecx, 0x6dec1d92
and eax, 0x1213e26d
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0x5ec3beca
mov edx, eax
and edx, 0xa13c4135
imul edx, ecx
mov ecx, eax
and ecx, 0x5ec3beca
or eax, 0x5ec3beca
imul eax, ecx
add eax, edx
mov ecx, eax
and ecx, 0x2c40e540
add ecx, ecx
sub eax, ecx
add eax, 0xac40e541
ud2
ud2
mov esi, dword [0x1415c3fb0]
add esi, dword [0x1415c3fb4]
mov eax, esi
not eax
and eax, 0x66074e5
and esi, 0x199f8b1a
sub esi, eax
add esi, 0x8b36af49
or esi, 0xea10ca49
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, r12
call fcn.14014be50
add rsp, 0x20
cmp esi, 0x33036954
jae 0x1401627b8
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
mov r8, r12
call fcn.14014be50
add rsp, 0x20
jmp 0x140162759
mov eax, dword [0x1415c3fb8]
xor edx, edx
div dword [0x1415c3fbc]
nop word cs:[rax + rax]
mov eax, dword [0x1415c3fc0]
imul eax, dword [0x1415c3fc4]
mov ecx, eax
or ecx, 0x22ebaf78
not eax
or eax, 0x5d145087
and eax, ecx
not eax
add eax, 0xa02a5fa9
or eax, 0x9ad3c463
cmp eax, 0x94fc08
jb 0x1401627d0
movzx eax, byte [r14]
mov rcx, qword [r14 + 0x10]
nop dword [rax]
mov edx, dword [0x1415c3fcc]
add edx, dword [0x1415c3fc8]
mov r8d, edx
or r8d, 0x13b3196
not edx
or edx, 0xfec4ce69
and edx, r8d
not edx
add edx, 0xea9fb151
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x16d0c8e4
and r8d, 0xe92f371b
imul r8d, r9d
mov r9d, edx
and r9d, 0xe92f371b
or edx, 0xe92f371b
imul edx, r9d
add edx, r8d
cmp edx, 0x8a3f3300
je 0x140162810
mov r9, qword [r14 + 0x20]
cmp al, 4
jge 0x1401629e2
cmp al, 2
jge 0x140162a89
cmp al, 1
mov rbx, qword [rbp + 0x48]
jne 0x140162ba4
mov eax, dword [0x1415c3fd8]
xor edx, edx
div dword [0x1415c3fdc]
mov rax, rcx
xor rax, 8
lea rdx, [r9 + 1]
nop dword [rax]
mov r8d, dword [0x1415c3fe0]
mov r10d, dword [0x1415c3fe4]
xor r10d, r8d
not r10d
and r10d, r8d
add r10d, 0xfa56df60
mov r8d, r10d
not r8d
and r8d, 0x617e3ae0
mov r11d, r10d
and r11d, 0x9e81c51f
imul r11d, r8d
mov r8d, r10d
and r8d, 0x617e3ae0
or r10d, 0x617e3ae0
imul r10d, r8d
lea r8d, [r10 + r11]
add r8d, 0x83b9d662
test r9, r9
mov r10, rdx
cmove r10, r9
cmp r8d, 0xc1adfd47
ja 0x1401628b0
and ecx, 8
lea r8, [rax + rcx*2]
mov eax, dword [0x1415c3fe8]
xor edx, edx
div dword [0x1415c3fec]
movabs rax, 0x2863c5945f771b1d
add r8, rax
add r8, r10
sub r8, rax
nop word cs:[rax + rax]
mov eax, dword [0x1415c3ff0]
xor edx, edx
div dword [0x1415c3ff4]
mov ecx, eax
add ecx, 0xa64d397e
not ecx
or ecx, 0x93472721
add eax, ecx
add eax, 0xa64d397e
cmp eax, 0x1a447c4f
je 0x140162950
mov eax, 0x9322d77f
nop word cs:[rax + rax]
mov ecx, dword [0x1415c3ff8]
mov edx, dword [0x1415c3ffc]
mov r9d, edx
not r9d
mov r10d, ecx
and r10d, r9d
or r9d, ecx
not r9d
imul r9d, r10d
mov r10d, ecx
and r10d, edx
or ecx, edx
imul ecx, r10d
add ecx, r9d
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xc314e49d
or ecx, 0x4b35cc2c
cmp ecx, 0x28fcc7e5
jbe 0x140162990
jmp 0x140162bfb
jg 0x140162b1d
add rcx, 2
lea r8, [r9 + 1]
mov rbx, qword [rbp + 0x48]
nop word cs:[rax + rax]
mov eax, dword [0x1415c4010]
add eax, dword [str.H_]
mov edx, eax
or edx, 0x5bd9f429
mov r10d, edx
not r10d
mov r11d, edx
and r11d, 0xcf8182b
and r10d, 0xf307e7d4
imul r10d, r11d
and edx, 0xf307e7d4
or eax, 0xfbdff7fd
imul eax, edx
add eax, r10d
add eax, 0x34d444c2
cmp eax, 0xd3548d3c
ja 0x140162a00
test r9, r9
cmove r8, r9
add r8, rcx
nop word cs:[rax + rax]
mov eax, dword [0x1415c4018]
sub eax, dword [0x1415c401c]
mov ecx, eax
not ecx
or ecx, 0x6b3b9a4f
add eax, ecx
add eax, 0x8bc3a354
cmp eax, 0x8b8113ad
jbe 0x140162a60
jmp 0x140162bfb
mov r8d, 6
mov rbx, qword [rbp + 0x48]
jle 0x140162bfb
mov r8, rcx
xor r8, 4
mov eax, dword [0x1415c4000]
xor edx, edx
div dword [0x1415c4004]
add eax, 0x2d71fbfd
and eax, 0xd03d37c6
xor eax, 0x459d44a4
cmp eax, 0x5f1d9f28
ja 0x140162aa0
and ecx, 4
lea r8, [r8 + rcx*2]
nop dword [rax + rax]
mov eax, dword [0x1415c4008]
mov ecx, dword [0x1415c400c]
mov edx, eax
not edx
and edx, ecx
mov r9d, ecx
not r9d
and r9d, eax
imul r9d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r9d
imul eax, eax, 0x2a02f3db
add eax, 0x439624b9
imul rax, rax, 0x6c186cfb
shr rax, 0x3d
cmp eax, 0x8a89ba9e
je 0x140162ad0
jmp 0x140162bfb
cmp al, 6
jge 0x140162d19
nop word cs:[rax + rax]
mov eax, dword [0x1415c4020]
xor edx, edx
div dword [0x1415c4024]
mov ecx, eax
not ecx
and ecx, 0x2ede00b8
mov edx, eax
and edx, 0xd121ff47
imul edx, ecx
mov ecx, eax
and ecx, 0x2ede00b8
or eax, 0x2ede00b8
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x73e8028
and ecx, 0x18c17fd1
imul ecx, edx
mov edx, eax
and edx, 0x18c17fd0
or eax, 0x18c17fd1
imul eax, edx
add eax, ecx
and eax, 0x1d50ecc0
cmp eax, 0xd412238c
ja 0x140162b30
mov r8d, 2
mov rbx, qword [rbp + 0x48]
jmp 0x140162bfb
add rcx, 4
nop dword [rax + rax]
mov eax, dword [0x1415c3fd0]
xor edx, edx
div dword [0x1415c3fd4]
add eax, 0xb6ba4bec
not eax
or eax, 0xf7248bf5
mov edx, eax
not edx
and eax, 0x7e1f9752
mov r8d, edx
and r8d, 0xc06008
or r8d, eax
xor r8d, 0x57afed88
and edx, 0x890700a
or edx, r8d
cmp edx, 0x81b4432d
ja 0x140162bb0
mov r8, rcx
cmp r8, r12
ja 0x140163b19
nop word cs:[rax + rax]
mov eax, dword [0x1415c4048]
xor edx, edx
div dword [0x1415c404c]
mov ecx, eax
xor ecx, 0x2ec3d4b8
and ecx, eax
add ecx, 0xec8399fd
mov eax, ecx
not eax
and eax, 0xf9f2c014
and ecx, 0x60d3feb
sub ecx, eax
cmp ecx, 0x13b0416d
jb 0x140162c10
nop word [rax + rax]
mov eax, dword [0x1415c4050]
mov ecx, dword [0x1415c4054]
add eax, ecx
add eax, 0xeb55ba89
or eax, 0xf72125d2
shr eax, 1
imul rax, rax, 0x4501135f
shr rax, 0x3c
cmp eax, 0xc7370287
ja 0x140162c50
mov qword [rbx + 0x10], 0
nop word cs:[rax + rax]
mov eax, dword [0x1415c4040]
xor edx, edx
div dword [0x1415c4044]
xor eax, 0x99062c5
imul rax, rax, 0x29efabd5
shr rax, 0x3c
mov ecx, eax
not ecx
and ecx, 0xb54f276d
mov edx, eax
and edx, 0xfffffffe
imul edx, ecx
mov ecx, eax
and ecx, 1
or eax, 0xb54f276d
imul eax, ecx
add eax, edx
cmp eax, 0x27504032
je 0x140162c90
sub rsp, 0x20
mov rcx, rbx
mov rdx, qword [rbp + 0x40]
mov r8, r12
call fcn.14021bd30
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x1415c4398]
add eax, dword [0x1415c439c]
or eax, 0x843a3655
cmp eax, 0xd55346b7
je 0x140162cf0
lea rsp, [rbp + 0x58]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movzx r10d, byte [rbp + 0x57]
nop
mov eax, dword [0x1415c4058]
xor eax, dword [0x1415c405c]
xor eax, 0x8ae9e4b0
add eax, 0x9c4b9a4d
cmp eax, 0xd7db3898
ja 0x140162d20
cmp byte [rbp + 0x20], 0
mov rdi, qword [rbp - 0x18]
mov r9, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x78]
jne 0x140162eb0
nop word cs:[rax + rax]
mov eax, dword [0x1415c4060]
xor edx, edx
div dword [0x1415c4064]
xor eax, 0xcf4a4e94
add eax, 0x9be4b0c9
mov edx, eax
not edx
and edx, 0x80ea5649
and eax, 0x7f15a9b6
sub eax, edx
cmp eax, 0x44221cd5
jb 0x140162d60
cmp r10b, 3
setb al
test r12, r12
setne r8b
sete dl
or dl, al
add dl, r8b
inc dl
test dl, 1
je 0x140162eb0
mov eax, dword [0x1415c40d0]
sub eax, dword [0x1415c40d4]
mov ecx, eax
or ecx, 0xa3626626
mov edx, eax
not edx
and edx, 0x48111049
mov r8d, ecx
and r8d, 0xb4cccfb4
imul r8d, edx
and ecx, 0x4b33304b
or eax, 0xeb73766f
imul eax, ecx
add eax, r8d
mov ecx, eax
xor ecx, 0x7f8591f3
add ecx, eax
and eax, 0x807a6e0c
sub ecx, eax
cmp ecx, 0x7b42ef7e
jae 0x140162e10
mov qword [r9], rdi
nop word [rax + rax]
mov eax, dword [0x1415c40d8]
mov ecx, dword [0x1415c40dc]
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, 0xc173aa3d
and eax, 0x622031
mov edx, ecx
xor edx, 0xed958b4e
add edx, ecx
sub edx, eax
mov qword [r9], rdi
cmp edx, 0xf2b2d6ba
je 0x140162e10
mov eax, dword [0x1415c40e0]
mov ecx, dword [0x1415c40e4]
lea edx, [rax + rcx]
add eax, ecx
add eax, 0x51c84477
not eax
or eax, 0xc14f34d1
add eax, edx
add eax, 0x51c84478
imul rax, rax, 0x4bcab9f9
shr rax, 0x3e
cmp eax, 0x5117a168
mov r8, qword [rbp + 0x18]
jne 0x140163c2c
jmp 0x140163c80
mov eax, dword [0x1415c4068]
xor edx, edx
div dword [0x1415c406c]
imul eax, eax, 0x3d04edae
mov edx, eax
xor edx, 0xfa9ed535
and eax, 0x5612aca
add eax, eax
sub eax, edx
cmp eax, 0xa38d4660
je 0x140162eb0
sub rsp, 0x20
mov rdx, rbx
mov rsi, rcx
mov r8, r12
call fcn.14014be50
add rsp, 0x20
movzx ecx, byte [rsi]
mov r8, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x20]
cmp cl, 4
mov rbx, qword [rbp + 0x48]
mov rsi, qword [rbp - 0x30]
jge 0x140162fa4
cmp cl, 2
jge 0x140163039
cmp cl, 1
jne 0x1401630c2
mov eax, 0xdbca8973
add r8, 8
mov r9d, dword [0x1415c4084]
mov r10d, r9d
xor r10d, r10d
not r10d
and r10d, dword [0x1415c4080]
xor r10d, r9d
add r10d, 0xe9132d51
and r10d, 0xc1d55a7b
imul r10, rax
shr r10, 0x3b
cmp r10d, 0x7103527a
ja 0x140162f29
lea rax, [rdx + 1]
mov r9d, dword [0x1415c4088]
and r9d, dword [0x1415c408c]
not r9d
or r9d, 0x8881e862
xor r9d, 0x89604822
or r9d, 0x761e1784
cmp r9d, 0x13f4a025
jb 0x140162f66
test rdx, rdx
cmove rax, rdx
add rax, r8
jmp 0x14016310d
jg 0x14016304d
mov eax, 0xa8b4982f
add r8, 2
mov r9, rdx
xor r9, 1
nop word [rax + rax]
mov r10d, dword [0x1415c4090]
xor r10d, dword [0x1415c4094]
and r10d, 0x2e434cb5
imul r11d, r10d, 0xdeb4e672
imul r11, rax
shr r11, 0x3f
mov r10d, edx
and r10d, 1
test rdx, rdx
lea r10, [r9 + r10*2]
cmove r10, rdx
cmp r11d, 0x98fbecdc
ja 0x140162fc0
add r8, r10
nop word cs:[rax + rax]
mov eax, dword [0x1415c4098]
imul eax, dword [0x1415c409c]
and eax, 0xb61a5a78
xor eax, 0xcdbe4618
imul eax, eax, 0xfcccbd9c
cmp eax, 0x2d20a556
je 0x140163010
jmp 0x14016310a
mov eax, 6
jle 0x14016310d
add r8, 4
jmp 0x14016310a
mov rax, r12
mov rdx, qword [rbp + 0x40]
cmp cl, 6
jge 0x140163145
mov eax, dword [0x1415c40a0]
xor edx, edx
div dword [0x1415c40a4]
mov edx, eax
xor edx, 0xb1d0435d
and edx, eax
mov eax, edx
not eax
mov r8d, edx
and r8d, 0xee076f63
and eax, 0x11f8909c
imul eax, r8d
mov r8d, edx
and r8d, 0x11f8909c
or edx, 0x11f8909c
imul edx, r8d
add edx, eax
mov eax, edx
not eax
and eax, 0x912f889a
and edx, 0x6ed07764
sub edx, eax
cmp edx, 0x60d4833c
je 0x14016305d
mov eax, 2
jmp 0x14016310d
mov eax, dword [0x1415c4070]
xor edx, edx
div dword [0x1415c4074]
add r8, 4
mov eax, dword [0x1415c4078]
mov edx, dword [0x1415c407c]
not edx
not eax
mov r9d, eax
or r9d, edx
and eax, edx
not eax
and eax, r9d
shr eax, 1
imul rax, rax, 0x449e48db
shr rax, 0x3d
or eax, 0x5ebd9628
cmp eax, 0x483fb2e7
je 0x1401630d4
mov rax, r8
cmp r12, rax
jb 0x140163a83
mov r8, r12
xor r8, rax
mov rdx, qword [rbp + 0x40]
add rdx, rax
not rax
and rax, r12
add rax, rax
sub rax, r8
xor r8d, r8d
nop word cs:[rax + rax]
test r8b, r8b
jne 0x140163140
mov r8d, 0xc550b083
nop dword [rax + rax]
mov r9d, dword [0x1415c40b0]
add r9d, dword [0x1415c40b4]
or r9d, 0xb0982bed
mov r10, r9
imul r10, r8
shr r10, 0x20
sub r9d, r10d
shr r9d, 1
add r9d, r10d
shr r9d, 0x1b
add r9d, 0xd8faea2d
cmp r9d, 0x5492cb73
jb 0x140163150
test rax, rax
je 0x140163220
movzx eax, byte [rdx]
nop dword [rax]
mov edx, dword [0x1415c40c8]
mov r8d, dword [0x1415c40cc]
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
mov r8d, edx
not r8d
or r8d, 0xa083c800
or edx, 0x20805b3
and edx, r8d
or edx, 0x5d74324c
mov r8d, edx
xor r8d, 0xa6555b75
add r8d, edx
and edx, 0x59aaa48a
sub r8d, edx
cmp r8d, 0x3e7f59b6
jb 0x1401631a0
cmp al, 0x5c
jge 0x140163287
cmp al, 0x2f
jne 0x14016328d
jmp 0x1401633ad
mov eax, dword [0x1415c40b8]
mov edx, dword [0x1415c40bc]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
add eax, 0x71bb2c52
or eax, 0x4c67f79d
cmp eax, 0x298efd0f
jb 0x140163220
nop dword [rax + rax]
mov eax, dword [0x1415c40c0]
mov edx, eax
not edx
or edx, dword [0x1415c40c4]
add eax, edx
inc eax
xor eax, 0x5010340
or eax, 0xe86cf0bd
mov edx, eax
and edx, 0x3cb256ec
xor eax, 0x3cb256ec
lea eax, [rax + rdx*2]
cmp eax, 0x570a52d1
ja 0x140163250
jmp 0x14016328d
je 0x1401633ad
add cl, 0xfb
mov eax, dword [0x1415c41fc]
mov edx, eax
xor edx, edx
not edx
and edx, dword [0x1415c41f8]
xor edx, eax
imul rax, rdx, 0x248d573b
shr rax, 0x3b
imul eax, eax, 0x2eb291ec
add eax, 0xeabc0e44
cmp eax, 0xf3e13472
ja 0x140163290
cmp cl, 1
ja 0x1401633ad
nop word [rax + rax]
mov eax, dword [str.7o_]
xor eax, dword [0x1415c4204]
and eax, 0x48540008
cmp eax, 0xa37418b5
ja 0x1401632d0
nop dword [rax + rax]
mov eax, dword [str.__M]
add eax, dword [0x1415c4208]
shr eax, 1
imul rax, rax, 0x66687981
shr rax, 0x3b
mov ecx, eax
not ecx
or eax, 0xeff2cb5d
or ecx, 0x100d34a2
and ecx, eax
not ecx
add ecx, 0x136c4397
cmp ecx, 0x58800aba
ja 0x1401632f0
test r15b, r15b
je 0x140162cd6
xor eax, eax
test al, al
je 0x140163356
sub rsp, 0x20
lea rdx, [0x14159eb12]
mov r8d, 1
mov rcx, rbx
call fcn.140154ae0
add rsp, 0x20
lea rsi, [0x14159eb12]
nop dword [rax]
mov eax, dword [0x1415c4258]
mov ecx, eax
not ecx
or ecx, dword [0x1415c425c]
lea edi, [rax + rcx]
inc edi
or edi, 0x22001000
xor edi, 0x80804010
and edi, 0xe2a45012
sub rsp, 0x20
mov r8d, 1
mov rcx, rbx
mov rdx, rsi
call fcn.140154ae0
add rsp, 0x20
cmp edi, 0x9899a60
jbe 0x140163360
jmp 0x140162cd6
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
mov r8, qword [rbp + 0x18]
call fcn.14014be50
add rsp, 0x20
movzx eax, byte [rsi]
mov rcx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x20]
cmp al, 4
jge 0x14016343a
cmp al, 2
jge 0x140163553
cmp al, 1
jne 0x1401635b6
lea rdx, [r8 + 1]
test r8, r8
cmove rdx, r8
movabs r9, 0xb12001ff5accaf09
mov r10, rcx
sub r10, r9
add r10, rdx
lea rdx, [r9 + r10]
add rdx, 8
mov r9d, dword [0x1415c4220]
xor r9d, dword [0x1415c4224]
add r9d, 0xf7e98a31
xor r9d, 0x9a509ddb
add r9d, 0x906ce071
cmp r9d, 0x75fc3fe1
jbe 0x140163409
jmp 0x1401635f0
jg 0x140163567
lea r9, [rcx + 2]
mov edx, dword [0x1415c4228]
and edx, dword [0x1415c422c]
and edx, 0xdfe1cf25
imul rdx, rdx, 0x6c1360e3
shr rdx, 0x3e
cmp edx, 0x15698e2e
je 0x140163444
mov r10, r8
xor r10, 1
mov r11d, dword [0x1415c4230]
sub r11d, dword [0x1415c4234]
mov edx, r11d
xor edx, 0x5d27a232
and r11d, 0x22d85dcd
add r11d, r11d
sub r11d, edx
mov edx, r11d
not edx
and edx, 0xe00d776f
mov esi, r11d
and esi, 0x1ff28890
imul esi, edx
mov edx, r11d
and edx, 0xe00d776f
or r11d, 0xe00d776f
imul r11d, edx
add r11d, esi
mov edx, r11d
not edx
mov esi, r11d
and esi, 0xcbe25569
and edx, 0x341daa96
imul edx, esi
mov esi, r11d
and esi, 0x341daa96
or r11d, 0x341daa96
imul r11d, esi
add r11d, edx
mov edx, r8d
and edx, 1
test r8, r8
lea rdx, [r10 + rdx*2]
cmove rdx, r8
cmp r11d, 0x4d10df57
jb 0x140163470
add rdx, r9
mov r9d, dword [0x1415c4238]
mov r10d, dword [0x1415c423c]
mov r11d, r9d
not r11d
or r9d, r10d
not r10d
and r10d, r11d
not r9d
or r9d, r10d
not r9d
imul r9d, r9d, 0x787a89b0
add r9d, 0x27571740
cmp r9d, 0xb2051cf8
ja 0x140163511
jmp 0x1401635f0
mov edx, 6
jle 0x1401635f0
lea rdx, [rcx + 4]
jmp 0x1401635f0
cmp al, 6
jge 0x1401638f8
mov edx, 0xc663184d
mov r9d, dword [0x1415c4240]
mov r10d, dword [0x1415c4244]
not r9d
not r10d
or r10d, r9d
not r10d
mov r9, r10
imul r9, rdx
shr r9, 0x20
sub r10d, r9d
shr r10d, 1
add r10d, r9d
shr r10d, 0x1d
cmp r10d, 0x61f52e78
je 0x140163574
mov edx, 2
jmp 0x1401635f0
lea rdx, [rcx + 4]
mov r9d, 0xab7a693d
mov r10d, dword [0x1415c4218]
sub r10d, dword [0x1415c421c]
imul r10, r9
shr r10, 0x3b
or r10d, 0x9d7a89dd
add r10d, 0xab3456ce
cmp r10d, 0xf15b9c16
ja 0x1401635c0
nop dword [rax]
mov r9d, dword [0x1415c4248]
mov r10d, dword [0x1415c424c]
mov r11d, r9d
xor r11d, r10d
not r10d
and r10d, r9d
add r10d, r10d
sub r10d, r11d
imul r9, r10, 0x65df630b
shr r9, 0x3e
xor r9d, 0x3a98e3e5
add r9d, 0x79ccb33a
cmp r9d, 0x668ace08
jb 0x1401635f0
cmp rdx, qword [rbp + 0x18]
ja 0x140163b01
mov edx, 0x8b4278a7
nop word cs:[rax + rax]
mov r9d, dword [0x1415c4254]
mov r10d, r9d
xor r10d, r10d
not r10d
and r10d, dword [0x1415c4250]
xor r10d, r9d
shr r10d, 1
imul r10, rdx
shr r10, 0x3e
imul r9d, r10d, 0xa78b1e2e
mov r10d, r9d
and r10d, 0x69dbd4aa
add r10d, r10d
neg r10d
add r9d, r10d
add r9d, 0xe9dbd4ab
cmp r9d, 0x9d71fb5a
jb 0x140163650
cmp al, 3
jge 0x14016374e
test al, al
jle 0x1401638ac
mov r9d, 6
cmp al, 2
jge 0x14016394d
add rcx, 8
mov eax, dword [0x1415c4268]
xor edx, edx
div dword [0x1415c426c]
xor eax, 0xba555310
add eax, 0x7f706e41
mov edx, eax
xor edx, 0x78dbd330
and edx, eax
cmp edx, 0x1f8af2d9
ja 0x1401636c1
lea rax, [r8 + 1]
mov edx, dword [str.W_Yr]
sub edx, dword [0x1415c4274]
mov r9d, edx
xor r9d, 0x7192c138
and edx, 0xe6d3ec7
add edx, edx
sub edx, r9d
mov r9d, edx
not r9d
or edx, 0x80fb0301
or r9d, 0x89c
and r9d, edx
not r9d
and r9d, 0x80fb0b9d
test r8, r8
mov rdx, rax
cmove rdx, r8
cmp r9d, 0xac877df2
je 0x1401636ef
add rcx, rdx
mov r9, rcx
jmp 0x1401638c0
jg 0x1401637c5
mov eax, dword [0x1415c4278]
xor edx, edx
div dword [0x1415c427c]
add rcx, 4
mov eax, dword [0x1415c4284]
add eax, dword [0x1415c4280]
mov edx, eax
xor edx, 0x7bc7d
add edx, eax
and eax, 0x784382
sub edx, eax
and edx, 0x600014
cmp edx, 0x74085039
je 0x140163762
mov eax, dword [0x1415c4288]
mov edx, dword [str.di_4]
mov r8d, eax
xor r8d, edx
not r8d
or eax, edx
and eax, r8d
add eax, 0xb1a4a5d
xor eax, 0x21dc25c7
add eax, 0x64f905fe
cmp eax, 0x7a03dd2f
jb 0x14016378d
mov r9, rcx
jmp 0x1401638c0
cmp al, 5
jge 0x140163941
add rcx, 2
mov eax, dword [0x1415c4290]
imul eax, dword [0x1415c4294]
add eax, 0x751bb9ec
and eax, 0x390d3719
imul rdx, rax, 0x59d9125
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0xb45c46f7
ja 0x1401637d1
lea rax, [r8 + 1]
mov edx, dword [0x1415c4298]
mov r9d, edx
not r9d
or r9d, dword [0x1415c429c]
add edx, r9d
inc edx
mov r9d, edx
not r9d
and r9d, 0xd01574d3
and edx, 0x2fea8b2c
sub edx, r9d
imul edx, edx, 0xf2179c7c
mov r9d, edx
not r9d
mov r10d, edx
and r10d, 0xd11d0cfc
and r9d, 0x2ee2f300
imul r9d, r10d
mov r10d, edx
and r10d, 0x2ee2f300
or edx, 0x2ee2f300
imul edx, r10d
add edx, r9d
test r8, r8
mov r9, rax
cmove r9, r8
cmp edx, 0x9e89c0bd
ja 0x140163807
add r9, rcx
mov eax, dword [0x1415c42a0]
mov ecx, dword [0x1415c42a4]
not eax
not ecx
or ecx, eax
not ecx
add ecx, 0x2210195
or ecx, 0x296f7ee9
cmp ecx, 0x1b8bb4a7
je 0x140163882
jmp 0x1401638c0
jne 0x140163b3b
add rcx, 4
xor eax, eax
test al, al
jne 0x1401638b8
mov r9, rcx
nop
mov eax, dword [0x1415c42a8]
add eax, dword [0x1415c42ac]
xor eax, 0xbc4a518d
mov ecx, eax
or ecx, 0x26370d64
sub ecx, eax
not ecx
or ecx, 0xadf7c4a
cmp ecx, 0xfa2d941c
je 0x1401638c0
test r9, r9
jne 0x14016394d
xor r9d, r9d
jmp 0x140163a7a
xor r9d, r9d
mov eax, dword [0x1415c4210]
mov ecx, dword [0x1415c4214]
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
add eax, 0xfd45f4d3
or eax, 0x8faa4f79
add eax, 0x7a57f776
cmp eax, 0x62d00e38
jae 0x1401638fb
jmp 0x140163a7a
mov r9d, 2
jne 0x140163b3b
mov eax, 0xa835f589
nop word cs:[rax + rax]
mov ecx, dword [0x1415c42b0]
sub ecx, dword [0x1415c42b4]
imul rcx, rax
shr rcx, 0x3a
add ecx, 0xf1f4f174
shr ecx, 1
imul rcx, rcx, 0x267789d7
shr rcx, 0x3a
cmp ecx, 0x648ab61b
ja 0x140163960
cmp qword [rbp + 0x18], r9
jbe 0x1401639f0
nop word cs:[rax + rax]
mov eax, dword [0x1415c42b8]
mov ecx, dword [0x1415c42bc]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xe01f9488
or ecx, 0x1fe06b77
and ecx, eax
add ecx, 0x5b98fa1b
cmp ecx, 0x519085c9
jb 0x1401639a0
cmp byte [rdi + r9], 0xbf
jg 0x140163a20
jmp 0x140161af1
mov eax, dword [0x1415c42c0]
xor edx, edx
div dword [0x1415c42c4]
xor eax, 0xc32be087
add eax, 0xd8871156
cmp eax, 0x861a1ca6
jb 0x1401639f0
cmp qword [rbp + 0x18], r9
jne 0x140161af1
nop dword [rax]
mov eax, dword [0x1415c42c8]
sub eax, dword [0x1415c42cc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xbf93fa79
and ecx, 0x406c0586
imul ecx, edx
mov edx, eax
and edx, 0x406c0586
or eax, 0x406c0586
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
or ecx, 0xb4b02dc2
or eax, 0x47f2d7a2
and eax, ecx
and eax, 0xf7f2ffe2
cmp eax, 0xe2d06ae5
ja 0x140163a20
cmp qword [rbp + 0x18], r9
jb 0x140162cd6
mov qword [rbx + 0x10], r9
jmp 0x140162cd6
ud2
ud2
mov eax, dword [0x1415c4028]
xor eax, dword [0x1415c402c]
or eax, 0x57268c8d
add eax, 0x16b20fc8
cmp eax, 0x3f0e85f7
jae 0x140163b79
jmp 0x140163be5
mov eax, 0xc28f2afb
mov ecx, dword [0x1415c4260]
mov edx, ecx
not edx
or edx, dword [0x1415c4264]
add ecx, edx
inc ecx
mov edx, ecx
xor edx, 0x1c084802
and edx, ecx
or edx, 0x81f527cc
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0x216d6b63
ja 0x140163b40
jmp 0x140161af1
mov eax, dword [0x1415c4030]
xor eax, dword [0x1415c4034]
mov ecx, eax
xor ecx, 0x20409881
xor eax, 0xc5ba642e
mov edx, eax
and edx, 0x1e872372
and ecx, 0xe178dc8d
imul ecx, edx
mov edx, eax
and edx, 0xe178dc8d
or eax, 0xe178dc8d
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x92f93980
and ecx, 0x6d06c67f
imul ecx, edx
mov edx, eax
and edx, 0x6d06c67f
or eax, 0x6d06c67f
imul eax, edx
add eax, ecx
ud2
ud2
mov eax, dword [0x1415c40e8]
mov ecx, dword [0x1415c40ec]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
xor eax, 0x54c6079f
imul rcx, rax, 0x480c6cc3
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
imul eax, eax, 0x8f0c6b2c
mov qword [r9 + 8], r8
mov byte [r9 + 0x10], r10b
mov rcx, qword [r13]
mov rdx, qword [r13 + 7]
mov qword [r9 + 0x11], rcx
mov qword [r9 + 0x18], rdx
cmp eax, 0x81c6d983
jbe 0x140163c9a
mov qword [r9 + 8], r8
mov byte [r9 + 0x10], r10b
mov rax, qword [r13]
mov rcx, qword [r13 + 7]
mov qword [r9 + 0x11], rax
mov qword [r9 + 0x18], rcx
jmp 0x140163c2c
mov rax, qword [rbp - 0x68]
mov qword [r9 + 0x20], rax
mov rax, qword [rbp - 0x38]
mov qword [r9 + 0x28], rax
mov rax, qword [rbp - 0x70]
mov qword [r9 + 0x30], rax
mov word [r9 + 0x38], 0x200
mov eax, dword [rbp + 0x24]
mov byte [r9 + 0x3a], al
sub rsp, 0x20
mov rsi, qword [rbp - 0x40]
mov rcx, rsi
mov rdx, r9
call fcn.14021bcd0
add rsp, 0x20
cmp byte [rsi], 0xa
jne 0x140163d3f
mov rax, qword [rbp + 0x28]
mov qword [rax], 0
mov qword [rax + 8], 8
mov qword [rax + 0x10], 0
mov r13, qword [rbp + 0x30]
nop dword [rax + rax]
mov eax, dword [0x1415c40f0]
mov ecx, dword [0x1415c40f4]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov eax, ecx
and eax, 0x5ec7035b
and ecx, 0x5c07021b
xor eax, 0xfd1ff69b
or eax, ecx
add eax, 0x70137632
cmp eax, 0xeda1b5e5
jae 0x140163d00
jmp 0x1401643b1
mov eax, dword [0x1415c40f8]
mov ecx, dword [0x1415c40fc]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
add eax, 0xecd46406
xor eax, 0xe80bd9b1
mov ecx, 0xed0cebe1
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x5cd2bda1
mov r13, qword [rbp + 0x30]
jbe 0x140163d80
movzx eax, byte [0x1415d3950]
nop
mov eax, dword [0x1415c4100]
sub eax, dword [0x1415c4104]
add eax, 0xccc842c2
mov ecx, eax
not ecx
and ecx, 0x13bb1b7
mov edx, eax
and edx, 0xec44e48
imul edx, ecx
mov ecx, eax
and ecx, 0x13bb1b7
or eax, 0x13bb1b7
imul eax, ecx
add eax, edx
or eax, 0xf15d9477
movzx ecx, byte [0x1415d3950]
cmp eax, 0x470bb864
jb 0x140163d80
mov eax, dword [0x1415c4108]
mov ecx, dword [0x1415c410c]
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
not ecx
mov edx, eax
or edx, 0xbb272add
mov r8d, edx
and r8d, 0x1b69b4df
and ecx, 0x44904120
imul ecx, r8d
and edx, 0xe4964b20
or eax, 0xffb76bfd
imul eax, edx
add eax, ecx
imul rax, rax, 0x30984083
shr rax, 0x3d
cmp eax, 0x253bdbfa
ja 0x140163e89
mov eax, dword [str._b9w]
mov edi, dword [0x1415c4114]
mov ecx, eax
xor ecx, edi
not ecx
and ecx, edi
add ecx, ecx
sub edi, ecx
add edi, eax
or edi, 0x7ef07bcb
imul rax, rdi, 0xf24e4f5
shr rax, 0x20
sub edi, eax
shr edi, 1
add edi, eax
shr edi, 0x1f
sub rsp, 0x20
mov edx, 0xe0
xor ecx, ecx
call fcn.1401b5e70
add rsp, 0x20
cmp edi, 0x8945930
jne 0x140163e9f
sub rsp, 0x20
mov edx, 0xe0
xor ecx, ecx
call fcn.1401b5e70
add rsp, 0x20
jmp 0x140163e39
mov rsi, rax
nop word cs:[rax + rax]
mov eax, dword [0x1415c4118]
mov ecx, dword [0x1415c411c]
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
not ecx
or eax, 0x90810808
and ecx, 0x20248280
and eax, 0x96cb4d0b
or eax, ecx
xor eax, 0xb4f74e20
imul rax, rax, 0x27abe481
shr rax, 0x3b
cmp eax, 0xa4ba9dea
ja 0x140163eb0
test rsi, rsi
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp - 0x40]
je 0x140165b8a
mov eax, dword [0x1415c4120]
and eax, dword [0x1415c4124]
add eax, 0xc4234239
not eax
or eax, 0x256453a4
cmp eax, 0xef15c074
jbe 0x140163f65
mov rax, qword [r10 + 0x30]
mov qword [rsi + 0x30], rax
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmm2, xmmword [r10 + 0x20]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rax, qword [rbp + 0x38]
mov qword [rax], 4
mov r8, qword [rbp + 0x38]
nop dword [rax]
mov eax, dword [0x1415c4128]
add eax, dword [0x1415c412c]
mov ecx, eax
not ecx
and ecx, 0x804be8f8
mov edx, eax
and edx, 0x7fb41707
imul edx, ecx
mov ecx, eax
and ecx, 0x804be8f8
or eax, 0x804be8f8
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
and ecx, 0xdc10e19
mov edx, eax
and edx, 0x23ef1e0
imul edx, ecx
mov ecx, eax
and ecx, 0xdc10e18
or eax, 0xdc10e19
imul eax, ecx
add eax, edx
or eax, 0xf60c1163
mov rcx, qword [r10 + 0x30]
mov qword [rsi + 0x30], rcx
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmm2, xmmword [r10 + 0x20]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [r8], 4
cmp eax, 0x6e845130
jb 0x140163f70
mov eax, dword [0x1415c4130]
sub eax, dword [0x1415c4134]
imul rax, rax, 0x42ed8b
shr rax, 0x36
or eax, 0x8000d000
cmp eax, 0x7b5e7b0c
jae 0x14016402d
mov rax, qword [rbp + 0x38]
mov qword [rax + 8], rsi
mov r8, qword [rbp + 0x38]
nop word cs:[rax + rax]
mov eax, dword [0x1415c4138]
xor edx, edx
div dword [0x1415c413c]
or eax, 0x37f8e95
lea ecx, [rax + 0x43789300]
not ecx
or ecx, 0x7e94b28a
add eax, ecx
add eax, 0x43789301
mov qword [r8 + 8], rsi
cmp eax, 0x6f3d3e82
ja 0x140164040
mov qword [r8 + 0x10], 1
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movups xmm3, xmmword [r9 + 0x30]
mov rdx, qword [rbp - 0x50]
movups xmmword [rdx + 0x30], xmm3
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov edi, 1
mov r14d, 0xf852b77f
nop dword [rax]
sub rsp, 0x20
mov r15, qword [rbp - 0x20]
mov rcx, r15
call fcn.14014dc50
add rsp, 0x20
cmp byte [r15], 0xa
je 0x140164360
mov eax, dword [0x1415c4140]
or eax, dword [0x1415c4144]
imul eax, eax, 0x7a1d5668
imul rax, r14
shr rax, 0x3d
add eax, 0x3a6e1c19
cmp eax, 0x2970285a
jb 0x1401640ce
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
nop dword [rax + rax]
mov ecx, dword [0x1415c4148]
mov edx, dword [0x1415c414c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
or ecx, 0xbff9d5ee
mov edx, ecx
xor edx, 0xb35f43fb
and edx, ecx
cmp edx, 0xcb76724d
ja 0x140164100
cmp rdi, rax
jne 0x140164261
mov eax, dword [0x1415c4160]
mov ecx, dword [str.:_o]
add eax, ecx
add eax, 0x24a4212a
or eax, 0x1acde9aa
cmp eax, 0x114f4b60
je 0x140164347
mov r15, qword [rbp + 0x38]
nop dword [rax]
mov eax, dword [0x1415c4168]
mov ecx, dword [0x1415c416c]
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
mov r8d, 0x56eb93
sub r8d, eax
sub r8d, edx
add eax, edx
add eax, 0xffa9146c
and r8d, 0x3f8c8cc5
mov ecx, eax
and ecx, 0xc073733a
imul ecx, r8d
mov edx, eax
and edx, 0x3f8c8cc5
or eax, 0x3f8c8cc5
imul eax, edx
add eax, ecx
imul esi, eax, 0x51d68db5
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
call fcn.14021bcf0
add rsp, 0x20
cmp esi, 0x19aa2d20
je 0x140164180
mov rsi, qword [r15 + 8]
nop dword [rax + rax]
mov eax, dword [0x1415c4170]
xor edx, edx
div dword [0x1415c4174]
mov ecx, eax
and ecx, 0x16811aab
and eax, 0x6010882
xor ecx, 0x4f576c92
or ecx, eax
mov eax, ecx
not eax
and eax, 0x20a80b0d
mov edx, ecx
and edx, 0x5f5134b2
imul edx, eax
mov eax, ecx
and eax, 0x864a09
or ecx, 0x20ae4b0d
imul ecx, eax
add ecx, edx
cmp ecx, 0x2ad4b5e9
jb 0x140164210
mov eax, dword [0x1415c4150]
xor edx, edx
div dword [0x1415c4154]
imul eax, eax, 0x2c55821
mov ecx, eax
xor ecx, 0xa400a401
and ecx, eax
and ecx, 0xb410e58b
cmp ecx, 0x95bbcb6f
jbe 0x1401642cf
imul rax, rdi, 0x38
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rdx + 0x30]
mov qword [rsi + rax + 0x30], rcx
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movups xmmword [rsi + rax + 0x20], xmm2
movups xmmword [rsi + rax + 0x10], xmm1
movups xmmword [rsi + rax], xmm0
mov eax, edi
and eax, 1
mov rcx, rdi
xor rcx, 1
lea rax, [rcx + rax*2]
mov rcx, qword [rbp + 0x38]
mov qword [rcx + 0x10], rax
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp - 0x20]
nop word [rax + rax]
mov eax, dword [0x1415c4158]
mov ecx, eax
not ecx
or ecx, dword [0x1415c415c]
add eax, ecx
add eax, 0xa74461be
imul rcx, rax, 0x594ce3d3
shr rcx, 0x3d
imul rdx, rdi, 0x38
mov rax, qword [r9 + 0x30]
mov qword [rsi + rdx + 0x30], rax
lea rax, [rdi + 1]
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movups xmmword [rsi + rdx + 0x20], xmm2
movups xmmword [rsi + rdx + 0x10], xmm1
movups xmmword [rsi + rdx], xmm0
mov qword [r8 + 0x10], rax
cmp ecx, 0x775126ef
ja 0x1401642e0
mov rdi, rax
mov rdx, qword [rbp - 0x50]
jmp 0x1401640b0
sub rsp, 0x20
mov rcx, qword [rbp + 0x38]
mov rdx, rdi
call fcn.1402496e0
add rsp, 0x20
jmp 0x140164175
mov rdx, qword [rbp + 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x1415c4178]
sub eax, dword [0x1415c417c]
mov ecx, eax
xor ecx, 0x2cc683bc
and eax, 0x53397c43
add eax, eax
sub eax, ecx
imul eax, eax, 0x759ce748
add eax, 0xd6686888
cmp eax, 0x98672908
ja 0x140164370
mov rcx, qword [rbp + 0x38]
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
mov eax, dword [0x1415c4198]
and eax, dword [0x1415c419c]
imul eax, eax, 0x59b351c0
mov ecx, 0xb2621181
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0x34b04b32
cmp ecx, 0x76c2f99a
jbe 0x1401643f5
sub rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rdx, rbx
mov r8, r12
call fcn.14014be50
add rsp, 0x20
mov rdi, qword [rbp - 0x10]
nop dword [rax]
mov eax, dword [0x1415c41a0]
and eax, dword [0x1415c41a4]
mov ecx, eax
not ecx
and ecx, 0xa1cdc420
mov edx, eax
and edx, 0x5e323bdf
imul edx, ecx
mov ecx, eax
and ecx, 0xa1cdc420
or eax, 0xa1cdc420
imul eax, ecx
add eax, edx
imul esi, eax, 0xc096e4e5
sub rsp, 0x20
mov rcx, rdi
mov rdx, rbx
mov r8, r12
call fcn.14021bd10
add rsp, 0x20
cmp esi, 0xf25502ac
je 0x140164400
movzx edx, byte [rdi]
mov rcx, qword [rdi + 0x10]
mov r8, qword [rdi + 0x20]
cmp dl, 3
jge 0x140164544
test dl, dl
jle 0x140164585
mov eax, 6
cmp dl, 2
jge 0x140164606
mov eax, ecx
and eax, 8
or rcx, 8
add rcx, rax
mov eax, dword [0x1415c41b0]
xor edx, edx
div dword [0x1415c41b4]
mov eax, dword [0x1415c41b8]
mov edx, dword [0x1415c41bc]
xor edx, eax
not edx
and edx, eax
imul eax, edx, 0xefe941d
and eax, 0x61981080
cmp eax, 0xaa09fc9
jb 0x14016449b
mov eax, 0xed16db13
lea rdx, [r8 + 1]
mov r9d, dword [0x1415c41c0]
xor r9d, dword [0x1415c41c4]
mov r10d, r9d
not r10d
and r10d, 0xc9580fb4
mov r11d, r9d
and r11d, 0x36a7f04b
imul r11d, r10d
mov r10d, r9d
and r10d, 0xc9580fb4
or r9d, 0xc9580fb4
imul r9d, r10d
add r9d, r11d
imul r9, rax
shr r9, 0x3d
mov r10d, r9d
and r10d, 1
add r10d, r10d
neg r10d
test r8, r8
lea r10d, [r9 + r10 - 0x3a2f43ff]
mov r9, rdx
cmove r9, r8
cmp r10d, 0x45760484
jbe 0x1401644c8
add rcx, r9
mov rax, rcx
jmp 0x140164606
cmp dl, 5
jge 0x14016456c
cmp dl, 4
jge 0x1401645d4
mov edx, ecx
and edx, 4
or rcx, 4
mov rax, rcx
add rax, rdx
mov cl, 1
test cl, cl
je 0x140164563
jmp 0x140164606
mov eax, 2
cmp dl, 6
jl 0x140164606
mov rcx, rbx
je 0x1401646d0
jmp 0x140164590
jne 0x140164590
add rcx, 4
mov rax, rcx
jmp 0x140164606
mov eax, dword [0x1415c41a8]
xor eax, dword [0x1415c41ac]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xee091e30
and ecx, 0x11f6e1cf
imul ecx, edx
mov edx, eax
and edx, 0x11f6e1cf
or eax, 0x11f6e1cf
imul eax, edx
add eax, ecx
add eax, 0xb8701fb4
cmp eax, 0xc20175eb
ja 0x140164590
jmp 0x140161af1
add rcx, 2
lea rax, [r8 + 1]
test r8, r8
cmove rax, r8
add rax, rcx
mov ecx, dword [0x1415c41c8]
or ecx, dword [0x1415c41cc]
or ecx, 0x18929a67
xor ecx, 0x51a5d031
cmp ecx, 0xb2b2128f
ja 0x1401645e6
cmp rax, r12
ja 0x140165af9
lea rcx, [rbx + rax]
nop word cs:[rax + rax]
mov edx, dword [0x1415c41e0]
add edx, dword [0x1415c41e4]
mov r8d, edx
not r8d
or r8d, 0x48600272
and edx, 0x10038005
and r8d, 0x6b78227a
or r8d, edx
mov edx, r8d
not edx
and r8d, 0x222ba00d
mov r9d, edx
and r9d, 0x95941100
imul r9d, r8d
mov r8d, edx
and r8d, 0x220bec8d
or edx, 0x222bec8d
imul edx, r8d
add edx, r9d
cmp edx, 0x4394946e
je 0x140164620
nop word cs:[rax + rax]
mov edx, dword [0x1415c41e8]
mov r8d, dword [0x1415c41ec]
not r8d
add edx, r8d
add edx, 0x4dde1ecb
not edx
or edx, 0x88e792f4
cmp edx, 0x25cfac77
je 0x140164690
cmp rax, r12
jne 0x1401646d0
xor eax, eax
jmp 0x14016473d
mov eax, dword [0x1415c41f0]
imul eax, dword [0x1415c41f4]
mov edx, eax
not edx
and edx, 0x17641205
mov r8d, eax
and r8d, 0xe89bedfa
imul r8d, edx
mov edx, eax
and edx, 0x17641205
or eax, 0x17641205
imul eax, edx
add eax, r8d
mov edx, eax
and edx, 0x15437460
xor eax, 0x15437460
lea r8d, [rax + rdx*2]
not r8d
or r8d, 0x930eb0
movzx edx, byte [rcx]
cmp dl, 0x2f
sete al
cmp dl, 0x5c
sete dl
cmp r8d, 0x10e9f25d
jb 0x1401646d0
or al, dl
mov r8, qword [rbp - 0x10]
mov rcx, qword [r8 + 0x20]
mov rdx, qword [rbp - 0x60]
mov qword [rdx + 0x30], rcx
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [rdx + 0x20], xmm1
movups xmmword [rdx + 0x10], xmm0
mov qword [rdx], rbx
mov qword [rdx + 8], r12
mov word [rdx + 0x38], 0x200
mov byte [rdx + 0x3a], al
mov rbx, qword [rbp - 0x58]
mov rsi, rbx
inc rsi
xor edi, edi
nop word [rax + rax]
sub rsp, 0x20
mov rcx, rbx
mov rdx, qword [rbp - 0x60]
call fcn.14014dc50
add rsp, 0x20
mov eax, dword [0x1415c42d0]
xor edx, edx
div dword [0x1415c42d4]
mov eax, dword [0x1415c42d8]
xor edx, edx
div dword [0x1415c42dc]
add eax, 0xd11e3a29
imul rax, rax, 0xb3d00dd
shr rax, 0x3a
mov ecx, eax
not ecx
mov edx, eax
and edx, 1
and ecx, 0xdb39b38e
imul ecx, edx
mov edx, eax
and edx, 0xfffffffe
or eax, 0xdb39b38e
imul eax, edx
add eax, ecx
cmp eax, 0xef8e027d
ja 0x1401647a2
movzx ebx, byte [rbx]
cmp bl, 0xa
je 0x140164df1
mov r9, qword [rbp + 0x28]
mov eax, dword [0x1415c4310]
xor edx, edx
div dword [0x1415c4314]
imul rax, rax, 0x2237087
shr rax, 0x38
mov ecx, eax
not ecx
or eax, 0x204404
and ecx, 0x9049269
and eax, 0x204406
or eax, ecx
cmp eax, 0xc14738c4
je 0x1401647f8
lea eax, [rbx - 6]
movzx eax, al
nop word cs:[rax + rax]
mov ecx, dword [0x1415c4318]
xor ecx, dword [0x1415c431c]
mov edx, ecx
and edx, 0x4e9ef5a7
add edx, edx
neg edx
add ecx, edx
add ecx, 0x5c32d33f
imul rcx, rcx, 0x6a5afad3
shr rcx, 0x3e
cmp ecx, 0x2a3eefd8
ja 0x140164840
nop word cs:[rax + rax]
mov ecx, dword [0x1415c4320]
mov edx, dword [0x1415c4324]
add ecx, edx
add ecx, 0xccad42b3
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x19da8adc
and edx, 0xe6257523
imul edx, r8d
mov r8d, ecx
and r8d, 0xe6257523
or ecx, 0xe6257523
imul ecx, r8d
add ecx, edx
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x4b67208a
and edx, 0xb498df75
imul edx, r8d
mov r8d, ecx
and r8d, 0xb498df75
or ecx, 0xb498df75
imul ecx, r8d
add ecx, edx
lea rdx, [rax + 1]
cmp al, 4
cmovae rdx, rdi
cmp ecx, 0x226732ef
jb 0x140164880
cmp rdx, 2
jge 0x140164ae0
cmp edx, 1
jne 0x140164bc6
mov eax, dword [0x1415c4460]
xor edx, edx
div dword [0x1415c4464]
add eax, 0x4baf06ff
not eax
or eax, 0x4f7a11b3
and eax, 0xdffeb5b3
cmp eax, 0xf64a0510
jne 0x140164950
xor eax, eax
cmp qword [r9 + 0x10], 0
setne al
mov qword [r9 + 0x10], rax
nop dword [rax]
mov eax, dword [0x1415c4468]
mov ecx, dword [0x1415c446c]
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, 0x3c4ce10a
add eax, 0x7d262078
xor eax, 0x7f340702
mov r14, qword [r9 + 0x10]
xor r15d, r15d
test r14, r14
setne r15b
mov qword [r9 + 0x10], r15
cmp eax, 0xb026379a
ja 0x140164950
cmp qword [r9], r15
jne 0x1401649e4
sub rsp, 0x20
mov rcx, r9
call fcn.140165e10
mov r9, qword [rbp + 0x28]
add rsp, 0x20
nop
mov eax, dword [0x1415c4478]
xor edx, edx
div dword [0x1415c447c]
or eax, 0x233aa2d2
add eax, 0xb1e60b99
or eax, 0x91c458a0
cmp eax, 0xe1128354
ja 0x1401649c0
mov rax, qword [r9 + 8]
imul rcx, r15, 0x38
mov byte [rax + rcx], bl
mov rdx, qword [rsi + 0x2f]
mov qword [rax + rcx + 0x30], rdx
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmmword [rax + rcx + 0x21], xmm2
movups xmmword [rax + rcx + 0x11], xmm1
movups xmmword [rax + rcx + 1], xmm0
mov eax, dword [0x1415c4480]
mov ecx, dword [0x1415c4484]
mov edx, eax
not edx
and eax, ecx
not ecx
or ecx, edx
not ecx
or ecx, eax
mov eax, ecx
and eax, 0x4e86758
add eax, eax
neg eax
add eax, ecx
add eax, 0x84e86758
and eax, 0xb1ea9745
xor eax, 0x4e873195
cmp eax, 0x27cd9224
jae 0x140164a60
cmp r14, 1
mov eax, 1
sbb rax, 0xffffffffffffffff
mov qword [r9 + 0x10], rax
mov eax, dword [0x1415c4488]
xor edx, edx
div dword [0x1415c448c]
imul rcx, rax, 0xe487f9b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
or eax, 0xa3f72701
add eax, 0xf76f5fa9
cmp r14, 1
mov ecx, 1
sbb rcx, 0xffffffffffffffff
mov qword [r9 + 0x10], rcx
cmp eax, 0xc1da60b4
ja 0x140164a60
nop word cs:[rax + rax]
mov eax, dword [0x1415c4490]
sub eax, dword [0x1415c4494]
mov ecx, eax
xor ecx, 0xf9761d3d
and ecx, eax
xor ecx, 0x8af79b9f
imul eax, ecx, 0xfda4bc11
cmp eax, 0x5abd9337
je 0x140164ab0
jmp 0x140164da4
jle 0x140164da4
cmp edx, 3
jne 0x140164bc6
mov rcx, qword [r9 + 0x10]
sub rcx, 1
jb 0x140164da4
mov eax, dword [0x1415c4498]
xor edx, edx
div dword [0x1415c449c]
nop dword [rax + rax]
mov eax, dword [0x1415c44a0]
xor edx, edx
div dword [0x1415c44a4]
or eax, 0x587a789e
add eax, 0x69077638
cmp eax, 0x6d65c61f
jb 0x140164b10
imul rax, rcx, 0x38
add rax, qword [r9 + 8]
cmp byte [rax], 9
jne 0x140164da4
mov qword [r9 + 0x10], rcx
nop word cs:[rax + rax]
mov eax, dword [0x1415c44a8]
mov ecx, dword [0x1415c44ac]
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
not ecx
and ecx, 0x136e2e30
mov edx, eax
and edx, 0xec91d1cf
imul edx, ecx
mov ecx, eax
and ecx, 0x136e2e30
or eax, 0x136e2e30
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
and ecx, 0xe6e55c97
xor ecx, 0xbec1f42b
or eax, 0xbec1f42b
and eax, ecx
cmp eax, 0x9bb7d9cd
jbe 0x140164b50
jmp 0x140164da4
mov r14, qword [r9 + 0x10]
mov eax, dword [0x1415c4458]
xor edx, edx
div dword [0x1415c445c]
test dil, dil
jne 0x140164bd8
cmp r14, qword [r9]
jne 0x140164cb3
mov eax, dword [0x1415c44b0]
mov ecx, dword [0x1415c44b4]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
add ecx, 0x2dce019d
or ecx, 0x35f78ae4
mov eax, ecx
not eax
or eax, 0x23382309
add eax, ecx
inc eax
cmp eax, 0xec6df72c
jbe 0x140164c40
sub rsp, 0x20
mov rcx, r9
call fcn.14021bd70
mov r9, qword [rbp + 0x28]
add rsp, 0x20
nop word cs:[rax + rax]
mov r15d, dword [0x1415c44b8]
or r15d, dword [0x1415c44bc]
or r15d, 0xa241019a
add r15d, 0xe0a6c676
and r15d, 0x995dfe35
sub rsp, 0x20
mov rcx, r9
call fcn.140165e10
mov r9, qword [rbp + 0x28]
add rsp, 0x20
cmp r15d, 0xe127fb3b
je 0x140164c40
mov eax, dword [0x1415c44c0]
mov ecx, eax
not ecx
or ecx, dword [0x1415c44c4]
add eax, ecx
inc eax
shr eax, 1
imul rax, rax, 0x4f287bed
shr rax, 0x3d
imul eax, eax, 0x9c9267e5
xor eax, 0x6c40e53f
cmp eax, 0xfe0e282a
ja 0x140164c80
mov eax, dword [0x1415c44c8]
and eax, dword [0x1415c44cc]
add eax, 0x26dec207
or eax, 0x92bcff6b
cmp eax, 0x124e660b
jb 0x140164cb3
imul rax, r14, 0x38
add rax, qword [r9 + 8]
mov ecx, dword [0x1415c44d4]
not ecx
add ecx, dword [0x1415c44d0]
imul ecx, ecx, 0x8f892cb8
add ecx, 0x3cd0bac3
imul rcx, rcx, 0x515f09e1
shr rcx, 0x3e
cmp ecx, 0xb39a454c
je 0x140164d77
nop word cs:[rax + rax]
mov edx, dword [0x1415c44d8]
mov ecx, dword [0x1415c44dc]
mov r8d, edx
xor r8d, ecx
not r8d
and r8d, ecx
add r8d, r8d
sub ecx, r8d
add ecx, edx
mov edx, ecx
and edx, 0x3d266d2
add edx, edx
sub ecx, edx
add ecx, 0x93d266d2
or ecx, 0xe9e5c968
xor ecx, 0x423d3112
mov byte [rax], bl
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmmword [rax + 1], xmm0
movups xmmword [rax + 0x11], xmm1
movups xmmword [rax + 0x21], xmm2
mov rdx, qword [rsi + 0x2f]
mov qword [rax + 0x30], rdx
cmp ecx, 0x18618c9e
jae 0x140164d9d
mov byte [rax], bl
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmmword [rax + 1], xmm0
movups xmmword [rax + 0x11], xmm1
movups xmmword [rax + 0x21], xmm2
mov rcx, qword [rsi + 0x2f]
mov qword [rax + 0x30], rcx
jmp 0x140164d10
inc r14
mov qword [r9 + 0x10], r14
mov rbx, qword [rbp - 0x58]
nop dword [rax + rax]
mov eax, dword [0x1415c4470]
xor eax, dword [0x1415c4474]
mov ecx, eax
not ecx
and ecx, 0xdf6fd8e7
and eax, 0x20902718
sub eax, ecx
or eax, 0x1b29c23c
mov ecx, eax
and ecx, 0x377df4d8
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xb77df4d8
cmp eax, 0x52617154
jbe 0x140164db0
jmp 0x140164780
mov eax, dword [0x1415c42e0]
sub eax, dword [0x1415c42e4]
mov ecx, eax
and ecx, 0x73b75fd5
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x73b75fd5
mov ecx, 0x908a293b
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xaf57b168
mov r8, qword [rbp + 0x28]
jbe 0x140164e31
mov qword [r13], 0
mov rbx, qword [rbp + 8]
nop word cs:[rax + rax]
mov eax, dword [0x1415c42e8]
imul eax, dword [0x1415c42ec]
mov ecx, eax
xor ecx, 0x4d10310
or eax, 0x4028f0c8
and eax, ecx
and eax, 0x44f9f3d8
add eax, 0xed5a6e9e
mov qword [r13], 0
cmp eax, 0x918c92f4
ja 0x140164e40
mov eax, dword [0x1415c42f0]
mov ecx, dword [0x1415c42f4]
add eax, ecx
add eax, 0x2aaac27a
mov ecx, eax
not ecx
and ecx, 0x24ece558
mov edx, eax
and edx, 0xdb131aa7
imul edx, ecx
mov ecx, eax
and ecx, 0x24ece558
or eax, 0x24ece558
imul eax, ecx
add eax, edx
xor eax, 0x4e0dcac8
cmp eax, 0xc1a7e45
jae 0x140164ed0
mov qword [r13 + 8], 1
mov qword [r13 + 0x10], 0
mov byte [r13 + 0x18], 1
mov eax, dword [0x1415c42f8]
mov ecx, dword [str.c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
and eax, 0x7fffffff
xor eax, 0xda9d6549
add eax, 0xaa815c1b
or eax, 0xb1ebb5fe
mov qword [r13 + 8], 1
mov qword [r13 + 0x10], 0
mov byte [r13 + 0x18], 1
cmp eax, 0x31bb1980
jb 0x140164ed0
nop word cs:[rax + rax]
mov eax, dword [0x1415c4304]
add eax, dword [0x1415c4300]
xor eax, 0x21219807
mov ecx, eax
and ecx, 0x313ddc1f
and eax, 0x19440e
sub ecx, eax
add ecx, 0x81b462e
cmp ecx, 0xfaf5743a
ja 0x140164f20
mov rax, qword [r8]
mov qword [rbp + 0x10], rax
mov rax, qword [r8 + 8]
mov qword [rbp + 0x40], rax
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x140165870
imul rax, rax, 0x38
add rax, qword [rbp + 0x40]
mov qword [rbp], rax
mov rax, rbx
inc rax
mov qword [rbp - 0x30], rax
mov eax, dword [0x1415c4308]
mov ecx, dword [0x1415c430c]
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, 0xd70d90ca
add eax, 0x2ad7d49c
xor eax, 0xaca0339
cmp eax, 0x5f31bbfa
ja 0x140164f80
xor r13d, r13d
lea rdi, [0x14159eb18]
lea r15, [0x14159eb12]
xor r12d, r12d
mov rax, qword [rbp + 0x40]
movzx esi, byte [rax]
cmp sil, 0xa
je 0x140165870
lea rcx, [rax + 0x38]
mov qword [rbp - 8], rcx
mov ecx, dword [0x1415c4390]
mov edx, dword [0x1415c4394]
mov r8d, edx
and r8d, ecx
add ecx, edx
sub ecx, r8d
imul rcx, rcx, 0x19fcb5c7
shr rcx, 0x38
or ecx, 0xc849f1db
cmp ecx, 0xa41c1d00
jb 0x140164fee
inc rax
mov byte [rbx], sil
mov rcx, qword [rax + 0x2f]
mov rdx, qword [rbp - 0x30]
mov qword [rdx + 0x2f], rcx
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
test r12b, 1
je 0x1401652f0
mov eax, dword [0x1415c43c8]
mov ecx, dword [0x1415c43cc]
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
xor ecx, 0xcaaeb413
and eax, 0x35514bec
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
or ecx, 0x1d6292e6
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0xb54333b3
and eax, 0x4abccc4c
add eax, eax
sub eax, ecx
cmp eax, 0x3498b971
jae 0x1401650d0
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.14021bd50
add rsp, 0x20
nop word cs:[rax + rax]
mov r14d, dword [str.J_aJ_m_]
mov eax, dword [0x1415c43d4]
mov ecx, r14d
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, r14d
imul edx, ecx
mov ecx, r14d
and ecx, eax
or r14d, eax
imul r14d, ecx
add r14d, edx
mov eax, r14d
not eax
and eax, 0x54ecdaa1
mov ecx, r14d
and ecx, 0xab13255e
imul ecx, eax
mov eax, r14d
and eax, 0x54ecdaa1
or r14d, 0x54ecdaa1
imul r14d, eax
add r14d, ecx
xor r14d, 0x61d58279
sub rsp, 0x20
mov rcx, rbx
mov rdx, rdi
call fcn.14014f350
add rsp, 0x20
cmp r14d, 0x2922918d
jb 0x1401650d0
nop dword [rax]
mov edx, dword [0x1415c43d8]
mov ecx, dword [0x1415c43dc]
mov r8d, edx
xor r8d, ecx
not r8d
and r8d, ecx
add r8d, r8d
sub ecx, r8d
add ecx, edx
mov edx, ecx
xor edx, 0x7bcabc6
and ecx, 0xbffdffc7
or ecx, edx
mov edx, ecx
or edx, 0xbeed5401
mov r8d, ecx
not r8d
and r8d, 0x401280f4
mov r9d, edx
and r9d, 0x212d7b0a
imul r9d, r8d
and edx, 0xded284f5
or ecx, 0xfeffd4f5
imul ecx, edx
add ecx, r9d
cmp ecx, 0x971facf1
jb 0x140165150
test al, al
jne 0x1401652f0
mov eax, dword [0x1415c43e0]
mov ecx, dword [0x1415c43e4]
mov edx, eax
and edx, ecx
not eax
not ecx
or ecx, eax
not ecx
or ecx, edx
imul rax, rcx, 0x502cf76f
shr rax, 0x3e
imul eax, eax, 0xb1f2002b
mov ecx, 0x8aa05097
imul rax, rcx
shr rax, 0x3e
cmp eax, 0x99502abb
jne 0x14016521e
sub rsp, 0x20
mov r8d, 1
mov rcx, qword [rbp + 0x30]
mov rdx, r15
call fcn.140154ae0
add rsp, 0x20
mov rbx, qword [rbp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x1415c43e8]
mov r14d, dword [0x1415c43ec]
xor r14d, eax
not r14d
and r14d, eax
xor r14d, 0x4bc3be
add r14d, 0x53be23d6
or r14d, 0xea9666f4
sub rsp, 0x20
mov r8d, 1
mov rcx, rbx
mov rdx, r15
call fcn.140154ae0
add rsp, 0x20
cmp r14d, 0x34e1d2c2
jb 0x140165230
mov rbx, qword [rbp + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x1415c43f4]
mov eax, ecx
xor eax, ecx
not eax
and eax, dword [0x1415c43f0]
xor eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4fee184
and ecx, 0x7b011e7b
imul ecx, edx
mov edx, eax
and edx, 0x7b011e7b
or eax, 0x7b011e7b
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x497964b8
and eax, 0x49696030
add eax, eax
sub ecx, eax
add ecx, 0x7fedf032
cmp ecx, 0x651108ec
ja 0x140165290
nop word [rax + rax]
mov eax, dword [0x1415c43a0]
xor edx, edx
div dword [0x1415c43a4]
imul eax, eax, 0x1a804d2
add eax, 0xc57b131e
cmp eax, 0xef1121b4
ja 0x1401652f0
lea ecx, [rsi - 6]
mov r12, qword [rbx + 0x10]
movzx edx, cl
nop word [rax + rax]
mov eax, dword [0x1415c43a8]
add eax, dword [0x1415c43ac]
imul r8d, eax, 0xe29cb615
add r8d, 0x2bace65c
lea rax, [rdx + 1]
cmp cl, 4
cmovae rax, r13
cmp r8d, 0x11f2ddba
jb 0x140165320
cmp rax, 3
jge 0x1401653e9
mov r14d, 1
lea r15, [0x14159eb13]
cmp rax, 1
jg 0x14016543c
cmp eax, 1
jne 0x14016546d
mov eax, dword [0x1415c4408]
mov ecx, dword [0x1415c440c]
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
not ecx
mov edx, eax
and edx, 0xba5939f0
and ecx, 0x45a6c60f
imul ecx, edx
mov edx, eax
and edx, 0x45a6c60f
or eax, 0x45a6c60f
imul eax, edx
add eax, ecx
xor eax, 0x81184002
and eax, 0x915b602a
cmp eax, 0x6bc696d8
mov rbx, qword [rbp + 0x30]
jbe 0x1401657a6
jmp 0x140165808
jg 0x140165430
nop dword [rax + rax]
mov eax, dword [0x1415c43b0]
or eax, dword [0x1415c43b4]
add eax, 0xc36b7265
not eax
and eax, 0x2fa89d8b
mov ecx, eax
not ecx
or eax, 0x61087e4f
or ecx, 0x9ef781b0
and ecx, eax
cmp ecx, 0x8a7c102e
ja 0x1401653f0
mov r14d, 2
lea r15, [0x14159eb10]
jmp 0x14016543c
mov r15, qword [rbx + 8]
test r13b, r13b
jne 0x140165430
mov r14, r12
mov eax, dword [0x1415c43b8]
xor edx, edx
div dword [0x1415c43bc]
xor eax, 0x16090529
add eax, 0xe053df15
and eax, 0x1b248e1c
cmp eax, 0x16ebcb8a
mov rbx, qword [rbp + 0x30]
jbe 0x140165720
jmp 0x14016578b
mov rbx, qword [rbp + 8]
mov rdx, qword [rbx + 0x28]
mov r8, qword [rbx + 0x30]
sub rsp, 0x20
mov rcx, qword [rbp + 0x30]
call fcn.14021bd30
add rsp, 0x20
mov eax, dword [0x1415c43f8]
xor edx, edx
div dword [0x1415c43fc]
nop dword [rax + rax]
mov eax, dword [0x1415c4400]
xor edx, edx
div dword [0x1415c4404]
or eax, 0xd641340d
imul eax, eax, 0x5ef9d433
add eax, 0x34cec524
cmp eax, 0x5aff2e37
ja 0x1401654a0
mov rcx, qword [rbx + 0x20]
cmp sil, 3
jge 0x1401655a5
mov eax, 2
cmp sil, 1
jg 0x140165702
jne 0x1401656d3
mov eax, dword [0x1415c4420]
or eax, dword [0x1415c4424]
mov edx, eax
xor edx, 0x44002081
and edx, eax
mov eax, edx
and eax, 0x6488648d
mov r8d, eax
not r8d
mov r9d, edx
and r9d, 0x488408c
and r8d, 0x7372a511
imul r8d, r9d
and edx, 0x60002401
or eax, 0x7372a511
imul eax, edx
add eax, r8d
cmp eax, 0xe16f76c9
jb 0x1401654e8
add r12, 8
lea r8, [rcx + 1]
mov eax, dword [0x1415c4428]
xor edx, edx
div dword [0x1415c442c]
imul eax, eax, 0x841044fb
imul rdx, rax, 0x5c9f4c03
shr rdx, 0x3e
or edx, 0x916e55d4
test rcx, rcx
mov rax, r8
cmove rax, rcx
cmp edx, 0x48983378
jb 0x140165540
add r12, rax
mov eax, dword [0x1415c4430]
add eax, dword [0x1415c4434]
mov ecx, eax
not ecx
or ecx, 0x465cfe81
add eax, ecx
inc eax
or eax, 0x3fbf3dff
cmp eax, 0xcd492d5c
jae 0x14016557a
jmp 0x1401656ff
jg 0x14016564e
mov eax, dword [0x1415c4438]
mov ecx, dword [0x1415c443c]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
add ecx, 0x9a94b57e
imul rax, rcx, 0x54fe1f45
shr rax, 0x3e
not eax
and eax, 0xc3839ec7
cmp eax, 0x6cb7b4ae
jb 0x1401655ab
add r12, 4
mov eax, dword [0x1415c4440]
mov ecx, dword [0x1415c4444]
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
mov edx, eax
and edx, 0xbadcbcc1
and ecx, 0x4523433e
imul ecx, edx
mov edx, eax
and edx, 0x4523433e
or eax, 0x4523433e
imul eax, edx
add eax, ecx
xor eax, 0x9126c006
and eax, 0x9327c646
cmp eax, 0x6f4581e9
jbe 0x1401655e6
jmp 0x1401656ff
cmp sil, 5
jge 0x14016570e
add r12, 2
lea rax, [rcx + 1]
mov edx, dword [0x1415c4448]
and edx, dword [0x1415c444c]
add edx, 0x1dddddfc
mov r8d, edx
and r8d, 0xd49c987b
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, 0x40108049
and r9d, 0xb6ef7eb6
imul r9d, r10d
and edx, 0x948c1832
or r8d, 0xb6ef7eb6
imul r8d, edx
add r8d, r9d
test rcx, rcx
mov rdx, rax
cmove rdx, rcx
cmp r8d, 0x436280ec
ja 0x140165660
movabs rax, 0x6d839fb127ea1c58
sub r12, rax
add r12, rax
add r12, rdx
jmp 0x1401656ff
add r12, 4
mov eax, dword [0x1415c4418]
sub eax, dword [0x1415c441c]
or eax, 0xb8e168f5
add eax, 0x8473d1ee
imul rax, rax, 0x8b785e9
shr rax, 0x36
cmp eax, 0xb346e860
ja 0x1401656d7
mov rax, r12
test rax, rax
setne r12b
jmp 0x14016582a
xor r12d, r12d
jmp 0x14016582a
mov esi, dword [0x1415c43c0]
mov eax, dword [0x1415c43c4]
mov ecx, esi
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, esi
imul edx, ecx
mov ecx, esi
and ecx, eax
or esi, eax
imul esi, ecx
add esi, edx
mov eax, esi
xor eax, 0x49006000
xor esi, 0x802800ce
and eax, 0x4b01f231
and esi, 0xb4fe0dce
or esi, eax
xor esi, 0xa2a2f810
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.140154ae0
add rsp, 0x20
mov r12b, 1
cmp esi, 0x8147a80c
jae 0x14016582a
sub rsp, 0x20
mov rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.14021bd30
add rsp, 0x20
jmp 0x140165720
mov eax, dword [0x1415c4410]
xor r12d, r12d
xor edx, edx
div dword [0x1415c4414]
imul rsi, rax, 0x4a861185
shr rsi, 0x3d
mov eax, esi
and eax, 0xfffffffe
xor esi, 0x63090436
or esi, eax
imul rax, rsi, 0x1d47625d
shr rax, 0x20
sub esi, eax
shr esi, 1
add esi, eax
shr esi, 0x1f
sub rsp, 0x20
mov r8d, 1
mov rcx, rbx
lea rdx, [0x14159eb12]
call fcn.14021bd30
add rsp, 0x20
cmp esi, 0x51182d6f
jbe 0x14016582a
sub rsp, 0x20
mov r8d, 1
mov rcx, rbx
lea rdx, [0x14159eb12]
call fcn.140154ae0
add rsp, 0x20
jmp 0x1401657a6
mov rbx, qword [rbp + 8]
nop
mov eax, dword [0x1415c4450]
xor edx, edx
div dword [0x1415c4454]
add eax, 0x6fd78b7
or eax, 0x69cc32c3
cmp eax, 0x9d9a4028
ja 0x140165830
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rcx, qword [rbp]
lea r15, [0x14159eb12]
jne 0x140164fd9
nop word [rax + rax]
mov eax, dword [0x1415c4328]
mov ecx, dword [0x1415c432c]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x2808202f
and ecx, 0xd7f7dfd0
imul ecx, edx
mov edx, eax
and edx, 0xd7f7dfd0
or eax, 0xd7f7dfd0
imul eax, edx
add eax, ecx
add eax, 0x3ee936eb
cmp eax, 0xcc6196e
jb 0x140165870
cmp qword [rbp + 0x10], 0
mov r14, qword [rbp + 0x48]
mov r15, qword [rbp + 0x30]
mov r12, qword [rbp + 0x40]
je 0x1401659d0
mov eax, dword [0x1415c4330]
or eax, dword [0x1415c4334]
mov ecx, eax
not ecx
or ecx, 0x40b38c81
or eax, 0x2804000c
and eax, ecx
or eax, 0x97487372
add eax, 0x59a5b9a2
cmp eax, 0x43a83fac
jae 0x140165903
mov rax, qword [0x1415d3918]
mov eax, 0x9f94f7db
nop dword [rax + rax]
mov ecx, dword [0x1415c433c]
add ecx, dword [0x1415c4338]
imul rcx, rax
shr rcx, 0x3d
and ecx, 0xfffffffd
add ecx, 0xbc7cf6
mov rdi, qword [0x1415d3918]
cmp ecx, 0x79f14bb3
ja 0x140165910
xor eax, eax
test al, al
je 0x140165958
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
xor esi, esi
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, r12
call rbx
add rsp, 0x20
test sil, sil
jne 0x140165970
nop word [rax + rax]
mov eax, dword [0x1415c4340]
mov ecx, dword [0x1415c4344]
xor ecx, eax
not ecx
and ecx, eax
or ecx, 0xbf0678fb
imul eax, ecx, 0xf1e15b27
mov ecx, eax
xor ecx, 0x7d2e7fd0
and eax, 0x2d1802d
add eax, eax
sub eax, ecx
cmp eax, 0x797e3332
jb 0x140165990
nop word cs:[rax + rax]
mov eax, dword [0x1415c4348]
add eax, dword [0x1415c434c]
or eax, 0x9bb87cb
imul eax, eax, 0x71ad980
imul rcx, rax, 0x33b147e7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x2a61cefe
ja 0x1401659d0
mov rax, qword [r14]
nop word cs:[rax + rax]
mov ecx, dword [0x1415c4350]
mov edx, dword [0x1415c4354]
xor edx, ecx
not edx
and edx, ecx
add edx, 0x83e20fec
mov ecx, edx
and ecx, 0x2b06be6a
xor edx, 0xab06be6a
lea ecx, [rdx + rcx*2]
mov edx, ecx
not edx
and edx, 0xff37c374
and ecx, 0xc83c8b
sub ecx, edx
cmp ecx, 0xabb00f24
ja 0x140165a10
test rax, rax
je 0x140165ce2
nop dword [rax]
mov eax, dword [0x1415c4358]
xor edx, edx
div dword [0x1415c435c]
imul eax, eax, 0xf1ba5dfe
add eax, 0x75b8ae1e
cmp eax, 0x4ad9cef9
jb 0x140165a60
mov rsi, qword [r14 + 8]
mov eax, dword [0x1415c4360]
and eax, dword [0x1415c4364]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5769a272
and ecx, 0xa8965d8d
imul ecx, edx
mov edx, eax
and edx, 0xa8965d8d
or eax, 0xa8965d8d
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x36e25c53
mov edx, eax
and edx, 0xc91da3ac
imul edx, ecx
mov ecx, eax
and ecx, 0x36e25c53
or eax, 0x36e25c53
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0x75f74663
and ecx, eax
cmp ecx, 0x17a0e607
jae 0x140165c84
jmp 0x140165cc7
mov eax, dword [0x1415c41d0]
mov ecx, eax
not ecx
or ecx, dword [0x1415c41d4]
lea edx, [rax + rcx]
inc edx
add eax, ecx
mov ecx, edx
and ecx, 0xa653d5e2
xor edx, 0x59ac2a1d
add eax, edx
inc eax
sub eax, ecx
add eax, 0x69cc5150
imul rax, rax, 0x17009973
shr rax, 0x3c
cmp eax, 0x10aa590f
jne 0x140165b3d
ud2
mov ecx, dword [0x1415c41d8]
mov eax, dword [0x1415c41dc]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
add eax, 0x317f8f53
mov ecx, eax
and ecx, 0x6d326e1d
add ecx, ecx
sub eax, ecx
add eax, 0xed326e1d
mov ecx, eax
and ecx, 0x465fe33c
add ecx, ecx
sub eax, ecx
add eax, 0x465fe33c
ud2
mov eax, dword [0x1415c4180]
mov ecx, dword [0x1415c4184]
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
not ecx
mov edx, eax
and edx, 0x4c81d2af
and ecx, 0xb37e2d50
imul ecx, edx
mov edx, eax
and edx, 0xb37e2d50
or eax, 0xb37e2d50
imul eax, edx
add eax, ecx
imul eax, eax, 0x631c9b85
add eax, 0x7f63618c
cmp eax, 0x850e3179
jb 0x140165c35
mov eax, dword [0x1415c4188]
sub eax, dword [0x1415c418c]
add eax, 0xd6b3ac87
mov ecx, eax
not ecx
and ecx, 0xf5c8cbe3
mov edx, eax
and edx, 0xa37341c
imul edx, ecx
mov ecx, eax
and ecx, 0xf5c8cbe3
or eax, 0xf5c8cbe3
imul eax, ecx
add eax, edx
add eax, 0xd00eae6a
ud2
ud2
mov eax, dword [0x1415c4368]
xor edx, edx
div dword [0x1415c436c]
mov edi, eax
or edi, 0x1b487dff
add edi, 0x80625ef
xor edi, 0xcbfca3a5
mov rcx, qword [0x1415d3918]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call fcn.140219910
add rsp, 0x20
cmp edi, 0x81c8ddd5
jae 0x140165ce2
mov rcx, qword [0x1415d3918]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call fcn.140219910
add rsp, 0x20
jmp 0x140165c84
mov eax, dword [0x1415c4370]
sub eax, dword [0x1415c4374]
mov ecx, eax
and ecx, 0x1ef79bfe
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x9ef79bfe
imul rcx, rax, 0x2a34ebbb
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
add eax, 0x35e9c3b1
cmp eax, 0x4bbab8c1
jbe 0x140165d40
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x1415c4378]
mov ecx, dword [0x1415c437c]
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, 0x133cca22
add eax, 0xa59507ed
or eax, 0xa384bb53
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
cmp eax, 0xb880eab1
jb 0x140165d40
nop word cs:[rax + rax]
mov eax, dword [0x1415c4380]
imul eax, dword [0x1415c4384]
mov ecx, eax
xor ecx, 0xedec2fc7
and ecx, eax
add ecx, 0x131fcc4b
cmp ecx, 0x4c166ef4
ja 0x140165da0
nop word cs:[rax + rax]
mov eax, dword [0x1415c438c]
add eax, dword [0x1415c4388]
xor eax, 0x18426487
mov ecx, eax
and ecx, 0xaeb6eb0
or eax, 0xaeb6eb0
add eax, ecx
or eax, 0xf450d58b
cmp eax, 0xf698a266
jbe 0x140165dd0
jmp 0x140162cf0