Function at 0x1400165d0
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rsi, rcx
movabs r14, 0xcfbd2d3ae628b083
movabs rbp, 0xa2051f9026e2d817
movabs r12, 0x99e4755b9de5ba8c
movabs r13, 0x99e4755b1de64f05
mov rax, qword [0x140153be8]
xor ecx, ecx
xor edx, edx
sub rdx, qword [0x140153dd8]
xor rdx, r14
lea rdx, [rdx + rdx*8]
add rdx, 9
xor rdx, r14
mov eax, dword [rax + rdx + 1]
mov rdx, qword [0x140153d58]
mov r8, qword [0x140153f48]
xor r9d, r9d
sub r9, r8
xor r9, r14
imul r8, r9, 0x37
add r8, 0x37
xor r8, r14
sub ecx, dword [rdx + r8 + 1]
xor ecx, eax
imul edi, ecx, 0x7870cd5f
xor edi, eax
add edi, 0x878f32a1
mov rax, qword [rsi]
lea r11, [r13 + 0x4711d099]
cmp rax, qword [rsi + 0x10]
lea rax, [r12 - 0x3018e26]
mov rcx, r11
mov qword [rsp + 0x90], rax
cmove rcx, rax
mov qword [rsp + 0x80], rcx
lea rax, [rsi + 0x40]
mov qword [rsp + 0x50], rax
lea rcx, [r13 + 0x24a1a272]
lea r15, [r12 - 0x11363033]
lea rbx, [r13 + 0x23fb669c]
lea r10, [r13 + 0x2cf30cd]
lea rax, [r13 - 0x7e10760]
mov qword [rsp + 0x68], rax
lea rax, [r13 - 0x1068c1e2]
mov qword [rsp + 0x38], rax
lea rax, [r13 - 0x17536583]
mov qword [rsp + 0x60], rax
lea rax, [r13 - 0x23011da]
mov qword [rsp + 0x88], rax
lea rax, [r13 - 0x95255f8]
mov qword [rsp + 0x58], rax
lea rax, [r12 + 0x59f80e3d]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x4c], edi
jmp 0x140016720
mov rcx, rdx
cmp rcx, r15
jge 0x140016770
cmp rcx, rbx
jae 0x1400168b0
cmp rcx, r10
jae 0x140016957
cmp rcx, qword [rsp + 0x68]
jb 0x140016a59
lea rax, [r13 - 0x23011da]
cmp rcx, rax
jb 0x140016eea
cmp rcx, r13
jb 0x1400175ea
jne 0x140016720
jmp 0x140017f1b
lea rax, [r12 + 0x37874d47]
cmp rcx, rax
jge 0x140016910
cmp rcx, r12
jae 0x140016991
lea rax, [r12 - 0x8c02571]
cmp rcx, rax
jae 0x140016a88
lea rax, [r12 - 0xf755289]
cmp rcx, rax
jae 0x140016f22
lea rdx, [r12 - 0x11363033]
cmp rcx, rdx
jne 0x140016720
xor ecx, ecx
sub rcx, qword [0x140153e70]
mov rdx, qword [0x140153c80]
xor rcx, r14
lea r8, [rcx + rcx*8]
lea r8, [r8 + r8*2]
add rcx, r8
add rcx, 0x1c
xor rcx, r14
mov edx, dword [rdx + rcx + 1]
mov rcx, qword [0x140153c30]
xor r8d, r8d
sub r8, qword [0x140153e20]
xor r8, r14
lea r8, [r8 + r8*8]
lea r8, [r8*2 + 0x12]
xor r8, r14
xor r9d, r9d
sub r9d, dword [rcx + r8 + 1]
xor r9d, edx
imul ecx, r9d, 0x46c0dcff
xor ecx, edx
add ecx, 0xb93f2301
and ecx, dword [rsi + 0x80]
mov rdx, qword [0x140153bb0]
mov r8, qword [0x140153da0]
add r8, r8
neg r8
movabs r9, 0x9f7a5a75cc516106
xor r8, r9
add r8, 2
xor r8, r14
mov edx, dword [rdx + r8 + 1]
mov r8, qword [0x140153bf0]
mov r9, qword [0x140153de0]
xor r10d, r10d
sub r10, r9
xor r10, r14
lea r9, [r10 + r10*4]
lea r9, [r9*2 + 0xa]
xor r9, r14
xor r10d, r10d
sub r10d, dword [r8 + r9 + 1]
xor r10d, edx
imul r8d, r10d, 0xa98f5dd2
xor r8d, edx
add r8d, 0x5670a22e
cmp ecx, r8d
jne 0x140016e44
lea rax, [r12 + 0x56e7d212]
jmp 0x140016e44
lea rax, [r13 + 0x38176920]
cmp rcx, rax
jae 0x1400169c6
lea rax, [r13 + 0x2bd5b3d3]
cmp rcx, rax
jae 0x140016aca
lea rax, [r13 + 0x24a1a272]
cmp rcx, rax
jae 0x140016f46
cmp rcx, rbx
jne 0x140016720
cmp dword [rsp + 0x20], 0x5c
jne 0x1400178f2
lea rcx, [r12 + 0x5c33e341]
jmp 0x140016720
lea rdx, [r12 + 0x47c23447]
cmp rcx, rdx
jge 0x140016a09
lea rdx, [r12 + 0x39625655]
cmp rcx, rdx
jae 0x140016bd0
lea rdx, [r12 + 0x3841c2d3]
cmp rcx, rdx
jae 0x140016f6e
mov rdx, r13
cmp rcx, rax
je 0x14001671d
mov rdx, rcx
jmp 0x14001671d
lea rax, [r13 + 0xe881916]
cmp rcx, rax
jae 0x140016c16
lea rax, [r13 + 0x3523365]
cmp rcx, rax
jae 0x140016ffa
lea rdx, [r13 + 0x2cf30cd]
mov rax, r13
cmp rcx, rdx
je 0x140016989
mov rax, rcx
mov rcx, rax
jmp 0x140016720
lea rdx, [r12 + 0x19f0808f]
cmp rcx, rdx
jae 0x140016ca3
lea rax, [r12 + 0xd7332c2]
cmp rcx, rax
jae 0x14001702e
mov rax, r13
cmp rcx, r12
je 0x1400169be
mov rax, rcx
mov rcx, rax
jmp 0x140016720
lea rdx, [r13 + 0x4c7b6b73]
cmp rcx, rdx
jae 0x140016d44
cmp rcx, r11
jae 0x14001705f
lea rax, [r13 + 0x3d1fdb7b]
cmp rcx, rax
jae 0x140017604
lea rdx, [r13 + 0x38176920]
mov rax, r13
cmp rcx, rdx
je 0x140016a01
mov rax, rcx
mov rcx, rax
jmp 0x140016720
lea rax, [r12 + 0x56e7d212]
cmp rcx, rax
jge 0x140016e51
lea rax, [r12 + 0x4ba36af0]
cmp rcx, rax
jae 0x140017186
lea rax, [r12 + 0x49d5d21e]
cmp rcx, rax
jae 0x140017631
cmp rcx, rdx
jne 0x140016720
movsx eax, byte [rsi + 0x78]
mov dword [rsp + 0x24], eax
lea rcx, [r13 - 0x23011da]
jmp 0x140016720
cmp rcx, qword [rsp + 0x38]
jae 0x140017285
mov eax, edi
mov rdx, qword [rsp + 0x88]
cmp rcx, qword [rsp + 0x60]
je 0x140016a7c
mov eax, dword [rsp + 0x24]
mov rdx, rcx
mov dword [rsp + 0x24], eax
mov rcx, rdx
jmp 0x140016720
lea rdx, [r12 - 0x3209318]
cmp rcx, rdx
jae 0x1400172ad
lea rdx, [r12 - 0x39b3f6c]
cmp rcx, rdx
jae 0x14001764e
cmp rcx, rax
jne 0x140016720
cmp dword [rsp + 0x20], 0x7d
je 0x140017e0f
lea rcx, [r13 + 0x3011eea7]
jmp 0x140016720
lea rdx, [r13 + 0x3011eea7]
cmp rcx, rdx
jae 0x1400173a4
lea rdx, [r13 + 0x2d0bec32]
cmp rcx, rdx
jae 0x14001766c
cmp rcx, rax
jne 0x140016720
mov rax, qword [0x140153d48]
xor ecx, ecx
sub rcx, qword [0x140153f38]
xor rcx, r14
imul rcx, rcx, 0x35
add rcx, 0x35
xor rcx, r14
mov ecx, dword [rax + rcx + 1]
xor eax, eax
sub rax, qword [0x140153ef8]
mov rdx, qword [0x140153d08]
xor rax, r14
lea rax, [rax + rax*8]
lea rax, [rax + rax*4]
add rax, 0x2d
xor rax, r14
xor r8d, r8d
sub r8d, dword [rdx + rax + 1]
xor r8d, ecx
imul eax, r8d, 0x34d18e5
xor eax, ecx
add eax, 0xfcb2e71b
and eax, dword [rsi + 0x80]
mov rcx, qword [0x140153c50]
xor edx, edx
sub rdx, qword [0x140153e40]
xor rdx, r14
lea r8, [rdx + rdx*4]
lea r8, [rdx + r8*4]
add rdx, r8
add rdx, 0x16
xor rdx, r14
mov ecx, dword [rcx + rdx + 1]
mov rdx, qword [0x140153cb8]
mov r8, qword [0x140153ea8]
xor r9d, r9d
sub r9, r8
xor r9, r14
imul r8, r9, 0x23
add r8, 0x23
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0xf28a5657
xor edx, ecx
add edx, 0xd75a9a9
cmp eax, edx
je 0x140017e1c
lea rcx, [r12 + 0x19f0808f]
jmp 0x140016720
lea rax, [r12 + 0x3d9d1bfd]
cmp rcx, rax
jae 0x1400173c7
lea rax, [r12 + 0x3cbe9935]
cmp rcx, rax
jae 0x14001768b
cmp rcx, rdx
jne 0x140016720
mov rcx, r15
cmp dword [rsp + 0x20], 0x7d
jl 0x140016720
lea rcx, [r12 - 0x8c02571]
jmp 0x140016720
lea rdx, [r13 + 0x1175680b]
cmp rcx, rdx
jae 0x1400174ca
lea rdx, [r13 + 0x1000de04]
cmp rcx, rdx
jae 0x140017716
cmp rcx, rax
jne 0x140016720
mov rax, qword [0x140153ba0]
movabs rcx, 0xcfbd2d3ae628b084
mov eax, dword [rax + rcx]
mov rcx, qword [0x140153cc0]
mov rdx, qword [0x140153eb0]
xor r8d, r8d
sub r8, rdx
xor r8, r14
lea rdx, [r8 + r8*8]
lea rdx, [rdx*4 + 0x24]
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0xf6fde1fb
xor ecx, eax
add ecx, 0x9021e05
mov dword [rsi + 0x7c], ecx
lea rcx, [r12 + 0x43e16b02]
jmp 0x140016720
lea r8, [r12 + 0x2b6de576]
cmp rcx, r8
jae 0x1400174fb
lea r8, [r12 + 0x1b71004f]
cmp rcx, r8
jae 0x140017726
cmp rcx, rdx
jne 0x140016720
mov rcx, qword [0x140153bb8]
xor edx, edx
sub rdx, qword [0x140153da8]
xor rdx, r14
lea rdx, [rdx + rdx*2]
add rdx, 3
xor rdx, r14
mov ecx, dword [rcx + rdx + 1]
mov rdx, qword [0x140153c18]
mov r8, qword [0x140153e08]
xor r9d, r9d
sub r9, r8
xor r9, r14
lea r8, [r9 + r9*4]
lea r8, [r8 + r8*2]
add r8, 0xf
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0x9bd935dc
xor edx, ecx
add edx, 0x6426ca24
cmp dword [rsi + 0x1c], edx
jne 0x140016d3c
lea rax, [r13 + 0x5b5c8558]
mov rcx, rax
jmp 0x140016720
lea r8, [r13 + 0x5b5c8558]
cmp rcx, r8
jae 0x14001752c
lea r8, [r13 + 0x523e6b43]
cmp rcx, r8
jae 0x140017743
cmp rcx, rdx
jne 0x140016720
xor ecx, ecx
sub rcx, qword [0x140153f00]
mov rdx, qword [0x140153d10]
xor rcx, r14
imul rcx, rcx, 0x2e
add rcx, 0x2e
xor rcx, r14
xor r8d, r8d
sub r8, qword [0x140153f40]
mov r9, qword [0x140153d50]
xor r8, r14
imul r8, r8, 0x36
add r8, 0x36
xor r8, r14
xor r10d, r10d
sub r10d, dword [r9 + r8 + 1]
mov edx, dword [rdx + rcx + 1]
xor r10d, edx
imul ecx, r10d, 0xbde566ee
xor ecx, edx
add ecx, 0x421a9912
and ecx, dword [rsi + 0x80]
mov rdx, qword [0x140153c38]
xor r8d, r8d
sub r8, qword [0x140153e28]
xor r8, r14
lea r9, [r8 + r8*8]
lea r8, [r8 + r9*2]
add r8, 0x13
xor r8, r14
mov edx, dword [rdx + r8 + 1]
mov r8, qword [0x140153c00]
mov r9, qword [0x140153df0]
xor r10d, r10d
sub r10, r9
xor r10, r14
lea r9, [r10 + r10*2]
lea r9, [r9*4 + 0xc]
xor r9, r14
xor r10d, r10d
sub r10d, dword [r8 + r9 + 1]
xor r10d, edx
imul r8d, r10d, 0x8aa23fa6
xor r8d, edx
add r8d, 0x755dc05a
cmp ecx, r8d
jne 0x140016e44
lea rax, [r13 + 0xdb4969a]
mov rcx, rax
mov r10, qword [rsp + 0x28]
jmp 0x140016720
lea rdx, [r12 + 0x59f80e3d]
cmp rcx, rdx
jge 0x1400175bb
lea rdx, [r12 + 0x58fe678d]
cmp rcx, rdx
jae 0x1400177c3
cmp rcx, rax
jne 0x140016720
mov rax, qword [0x140153cf0]
xor ecx, ecx
sub rcx, qword [0x140153ee0]
xor rcx, r14
imul rcx, rcx, 0x2a
add rcx, 0x2a
xor rcx, r14
mov eax, dword [rax + rcx + 1]
mov rcx, qword [0x140153bc8]
mov rdx, qword [0x140153db8]
xor r8d, r8d
sub r8, rdx
xor r8, r14
lea rdx, [r8 + r8*4]
add rdx, 5
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0x2f24ccd5
xor ecx, eax
add ecx, 0xd0db332b
mov dword [rsi + 0x7c], ecx
lea rcx, [r12 - 0xf755289]
jmp 0x140016720
lea rax, [r13 - 0x669f90d]
cmp rcx, rax
jae 0x14001783a
lea rax, [r13 - 0x7e10760]
cmp rcx, rax
jne 0x140016720
cmp dword [rsp + 0x20], 0x7b
jl 0x140017e29
lea rcx, [r12 - 0x39b3f6c]
jmp 0x140016720
lea rdx, [r12 - 0xd7b3e78]
cmp rcx, rdx
jae 0x1400178b4
mov rdx, r13
cmp rcx, rax
je 0x140016f3e
mov rdx, rcx
mov rcx, rdx
jmp 0x140016720
lea rdx, [r13 + 0x25654add]
cmp rcx, rdx
jae 0x1400178d1
mov rdx, qword [rsp + 0x80]
cmp rcx, rax
je 0x140016f66
mov rdx, rcx
mov rcx, rdx
jmp 0x140016720
lea rax, [r12 + 0x386aa7aa]
cmp rcx, rax
jae 0x1400178e1
cmp rcx, rdx
jne 0x140016720
mov rax, qword [0x140153ba8]
mov rcx, qword [0x140153d98]
xor edx, edx
sub rdx, rcx
xor rdx, r14
inc rdx
xor rdx, r14
mov eax, dword [rax + rdx + 1]
mov rcx, qword [0x140153be0]
mov rdx, qword [0x140153dd0]
shl rdx, 3
neg rdx
movabs r8, 0x7de969d731458418
xor rdx, r8
add rdx, 8
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0xf83d9351
xor ecx, eax
add ecx, 0x7c26caf
mov dword [rsi + 0x7c], ecx
lea rcx, [r13 + 0x1000de04]
jmp 0x140016720
lea rdx, [r13 + 0xdb4969a]
cmp rcx, rdx
jae 0x1400178fe
cmp rcx, rax
jne 0x140016720
mov rcx, rbx
cmp dword [rsp + 0x20], 0x5e
jl 0x140016720
lea rcx, [r12 - 0xd7b3e78]
jmp 0x140016720
lea rdx, [r12 + 0x1134283f]
cmp rcx, rdx
jae 0x140017971
cmp rcx, rax
jne 0x140016720
cmp dword [rsp + 0x20], 0x5c
jl 0x140017e36
lea rcx, [r13 + 0x3523365]
jmp 0x140016720
lea rax, [r13 + 0x48e07abb]
cmp rcx, rax
jae 0x140017a4f
cmp rcx, r11
jne 0x140016720
mov rax, qword [rsi]
mov rcx, rsi
movsx esi, byte [rax]
mov byte [rcx + 0x78], sil
mov rax, qword [0x140153d38]
xor ecx, ecx
sub rcx, qword [0x140153f28]
xor rcx, r14
imul rcx, rcx, 0x33
add rcx, 0x33
xor rcx, r14
mov rax, qword [rax + rcx + 1]
movabs rcx, 0xa2051f9026e2d818
add rax, rcx
xor ecx, ecx
sub rcx, qword [0x140153e80]
mov rdx, qword [0x140153c90]
xor rcx, r14
lea r8, [rcx + rcx]
shl rcx, 5
sub rcx, r8
add rcx, 0x1e
xor rcx, r14
add rdx, rcx
add rdx, 0x7a7
lea rcx, [0x14017b270]
call rax
mov rax, qword [0x140153d38]
xor ecx, ecx
sub rcx, qword [0x140153f28]
xor rcx, r14
imul rcx, rcx, 0x33
add rcx, 0x33
xor rcx, r14
mov rax, qword [rax + rcx + 0x11]
mov rcx, qword [0x140153ce0]
mov rdx, qword [0x140153ed0]
xor r8d, r8d
sub r8, rdx
xor r8, r14
lea rdx, [r8 + r8*4]
lea rdx, [rdx*8 + 0x28]
xor rdx, r14
mov rcx, qword [rcx + rdx + 0x11]
add rcx, rcx
neg rcx
movabs rdx, 0x440a3f204dc5b02e
xor rcx, rdx
add rcx, 2
xor rcx, rbp
add rax, rcx
inc rax
lea rcx, [0x14017b270]
mov edx, esi
call rax
mov rcx, qword [rsp + 0x60]
test rax, rax
je 0x140017178
lea rcx, [r12 + 0x47c23447]
mov rsi, qword [rsp + 0x78]
mov edi, dword [rsp + 0x4c]
jmp 0x140017f0c
lea rdx, [r12 + 0x5024678c]
cmp rcx, rdx
jae 0x140017acf
cmp rcx, rax
jne 0x140016720
mov rax, qword [0x140153bc0]
mov rcx, qword [0x140153db0]
shl rcx, 2
neg rcx
movabs rdx, 0x3ef4b4eb98a2c20c
xor rcx, rdx
add rcx, 4
xor rcx, r14
xor edx, edx
sub rdx, qword [0x140153ec0]
mov r8, qword [0x140153cd0]
xor rdx, r14
imul rdx, rdx, 0x26
add rdx, 0x26
xor rdx, r14
xor r9d, r9d
sub r9d, dword [r8 + rdx + 1]
mov ecx, dword [rax + rcx + 1]
xor r9d, ecx
imul eax, r9d, 0x21bd065f
xor eax, ecx
add eax, 0xde42f9a1
and eax, dword [rsi + 0x80]
mov rcx, qword [0x140153c08]
xor edx, edx
sub rdx, qword [0x140153df8]
xor rdx, r14
lea r8, [rdx + rdx*2]
lea rdx, [rdx + r8*4]
add rdx, 0xd
xor rdx, r14
mov ecx, dword [rcx + rdx + 1]
mov rdx, qword [0x140153c68]
mov r8, qword [0x140153e58]
xor r9d, r9d
sub r9, r8
xor r9, r14
lea r8, [r9 + r9*4]
lea r8, [r8 + r8*4]
add r8, 0x19
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0x9304ad90
xor edx, ecx
add edx, 0x6cfb5270
cmp eax, edx
je 0x140017e43
lea rcx, [r12 + 0x43e16b02]
jmp 0x140016720
cmp rcx, qword [rsp + 0x58]
jae 0x140017b4e
cmp rcx, qword [rsp + 0x38]
jne 0x140016720
movsx eax, byte [rsi + 0x78]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x70]
jmp 0x140016720
cmp rcx, qword [rsp + 0x90]
jae 0x140017b5e
cmp rcx, rdx
jne 0x140016720
xor eax, eax
sub rax, qword [0x140153f70]
mov rcx, qword [0x140153d80]
xor rax, r14
imul rax, rax, 0x3c
add rax, 0x3c
xor rax, r14
mov ecx, dword [rcx + rax + 1]
mov rax, qword [0x140153d20]
xor edx, edx
sub rdx, qword [0x140153f10]
xor rdx, r14
lea rdx, [rdx + rdx*2]
shl rdx, 4
add rdx, 0x30
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rax + rdx + 1]
xor r8d, ecx
imul eax, r8d, 0xad699a9d
xor eax, ecx
add eax, 0x52966563
and eax, dword [rsi + 0x80]
mov rcx, qword [str.__Yn]
mov rdx, qword [0x140153ef0]
xor r8d, r8d
sub r8, rdx
xor r8, r14
imul rdx, r8, 0x2c
add rdx, 0x2c
xor rdx, r14
mov ecx, dword [rcx + rdx + 1]
mov rdx, qword [0x140153c20]
mov r8, qword [0x140153e10]
shl r8, 4
neg r8
movabs r9, 0xfbd2d3ae628b0830
xor r8, r9
add r8, 0x10
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0x6d344fc3
xor edx, ecx
add edx, 0x92cbb03d
cmp eax, edx
je 0x140017e4f
lea rcx, [r13 + 0x48e07abb]
jmp 0x140016720
lea rax, [r13 + 0x35253f58]
cmp rcx, rax
jae 0x140017c31
mov rax, r13
cmp rcx, rdx
je 0x1400173bf
mov rax, rcx
mov rcx, rax
jmp 0x140016720
lea rdx, [r12 + 0x43e16b02]
cmp rcx, rdx
jae 0x140017d24
cmp rcx, rax
jne 0x140016720
mov rax, qword [0x140153ca0]
mov rcx, qword [0x140153e90]
shl rcx, 5
neg rcx
movabs rdx, 0xf7a5a75cc5161060
xor rcx, rdx
add rcx, 0x20
xor rcx, r14
mov rdx, qword [0x140153c10]
xor r8d, r8d
sub r8, qword [0x140153e00]
xor r8, r14
lea r9, [r8 + r8]
shl r8, 4
sub r8, r9
add r8, 0xe
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
mov ecx, dword [rax + rcx + 1]
xor r9d, ecx
imul eax, r9d, 0xdb115b37
xor eax, ecx
add eax, 0x24eea4c9
and eax, dword [rsi + 0x80]
mov rcx, qword [0x140153d18]
xor edx, edx
sub rdx, qword [0x140153f08]
xor rdx, r14
imul rdx, rdx, 0x2f
add rdx, 0x2f
xor rdx, r14
mov ecx, dword [rcx + rdx + 1]
mov rdx, qword [0x140153cc8]
mov r8, qword [0x140153eb8]
xor r9d, r9d
sub r9, r8
xor r9, r14
lea r8, [r9 + r9*8]
lea r8, [r9 + r8*4]
add r8, 0x25
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0x6ccf6983
xor edx, ecx
add edx, 0x9330967d
cmp eax, edx
je 0x140017e5b
lea rcx, [r12 + 0x5024678c]
jmp 0x140016720
lea rax, [r13 + 0x1c1257fe]
cmp rcx, rax
jae 0x140017d34
cmp rcx, rdx
jne 0x140016720
cmp dword [rsp + 0x20], 0x2a
jl 0x140017e67
lea rcx, [r12 + 0x2cde092a]
jmp 0x140016720
lea rax, [r12 + 0x2cde092a]
cmp rcx, rax
jae 0x140017d51
cmp rcx, r8
jne 0x140016720
cmp dword [rsp + 0x20], 0x28
jl 0x140017e73
lea rcx, [r13 + 0x1175680b]
jmp 0x140016720
lea rax, [r12 - 0x140b57fe]
cmp rcx, rax
jae 0x140017d6f
cmp rcx, r8
jne 0x140016720
xor eax, eax
sub rax, qword [0x140153ea0]
mov rcx, qword [str._fy]
xor rax, r14
mov rdx, rax
shl rdx, 5
lea rax, [rdx + rax*2]
add rax, 0x22
xor rax, r14
mov eax, dword [rcx + rax + 1]
mov rcx, qword [0x140153d40]
mov rdx, qword [0x140153f30]
xor r8d, r8d
sub r8, rdx
xor r8, r14
imul rdx, r8, 0x34
add rdx, 0x34
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0x337f4ef3
xor ecx, eax
add ecx, 0xcc80b10d
mov dword [rsi + 0x7c], ecx
lea rcx, [r12 + 0x37874d47]
jmp 0x140016720
lea rax, [r12 + 0x5c33e341]
cmp rcx, rax
jge 0x140017d8d
cmp rcx, rdx
jne 0x140016720
cmp dword [rsp + 0x20], 0x3f
jl 0x140017e80
mov rcx, qword [rsp + 0x68]
jmp 0x140016720
cmp rcx, rax
jne 0x140016720
mov eax, dword [rsp + 0x24]
mov dword [rsi + 0x7c], eax
mov rcx, qword [rsp + 0x38]
jmp 0x140016720
jne 0x140016720
mov rax, qword [rsp + 0x40]
inc rax
mov rcx, r12
mov qword [rsp + 0x40], rax
cmp rax, qword [rsi + 0x10]
je 0x140016720
lea rcx, [r12 + 0x3cbe9935]
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0x2b
je 0x140017e8d
lea rcx, [r13 + 0x3011eea7]
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0x7c
jl 0x140017e9a
lea rcx, [r12 + 0x39625655]
jmp 0x140016720
jne 0x140016720
mov rax, qword [rsi]
movsx eax, byte [rax + 1]
mov byte [rsi + 0x78], al
mov dword [rsi + 0x7c], eax
lea rcx, [r13 + 0x25654add]
jmp 0x140016720
jne 0x140016720
mov rax, qword [rsp + 0x40]
movsx eax, byte [rax]
mov rcx, qword [0x140153bd0]
xor edx, edx
sub rdx, qword [0x140153dc0]
xor rdx, r14
lea rdx, [rdx + rdx*2]
lea rdx, [rdx*2 + 6]
xor rdx, r14
mov ecx, dword [rcx + rdx + 1]
mov rdx, qword [0x140153ce8]
mov r8, qword [0x140153ed8]
xor r9d, r9d
sub r9, r8
xor r9, r14
lea r8, [r9 + r9*4]
lea r8, [r9 + r8*8]
add r8, 0x29
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0x1bb6183e
xor edx, ecx
add edx, 0xe449e7c2
mov rcx, r12
cmp edx, eax
je 0x140016720
lea rcx, [r13 - 0x669f90d]
jmp 0x140016720
mov rax, r13
je 0x14001771e
mov rax, rcx
mov rcx, rax
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0x24
jne 0x140017d45
lea rcx, [r13 + 0x35253f58]
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153c28]
xor ecx, ecx
sub rcx, qword [0x140153e18]
xor rcx, r14
mov rdx, rcx
shl rdx, 4
add rcx, rdx
add rcx, 0x11
xor rcx, r14
mov eax, dword [rax + rcx + 1]
mov rcx, qword [0x140153c70]
mov rdx, qword [0x140153e60]
xor r8d, r8d
sub r8, rdx
xor r8, r14
lea rdx, [r8 + r8*4]
lea rdx, [rdx + rdx*4]
add rdx, r8
add rdx, 0x1a
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0x1a0f3cdd
xor ecx, eax
add ecx, 0xe5f0c323
mov dword [rsi + 0x7c], ecx
lea rcx, [r13 + 0x2cf30cd]
jmp 0x140016720
jne 0x140016720
xor eax, eax
sub rax, qword [0x140153e98]
mov rcx, qword [0x140153ca8]
xor rax, r14
mov rdx, rax
shl rdx, 5
add rax, rdx
add rax, 0x21
xor rax, r14
mov eax, dword [rcx + rax + 1]
mov rcx, qword [0x140153d68]
mov rdx, qword [0x140153f58]
xor r8d, r8d
sub r8, rdx
xor r8, r14
imul rdx, r8, 0x39
add rdx, 0x39
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0x20fea9b
xor ecx, eax
add ecx, 0xfdf01565
mov dword [rsi + 0x7c], ecx
mov rcx, qword [rsp + 0x58]
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153c40]
xor ecx, ecx
sub rcx, qword [0x140153e30]
xor rcx, r14
lea rcx, [rcx + rcx*4]
lea rcx, [rcx*4 + 0x14]
xor rcx, r14
mov eax, dword [rax + rcx + 1]
mov rcx, qword [0x140153c58]
mov rdx, qword [0x140153e48]
xor r8d, r8d
sub r8, rdx
xor r8, r14
lea rdx, [r8 + r8*2]
shl rdx, 3
sub rdx, r8
add rdx, 0x17
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0x9a579d80
xor ecx, eax
add ecx, 0x65a86280
mov dword [rsi + 0x7c], ecx
mov rcx, r12
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0x5e
je 0x140017ea7
lea rcx, [r13 + 0x3011eea7]
jmp 0x140016720
mov rax, r13
je 0x1400178d9
mov rax, rcx
mov rcx, rax
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0x3f
je 0x140017eb4
lea rcx, [r13 + 0x3011eea7]
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153d60]
xor ecx, ecx
sub rcx, qword [0x140153f50]
xor rcx, r14
imul rcx, rcx, 0x38
add rcx, 0x38
xor rcx, r14
mov eax, dword [rax + rcx + 1]
mov rcx, qword [0x140153d88]
mov rdx, qword [0x140153f78]
xor r8d, r8d
sub r8, rdx
xor r8, r14
imul rdx, r8, 0x3d
add rdx, 0x3d
xor rdx, r14
xor r8d, r8d
sub r8d, dword [rcx + rdx + 1]
xor r8d, eax
imul ecx, r8d, 0xfa0ed800
xor ecx, eax
add ecx, 0x5f12800
mov dword [rsi + 0x7c], ecx
lea rcx, [r13 + 0x38176920]
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153bd8]
xor ecx, ecx
sub rcx, qword [0x140153dc8]
xor rcx, r14
lea rdx, [rcx*8]
sub rdx, rcx
add rdx, 7
xor rdx, r14
xor ecx, ecx
sub rcx, qword [0x140153f18]
mov r8, qword [0x140153d28]
xor rcx, r14
imul rcx, rcx, 0x31
add rcx, 0x31
xor rcx, r14
xor r9d, r9d
sub r9d, dword [r8 + rcx + 1]
mov ecx, dword [rax + rdx + 1]
xor r9d, ecx
imul eax, r9d, 0x88ef3e5d
xor eax, ecx
add eax, 0x7710c1a3
and eax, dword [rsi + 0x80]
mov rcx, qword [0x140153cd8]
xor edx, edx
sub rdx, qword [str.W_fzY]
xor rdx, r14
imul rdx, rdx, 0x27
add rdx, 0x27
xor rdx, r14
mov ecx, dword [rcx + rdx + 1]
mov rdx, qword [0x140153bf8]
mov r8, qword [0x140153de8]
xor r9d, r9d
sub r9, r8
xor r9, r14
lea r8, [r9 + r9*4]
lea r8, [r9 + r8*2]
add r8, 0xb
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0xc57de2cf
xor edx, ecx
add edx, 0x3a821d31
cmp eax, edx
je 0x140017ec1
mov rcx, r10
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153d38]
xor ecx, ecx
sub rcx, qword [0x140153f28]
xor rcx, r14
imul rcx, rcx, 0x33
add rcx, 0x33
xor rcx, r14
mov rax, qword [rax + rcx + 9]
xor ecx, ecx
sub rcx, qword [0x140153ed0]
mov rdx, qword [0x140153ce0]
xor rcx, r14
lea rcx, [rcx + rcx*4]
lea rcx, [rcx*8 + 0x28]
xor rcx, r14
mov rcx, qword [rdx + rcx + 9]
xor edx, edx
sub rdx, rcx
xor rdx, rbp
inc rdx
xor rdx, rbp
add rax, rdx
inc rax
mov rcx, qword [rsp + 0x50]
call rax
test al, al
jne 0x140017ecd
lea rcx, [r12 + 0x3841c2d3]
jmp 0x140017f0c
jne 0x140016720
mov rax, qword [0x140153d38]
xor ecx, ecx
sub rcx, qword [0x140153f28]
xor rcx, r14
imul rcx, rcx, 0x33
add rcx, 0x33
xor rcx, r14
mov rax, qword [rax + rcx + 9]
xor ecx, ecx
sub rcx, qword [0x140153ed0]
mov rdx, qword [0x140153ce0]
xor rcx, r14
lea rcx, [rcx + rcx*4]
lea rcx, [rcx*8 + 0x28]
xor rcx, r14
mov rcx, qword [rdx + rcx + 9]
xor edx, edx
sub rdx, rcx
xor rdx, rbp
inc rdx
xor rdx, rbp
add rax, rdx
inc rax
mov rcx, qword [rsp + 0x50]
call rax
test al, al
jne 0x140017ed6
lea rcx, [r13 - 0x95255f8]
jmp 0x140017f0c
mov rax, r13
je 0x140017b56
mov rax, rcx
mov rcx, rax
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153c78]
xor ecx, ecx
sub rcx, qword [0x140153e68]
xor rcx, r14
lea rcx, [rcx + rcx*8]
lea rcx, [rcx + rcx*2]
add rcx, 0x1b
xor rcx, r14
mov eax, dword [rax + rcx + 1]
xor ecx, ecx
sub rcx, qword [0x140153f68]
mov rdx, qword [0x140153d78]
xor rcx, r14
imul rcx, rcx, 0x3b
add rcx, 0x3b
xor rcx, r14
xor r8d, r8d
sub r8d, dword [rdx + rcx + 1]
xor r8d, eax
imul ecx, r8d, 0xefd24ec3
xor ecx, eax
add ecx, 0x102db13d
mov dword [rsi + 0x7c], ecx
xor eax, eax
sub rax, qword [0x140153ee8]
mov rcx, qword [0x140153cf8]
xor rax, r14
imul rax, rax, 0x2b
add rax, 0x2b
xor rax, r14
movzx eax, byte [rcx + rax + 1]
mov rcx, qword [0x140153c60]
mov rdx, qword [0x140153e50]
xor r8d, r8d
sub r8, rdx
xor r8, r14
lea rdx, [r8 + r8*2]
lea rdx, [rdx*8 + 0x18]
xor rdx, r14
movzx ecx, byte [rcx + rdx + 1]
xor edx, edx
sub dl, cl
xor dl, al
movzx ecx, dl
imul ecx, ecx, 0x7d
xor cl, al
add cl, 0x83
mov byte [rsi + 0x78], cl
mov rcx, qword [rsp + 0x38]
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153d70]
xor ecx, ecx
sub rcx, qword [0x140153f60]
xor rcx, r14
imul rcx, rcx, 0x3a
add rcx, 0x3a
xor rcx, r14
mov ecx, dword [rax + rcx + 1]
xor eax, eax
sub rax, qword [0x140153e78]
mov rdx, qword [0x140153c88]
xor rax, r14
lea r8, [rax + rax*8]
lea r8, [r8 + r8*2]
add r8, rax
add rax, r8
add rax, 0x1d
xor rax, r14
xor r8d, r8d
sub r8d, dword [rdx + rax + 1]
xor r8d, ecx
imul eax, r8d, 0x56c2024d
xor eax, ecx
add eax, 0xa93dfdb3
and eax, dword [rsi + 0x80]
mov rcx, qword [0x140153c98]
xor edx, edx
sub rdx, qword [0x140153e88]
xor rdx, r14
mov r8, rdx
shl r8, 5
sub r8, rdx
add r8, 0x1f
xor r8, r14
mov ecx, dword [rcx + r8 + 1]
mov rdx, qword [0x140153c48]
mov r8, qword [0x140153e38]
xor r9d, r9d
sub r9, r8
xor r9, r14
lea r8, [r9 + r9*4]
lea r8, [r9 + r8*4]
add r8, 0x15
xor r8, r14
xor r9d, r9d
sub r9d, dword [rdx + r8 + 1]
xor r9d, ecx
imul edx, r9d, 0x8376242a
xor edx, ecx
add edx, 0x7c89dbd6
mov rcx, r12
cmp eax, edx
je 0x140017d17
lea rcx, [r13 + 0x3d1fdb7b]
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
jmp 0x140016720
mov rax, r13
je 0x140017d2c
mov rax, rcx
mov rcx, rax
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0xa
je 0x140017ee0
lea rcx, [r13 + 0x3011eea7]
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0x2b
jl 0x140017eec
lea rcx, [r12 + 0x49d5d21e]
jmp 0x140016720
jne 0x140016720
cmp dword [rsp + 0x20], 0x24
jl 0x140017ef9
lea rcx, [r12 + 0x1b71004f]
jmp 0x140016720
jne 0x140016720
mov rax, qword [0x140153d38]
xor ecx, ecx
sub rcx, qword [0x140153f28]
xor rcx, r14
imul rcx, rcx, 0x33
add rcx, 0x33
xor rcx, r14
mov rax, qword [rax + rcx + 0x19]
xor ecx, ecx
sub rcx, qword [0x140153ed0]
mov rdx, qword [0x140153ce0]
xor rcx, r14
lea rcx, [rcx + rcx*4]
lea rcx, [rcx*8 + 0x28]
xor rcx, r14
mov rcx, qword [rdx + rcx + 0x19]
xor edx, edx
sub rdx, rcx
xor rdx, rbp
lea rcx, [rdx + rdx*2]
add rcx, 3
xor rcx, rbp
add rax, rcx
inc rax
mov rcx, rsi
call rax
test al, al
jne 0x140017f05
lea rcx, [r13 + 0x25654add]
jmp 0x140017f0c
lea rcx, [r12 + 0x4ba36af0]
jmp 0x140016720
lea rcx, [r12 + 0x37874d47]
jmp 0x140016720
lea rcx, [r12 + 0xd7332c2]
jmp 0x140016720
lea rcx, [r12 + 0x386aa7aa]
jmp 0x140016720
lea rcx, [r13 + 0xe881916]
jmp 0x140016720
lea rcx, [r13 + 0x1000de04]
jmp 0x140016720
lea rcx, [r13 - 0x95255f8]
jmp 0x140016720
lea rcx, [r13 + 0x4c7b6b73]
jmp 0x140016720
lea rcx, [r12 - 0x140b57fe]
jmp 0x140016720
lea rcx, [r12 + 0x2b6de576]
jmp 0x140016720
lea rcx, [r12 + 0x1134283f]
jmp 0x140016720
lea rcx, [r12 + 0x4ba36af0]
jmp 0x140016720
lea rcx, [r12 - 0x3209318]
jmp 0x140016720
lea rcx, [r12 + 0x1134283f]
jmp 0x140016720
lea rcx, [r13 + 0x523e6b43]
jmp 0x140016720
lea rcx, [r13 + 0x1000de04]
jmp 0x140017f0c
lea rcx, [r12 + 0x58fe678d]
jmp 0x140017f0c
lea rcx, [r13 + 0x2bd5b3d3]
jmp 0x140016720
lea rcx, [r12 + 0x3d9d1bfd]
jmp 0x140016720
lea rcx, [r13 + 0x1c1257fe]
jmp 0x140016720
lea rcx, [r13 + 0x2d0bec32]
mov r11, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
jmp 0x140016720
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret