Function at 0x140059540
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 8], rbx
xchg rsi, rbp
mov qword [rsp + 0x10], rbp
xchg rsi, rbp
xchg rdi, rdx
mov qword [rsp + 0x20], rdx
xchg rdx, rdi
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], r12
sub rsp, 8
push r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rbx, rdx
mov rdi, rcx
xor r14d, r14d
mov dword [rbp + 0x70], r14d
lea r8, [0x140001790]
lea edx, [r14 + 1]
call fcn.140071590
test al, al
je 0x14005a7a4
mov r8d, dword [rdi + 0x10]
lea eax, [r8 - 0x60]
cmp eax, 0x1f
ja case.0x1400595e1.124
cdqe
lea r9, [0x140000000]
movzx eax, byte [r9 + rax + 0x5a850]
mov ecx, dword [r9 + rax*4 + 0x5a834]
add rcx, r9
jmp rcx
and r8d, 0x1f
xchg rbx, r9
mov rbx, r9
xchg rbx, r9
mov edx, 0x1cbaeaee
add edx, 0x4a2592e0
add edx, 0xd57eca9
xor edx, 0x51743c66
add edx, 0x44e64ffc
sub edx, 0x1c996d6
sub edx, 0x2b61373d
xor edx, 0x3d07d7fb
xchg r14, rdi
mov rcx, r14
xchg rdi, r14
call fcn.140046780
jmp 0x14005a7a6
mov byte [rbp + 0x70], r14b
lea r8, [rbp + 0x70]
mov edx, 0x3a9c1920
xor edx, 0x5b877523
sub edx, 0xbbca20d
sub edx, 0x248dc88e
xor edx, 0x6b08719
add edx, 0x3ada3fa
sub edx, 0x3a0f2a6a
xchg rcx, rdx
mov rdx, rdi
xchg rcx, rdx
call fcn.14003f370
test al, al
je 0x14005a7a4
xchg rsi, rbx
mov r9, rsi
xchg rbx, rsi
movzx r8d, byte [rbp + 0x70]
mov edx, 0x273f945c
add edx, 0x48d1866c
sub edx, 0x2b2ab590
sub edx, 0x44320b45
add edx, 0x2fbfc524
sub edx, 0x23d981c7
xor edx, 0x31978047
sub edx, 0x3d0d1d16
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call fcn.140044bf0
test al, al
je 0x14005a7a4
mov al, 0x1c
sub al, 7
add al, 0x45
sub al, 0xa
xor al, 0x63
xor al, 0x17
add al, 0x29
xor al, 0x24
sub al, 0x68
jmp 0x14005a7a6
mov word [rbp + 0x70], r14w
lea r8, [rbp + 0x70]
mov edx, 0x723b9804
sub edx, 0x189c2ee5
sub edx, 0x2fde2173
xor edx, 0x6e06d516
sub edx, 0x1e9a62b1
xor edx, 0x1e2e6555
add edx, 0x2a719467
add edx, 0xd99f357
sub edx, 0x6f0edd19
xchg r13, rcx
mov r13, rdi
xchg r13, rcx
call fcn.1400400b0
test al, al
je 0x14005a7a4
mov r9, rbx
movzx r8d, word [rbp + 0x70]
mov edx, 0x7189fc72
xor edx, 0x576eb6d2
sub edx, 0x1762ba87
add edx, 0xbcde42f
add edx, 0x134ecec3
sub edx, 0x25e6d560
xor edx, 0x8ba6daa
xchg rdi, r15
mov rcx, r15
xchg rdi, r15
call fcn.1400459a0
test al, al
je 0x14005a7a4
mov al, 0x49
xor al, 0x3a
sub al, 0x4d
xor al, 0x72
sub al, 0x43
add al, 0x10
sub al, 0x20
jmp 0x14005a7a6
mov dword [rbp + 0x70], r14d
lea r8, [rbp + 0x70]
mov edx, 0x5a671221
sub edx, 0x59a6df92
add edx, 0x2b2e9e6c
sub edx, 0xb91589a
add edx, 0x1ac4d3d3
sub edx, 0xd44613b
sub edx, 0x2dddeaf8
xchg rdi, r11
mov rcx, r11
xchg r11, rdi
call fcn.140041550
test al, al
je 0x14005a7a4
xchg r9, rbx
mov rbx, r9
xchg r9, rbx
mov r8d, dword [rbp + 0x70]
mov edx, 0x62a40bfd
sub edx, 0x1c5bd2c1
xor edx, 0x11325af2
sub edx, 0x74d319f
xor edx, 0x6e090b6c
xor edx, 0x1bed8b7d
add edx, 0x2945c3dc
sub edx, 0x4f0f7619
xchg rdi, rcx
mov rdi, rcx
xchg rdi, rcx
call fcn.140046780
test al, al
je 0x14005a7a4
mov al, 0x4c
xor al, 0x51
xor al, 3
xor al, 0x60
sub al, 0x56
xor al, 0x29
jmp 0x14005a7a6
mov qword [rbp + 0x70], r14
lea r8, [rbp + 0x70]
mov edx, 0x7c36bd20
xor edx, 0x70bf8fd7
xor edx, 0x69e9a1b3
sub edx, 0x2328d5dc
add edx, 0x15ce53cb
add edx, 0x11f3988e
xor edx, 0x2afdc782
xor edx, 0x43046e42
xchg rcx, r13
mov r13, rdi
xchg r13, rcx
call fcn.140043e20
test al, al
je 0x14005a7a4
xchg rbx, r9
mov rbx, r9
xchg rbx, r9
mov r8, qword [rbp + 0x70]
mov edx, 0x7947824b
xor edx, 0x3e202c6d
xor edx, 0x6806effb
add edx, 0x2d7b83c4
add edx, 0x218c7cab
xor edx, 0x7e69424d
xchg rcx, rsi
mov rsi, rdi
xchg rsi, rcx
call fcn.140047540
test al, al
je 0x14005a7a4
mov al, 0x71
xor al, 0x5f
add al, 0xf
xor al, 0x1a
add al, 0x37
add al, 0x17
sub al, 0x5b
xor al, 9
sub al, 0x12
jmp 0x14005a7a6
nop
movabs rsi, 0xffffffff67f6f7f3
xor rsi, 0x78739b20
xor rsi, 0x34aef847
xor rsi, 0x5d49e792
sub rsi, 0x23fa56e0
sub rsi, 0x10d41a6c
add rsi, 0x7fffffff
add rsi, 0x3e6bfe46
nop dword [rax]
inc qword [rdi + 0x18]
xchg r9, rax
mov r9, qword [rdi]
xchg r9, rax
cmp rax, qword [rdi + 8]
je 0x140059948
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x14005994a
mov ecx, esi
mov dword [rdi + 0x10], ecx
cmp ecx, 0xff
je 0x1400596cc
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xchg r14, rdi
mov qword [rsp + 0x60], rdi
xchg r14, rdi
mov qword [rsp + 0x68], 0xbd50c39
sub qword [rsp + 0x68], 0x9197576
xor qword [rsp + 0x68], 0x4da74459
sub qword [rsp + 0x68], 0x302f4ce6
xor qword [rsp + 0x68], 0x30ad85d4
sub qword [rsp + 0x68], 0x213603bb
sub qword [rsp + 0x68], 0xd09fc96
mov byte [rsp + 0x50], 0x4a
add byte [rsp + 0x50], 0x33
sub byte [rsp + 0x50], 0x3a
xor byte [rsp + 0x50], 0x3f
sub byte [rsp + 0x50], 0x72
sub byte [rsp + 0x50], 0xa
lea rdx, [rsp + 0x50]
xchg r11, rcx
mov r11, rdi
xchg rcx, r11
call fcn.140059540
test al, al
je 0x140059a68
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.140053bc0
nop
xchg r15, rdx
mov r15, qword [rsp + 0x68]
xchg rdx, r15
cmp rdx, 0x10
jb 0x140059925
inc rdx
mov rcx, qword [rsp + 0x50]
xchg r12, rcx
mov rax, r12
xchg r12, rcx
cmp rdx, 0x1000
jb 0x140059a5e
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffff81fdcc4b
sub rax, 0xffffffff81fdcc53
cmp rax, 0x1f
ja 0x140059aae
call fcn.1401fd468
jmp 0x140059925
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14005a7a4
inc rdx
mov rcx, qword [rsp + 0x50]
xchg rcx, r12
mov rax, r12
xchg r12, rcx
cmp rdx, 0x1000
jb 0x14005a79f
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005a79f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor eax, eax
mov word [rbp + 0x70], ax
mov byte [rbp + 0x72], al
movzx r9d, r8b
lea r8, [0x140001914]
lea edx, [rax + 3]
lea rcx, [rbp + 0x70]
call fcn.140073560
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r14
xchg rbp, r14
mov qword [rsp + 0x68], rbp
xchg r14, rbp
lea rax, [rbp + 0x70]
nop
movabs rsi, 0xffffffff1e2c17fc
add rsi, 0x1c561200
add rsi, 0x2b659d33
sub rsi, 0x31912855
xor rsi, 0x510a6bbb
sub rsi, 0x48671ac6
add rsi, 0x7fffffff
add rsi, 0x630a2565
inc rsi
cmp byte [rax + rsi], r14b
jne 0x140059b2d
movabs r14, 0x7fffffff004aa50b
add r14, 0x6d634595
xor r14, 0x5e8abb24
add r14, 0x4c36011f
xor r14, 0x2ab5807
sub r14, 0x5080b47
add r14, 0x7fffffff
xor r14, 0x71200a3
cmp rsi, r14
ja 0x14005a82e
cmp rsi, 0x10
jae 0x140059c1a
xchg r12, rsi
mov qword [rsp + 0x60], r12
xchg r12, rsi
mov qword [rsp + 0x68], 0x488b2f25
xor qword [rsp + 0x68], 0xc692aab
sub qword [rsp + 0x68], 0x3c55e9df
add qword [rsp + 0x68], 0x11541481
sub qword [rsp + 0x68], 0x45cd6e6
add qword [rsp + 0x68], 0x51234042
sub qword [rsp + 0x68], 0x31037b35
xor qword [rsp + 0x68], 0x35a31e58
xchg r8, rdi
mov rdi, rsi
xchg rdi, r8
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rsi + 0x50], 0x4f
sub byte [rsp + rsi + 0x50], 0x4c
add byte [rsp + rsi + 0x50], 8
add byte [rsp + rsi + 0x50], 0x46
sub byte [rsp + rsi + 0x50], 0x29
add byte [rsp + rsi + 0x50], 0x34
sub byte [rsp + rsi + 0x50], 0x5c
jmp 0x140059cce
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
or rax, 0xf
cmp rax, r14
ja 0x140059c6d
mov r14, rax
mov ecx, 0x2195e0ef
xor ecx, 0x14f77af0
xor ecx, 0x2641943e
add ecx, 0x5f36b42
add ecx, 0x4aa3661e
xor ecx, 0x452a8336
add ecx, 0x512ad643
xor ecx, 0x2ebf381c
sub ecx, 0x59010ad0
cmp rax, rcx
cmovb r14, rcx
lea rdx, [r14 + 1]
lea rcx, [rsp + 0x50]
call fcn.140053920
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
mov qword [rsp + 0x50], rax
xchg rsi, r14
mov qword [rsp + 0x60], r14
xchg r14, rsi
xchg r8, r14
mov qword [rsp + 0x68], r8
xchg r8, r14
xchg r13, rsi
mov r8, r13
xchg rsi, r13
lea rdx, [rbp + 0x70]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi], 0x65
sub byte [rbx + rsi], 0x2f
sub byte [rbx + rsi], 0x12
sub byte [rbx + rsi], 0x21
add byte [rbx + rsi], 0x55
sub byte [rbx + rsi], 0x11
sub byte [rbx + rsi], 0x47
xchg r12, r15
mov r15, qword [rdi + 0x28]
xchg r12, r15
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov r14d, 0x20a00e7d
xor r14d, 0x45449cca
xor r14d, 0x2f713a2d
add r14d, 0x774912a
xor r14d, 0x51e20da7
xor r14d, 0x7db629c2
sub r14d, 0x5c716e46
xor r14d, 0x37cddf6c
sub r14d, 0x16217031
mov qword [rbp - 0x40], r14
mov r13d, 0x5f98cd6a
add r13d, 0x1cc37b
add r13d, 0x1ffa3b02
xor r13d, 0xdd01326
xor r13d, 0x3c9fd4e3
xor r13d, 0x98d2bdf
add r13d, 0x2726db5c
xor r13d, 0x73ba7e25
xor r13d, 0x1d2e7d73
mov qword [rbp - 0x38], r13
mov eax, dword [0x140001790]
mov dword [rbp - 0x50], eax
movzx eax, word [0x140001794]
mov word [rbp - 0x4c], ax
mov byte [rbp - 0x4a], 0x72
xor byte [rbp - 0x4a], 0xf
sub byte [rbp - 0x4a], 0xc
sub byte [rbp - 0x4a], 0x25
sub byte [rbp - 0x4a], 0x2a
sub byte [rbp - 0x4a], 2
sub byte [rbp - 0x4a], 0x20
lea r8, [rsp + 0x50]
lea rdx, [0x140001a60]
lea rcx, [rbp - 0x30]
call fcn.140037d20
xchg r15, rax
mov rax, r15
xchg r15, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xor ebx, ebx
xchg r15, rbx
mov qword [rbp - 0x80], r15
xchg rbx, r15
xchg rbx, r13
mov qword [rbp - 0x78], rbx
xchg r13, rbx
lea edx, [rbx + 0x20]
lea rcx, [rsp + 0x70]
call fcn.140053920
mov rdx, rax
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x80], 0x70313b34
sub qword [rbp - 0x80], 0x5817f132
add qword [rbp - 0x80], 0x4110b8f2
xor qword [rbp - 0x80], 0x2c017ead
sub qword [rbp - 0x80], 0x486d1fff
add qword [rbp - 0x80], 0x104ec5f
xor qword [rbp - 0x80], 0x78a11806
sub qword [rbp - 0x80], 0x556250a4
mov qword [rbp - 0x78], 0x2c1719cb
sub qword [rbp - 0x78], 0x7f87c01
add qword [rbp - 0x78], 0x21bf31a
add qword [rbp - 0x78], 0x1bed7ae
xor qword [rbp - 0x78], 0x379315ae
xor qword [rbp - 0x78], 0x5a0f126d
sub qword [rbp - 0x78], 0x493dca8d
xor qword [rbp - 0x78], 0x127a4db
movups xmm0, xmmword [0x1400018c8]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1400018d8]
xchg r14, rax
movsd qword [r14 + 0x10], xmm0
xchg r14, rax
movzx ecx, word [0x1400018e0]
mov word [rax + 0x18], cx
movzx eax, byte [0x1400018e2]
mov byte [rdx + 0x1a], al
mov byte [rdx + 0x1b], bl
xchg rdx, rcx
mov rdx, qword [rbp - 0x80]
xchg rdx, rcx
xchg r14, rdx
mov r14, qword [rbp - 0x78]
xchg r14, rdx
xchg rdx, rax
mov rdx, rax
xchg rdx, rax
sub rax, rcx
cmp rax, 4
jb 0x140059f08
lea rax, [rcx + 4]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x70]
mov dword [rax + rcx], 0x42ad6563
sub dword [rax + rcx], 0x3a0cfaaa
add dword [rax + rcx], 0x59f524f1
xor dword [rax + rcx], 0x721ae5a5
add dword [rax + rcx], 0x377d5ef7
add dword [rax + rcx], 0xa42793d
mov byte [rax + rcx + 4], bl
jmp 0x140059f9f
mov qword [rsp + 0x20], 0x16c8f92e
sub qword [rsp + 0x20], 0xe366816
add qword [rsp + 0x20], 0x210f1203
add qword [rsp + 0x20], 0x8b3ccb4
xor qword [rsp + 0x20], 0x6708e7ca
add qword [rsp + 0x20], 0x239c14cf
xor qword [rsp + 0x20], 0x6987bef0
add qword [rsp + 0x20], 0x51e98fda
sub qword [rsp + 0x20], 0x6367b1fa
lea r9, [0x1400018e4]
movzx r8d, byte [rbp + 0x70]
mov edx, 0x6f35a525
sub edx, 0x6eb4f01f
add edx, 0x4bf5afc8
sub edx, 0x2eed19c1
sub edx, 0x6530fe2
add edx, 0x4427669e
add edx, 0x10c65bbf
sub edx, 0x6c23fd84
lea rcx, [rsp + 0x70]
call fcn.140034a30
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xchg rbx, rcx
mov qword [rsp + 0x40], rcx
xchg rcx, rbx
mov ecx, 0x1999501b
add ecx, 0x17c9df08
xor ecx, 0x3150cafa
add ecx, 0x4c66a030
sub ecx, 0x2d2f3c3
xor ecx, 0x4bae9538
add ecx, 0x698b2054
sub ecx, 0x2c66ab74
sub ecx, 0x3f8d7c4f
mov qword [rsp + 0x48], rcx
mov byte [rsp + 0x30], 0x69
sub byte [rsp + 0x30], 0x4d
add byte [rsp + 0x30], 0x2e
xor byte [rsp + 0x30], 0x11
xor byte [rsp + 0x30], 0x5b
add byte [rsp + 0x30], 0x6b
sub byte [rsp + 0x30], 0xd
sub byte [rsp + 0x30], 0x5e
mov dword [rbp + 0x70], 0x65a0c63a
add dword [rbp + 0x70], 0x15a851b2
xor dword [rbp + 0x70], 0x4eb7524b
add dword [rbp + 0x70], 0x29210a04
sub dword [rbp + 0x70], 0x443a669c
add dword [rbp + 0x70], 0x3abb7b55
add dword [rbp + 0x70], 0x2036b076
sub dword [rbp + 0x70], 0x72c2ddee
sub dword [rbp + 0x70], 0x31436e3
mov rsi, qword [rbp - 0x80]
lea rdx, [rsi + 9]
add rdx, qword [r15 + 0x10]
cmp rdx, rcx
jbe 0x14005a091
movzx r8d, byte [rbp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.140035610
xchg rdx, rbx
mov qword [rsp + 0x40], rdx
xchg rdx, rbx
xchg rbp, rcx
mov rbp, qword [rsp + 0x48]
xchg rcx, rbp
mov rsi, qword [rbp - 0x80]
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae r9, qword [rsp + 0x70]
cmp rsi, rcx
ja 0x14005a0f9
mov qword [rsp + 0x40], rsi
lea rbx, [rsp + 0x30]
cmp rcx, 0x10
cmovae rbx, qword [rsp + 0x30]
mov r8, rsi
xchg r9, rcx
mov rdx, rcx
xchg rcx, r9
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + rbx], 0x31
add byte [rsi + rbx], 0x1c
xor byte [rsi + rbx], 0x3e
xor byte [rsi + rbx], 0x54
add byte [rsi + rbx], 0x43
sub byte [rsi + rbx], 0x45
sub byte [rsi + rbx], 0x25
jmp 0x14005a11c
xchg rbp, rsi
mov qword [rsp + 0x20], rbp
xchg rbp, rsi
movzx r8d, byte [rbp + 0x70]
xchg rsi, rdx
mov rsi, rdx
xchg rsi, rdx
lea rcx, [rsp + 0x30]
call fcn.140034a30
xchg rbx, rcx
mov rbx, qword [rsp + 0x40]
xchg rbx, rcx
mov rdx, qword [rsp + 0x48]
cmp rcx, rdx
jae 0x14005a182
lea rax, [rcx + 1]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x30]
mov word [rax + rcx], 0x5963
sub word [rax + rcx], 0x1c34
xor word [rax + rcx], 0x1f2b
add word [rax + rcx], 0x5336
sub word [rax + rcx], 0x40a
sub word [rax + rcx], 0x5e0a
xor word [rax + rcx], 0x3ba5
xor word [rax + rcx], 0x28a3
jmp 0x14005a1e3
mov r9b, 0x36
add r9b, 0x1e
sub r9b, 0x43
xor r9b, 0x10
add r9b, 0x7b
xor r9b, 0x7f
add r9b, 0x10
xor r9b, 0x36
sub r9b, 5
movzx r8d, byte [rbp + 0x70]
mov edx, 0x43e34abb
sub edx, 0x33b4d9f8
add edx, 0x68aed68b
sub edx, 0x3a3d35c0
sub edx, 0x1b49b7a2
sub edx, 0x1b780c77
xor edx, 0x48b82b88
sub edx, 0x4f6666fc
lea rcx, [rsp + 0x30]
call fcn.140035300
mov rsi, qword [rsp + 0x40]
xchg rbp, rcx
mov rbp, qword [rsp + 0x48]
xchg rcx, rbp
xchg rdx, rax
mov rdx, rcx
xchg rdx, rax
sub rax, rsi
cmp r14, rax
ja 0x14005a255
lea rax, [r14 + rsi]
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x30]
cmp rcx, 0x10
cmovae rbx, qword [rsp + 0x30]
lea rcx, [rbx + rsi]
xchg r10, r8
mov r10, r14
xchg r10, r8
lea rdx, [rbp - 0x50]
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + r14]
mov byte [rax + rsi], 0x2d
add byte [rax + rsi], 0x11
xor byte [rax + rsi], 0x76
add byte [rax + rsi], 0x21
sub byte [rax + rsi], 0x5b
xor byte [rax + rsi], 0xe
jmp 0x14005a27a
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x50]
movzx r8d, byte [rbp + 0x70]
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.140034a30
xchg r13, r14
mov r14, qword [rbp - 0x38]
xchg r13, r14
xchg rcx, r15
mov r15, qword [rsp + 0x40]
xchg rcx, r15
mov rdx, qword [rsp + 0x48]
xchg rcx, rax
mov rcx, rdx
xchg rcx, rax
sub rax, rcx
cmp rax, 2
jb 0x14005a30f
lea rax, [rcx + 2]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x30]
mov edx, 0xb50ed2f
add edx, 0x10a426aa
sub edx, 0x13c61b2d
add edx, 0x517aaff7
xor edx, 0x574ed8c5
sub edx, 0xee7502c
mov word [rax + rcx], dx
mov byte [rax + rcx + 2], 0x39
sub byte [rax + rcx + 2], 0x23
add byte [rax + rcx + 2], 0x3e
sub byte [rax + rcx + 2], 0x28
add byte [rax + rcx + 2], 0x29
sub byte [rax + rcx + 2], 0x52
xor byte [rax + rcx + 2], 0x36
xor byte [rax + rcx + 2], 0x22
xor byte [rax + rcx + 2], 0x17
jmp 0x14005a39c
mov qword [rsp + 0x20], 0x7ed948b3
sub qword [rsp + 0x20], 0x534d6c3a
xor qword [rsp + 0x20], 0x1383313a
add qword [rsp + 0x20], 0x280bc034
xor qword [rsp + 0x20], 0x3e81779b
xor qword [rsp + 0x20], 0x369c5874
sub qword [rsp + 0x20], 0x34b10e3f
sub qword [rsp + 0x20], 0x33587457
lea r9, [0x140001628]
movzx r8d, byte [rbp + 0x70]
mov edx, 0x24205783
add edx, 0x32142108
sub edx, 0x1d87bbd8
add edx, 0x3c059450
sub edx, 0xcfb1ef0
xor edx, 0x143c6750
sub edx, 0x35cc9989
sub edx, 0x3dbebbb8
lea rcx, [rsp + 0x30]
call fcn.140034a30
mov rsi, qword [r15 + 0x10]
cmp qword [r15 + 0x18], 0x10
jb 0x14005a3ae
mov r15, qword [r15]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
xchg rdi, rdx
mov rax, rdi
xchg rdi, rdx
sub rax, rcx
cmp rsi, rax
ja 0x14005a42f
lea rax, [rcx + rsi]
xchg rbp, rax
mov qword [rsp + 0x40], rbp
xchg rbp, rax
lea rbx, [rsp + 0x30]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x30]
add rbx, rcx
mov r8, rsi
xchg r15, r8
mov rdx, r8
xchg r8, r15
xchg rbp, rcx
mov rbp, rbx
xchg rcx, rbp
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rsi], 0x5f
xor byte [rbx + rsi], 0x72
add byte [rbx + rsi], 0x1f
sub byte [rbx + rsi], 0x11
add byte [rbx + rsi], 9
sub byte [rbx + rsi], 0x40
add byte [rbx + rsi], 0x21
add byte [rbx + rsi], 0x57
sub byte [rbx + rsi], 0x7c
jmp 0x14005a456
mov qword [rsp + 0x20], rsi
xchg rdi, r9
mov rdi, r15
xchg r9, rdi
movzx r8d, byte [rbp + 0x70]
xchg r10, rdx
mov r10, rsi
xchg rdx, r10
lea rcx, [rsp + 0x30]
call fcn.140034a30
nop
xchg rdx, rcx
mov rcx, qword [rbp - 0x78]
xchg rdx, rcx
cmp rdx, 0x10
jb 0x14005a4c1
inc rdx
mov rcx, qword [rsp + 0x70]
xchg rcx, r12
mov rax, r12
xchg r12, rcx
cmp rdx, 0x1000
jb 0x14005a4bc
nop
sub rdx, 0x1be561eb
add rdx, 0x1be56212
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffffbe03d416
add rax, 0xffffffffbe03d40e
cmp rax, 0x1f
jbe 0x14005a4bc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd468
xor esi, esi
xchg r13, rsi
mov qword [rbp - 0x80], r13
xchg rsi, r13
mov qword [rbp - 0x78], 0x5561223b
xor qword [rbp - 0x78], 0x53e4451c
xor qword [rbp - 0x78], 0x70552912
sub qword [rbp - 0x78], 0x4597dba7
add qword [rbp - 0x78], 0x1300f177
xor qword [rbp - 0x78], 0x5a59d5a3
add qword [rbp - 0x78], 0x159de6ca
add qword [rbp - 0x78], 0x36b8ebf4
sub qword [rbp - 0x78], 0x6ab78455
mov byte [rsp + 0x70], sil
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x30]
mov r8, qword [rdi + 0x18]
lea edx, [rsi + 0x71]
lea rcx, [rbp - 0x10]
call fcn.140038e70
nop
mov byte [r12 + 0x28], 0x33
sub byte [r12 + 0x28], 4
sub byte [r12 + 0x28], 0x23
xor byte [r12 + 0x28], 0x1c
add byte [r12 + 0x28], 0x19
add byte [r12 + 0x28], 0x3b
xor byte [r12 + 0x28], 0x19
sub byte [r12 + 0x28], 0x7c
cmp byte [r12 + 0x29], sil
jne 0x14005a80b
lea rbx, [0x140004a88]
xchg rbx, r15
mov qword [rbp + 0x10], r15
xchg rbx, r15
lea rcx, [rbp + 0x18]
call sub.VCRUNTIME140.dll___std_exception_destroy
xchg rbx, rcx
mov qword [rbp - 0x10], rcx
xchg rbx, rcx
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll___std_exception_destroy
nop
xchg rdx, r11
mov r11, qword [rsp + 0x48]
xchg rdx, r11
cmp rdx, 0x10
jb 0x14005a5f6
inc rdx
mov rcx, qword [rsp + 0x30]
xchg r12, rcx
mov rax, r12
xchg rcx, r12
cmp rdx, 0x1000
jb 0x14005a5f1
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14005a5f1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd468
xchg rbp, rsi
mov qword [rsp + 0x40], rbp
xchg rsi, rbp
mov qword [rsp + 0x48], 0x176999f9
add qword [rsp + 0x48], 0xeeb084a
add qword [rsp + 0x48], 0xeda4ae1
add qword [rsp + 0x48], 0x3062bef7
add qword [rsp + 0x48], 0x19aaef5c
sub qword [rsp + 0x48], 0x7f3c9b68
mov byte [rsp + 0x30], 0x5c
xor byte [rsp + 0x30], 0x7f
add byte [rsp + 0x30], 0x18
sub byte [rsp + 0x30], 0xf
sub byte [rsp + 0x30], 0x15
xor byte [rsp + 0x30], 0x6c
sub byte [rsp + 0x30], 0x1e
sub byte [rsp + 0x30], 0x5d
xchg rdx, r13
mov r13, qword [rbp - 0x18]
xchg rdx, r13
cmp rdx, 0x10
jb 0x14005a6c4
inc rdx
xchg r10, rcx
mov r10, qword [rbp - 0x30]
xchg rcx, r10
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14005a6bf
nop
add rdx, 0x76b04499
sub rdx, 0x76b04472
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005a6bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd468
movdqa xmm0, xmmword [0x140002c80]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0x54
sub byte [rbp - 0x30], 0x15
xor byte [rbp - 0x30], 0x1f
xor byte [rbp - 0x30], 0x11
sub byte [rbp - 0x30], 0x19
add byte [rbp - 0x30], 0x15
add byte [rbp - 0x30], 0x40
sub byte [rbp - 0x30], 0x6d
cmp r13, 0x10
jb 0x14005a74e
lea rdx, [r13 + 1]
xchg r15, rcx
mov r15, qword [rbp - 0x50]
xchg rcx, r15
xchg r10, rcx
mov rax, r10
xchg r10, rcx
cmp rdx, 0x1000
jb 0x14005a748
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffffcfdc3299
add rax, 0xffffffffcfdc3291
cmp rax, 0x1f
jbe 0x14005a748
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd468
nop
xchg rdx, r11
mov r11, qword [rsp + 0x68]
xchg r11, rdx
cmp rdx, 0x10
jb 0x14005a7a4
inc rdx
mov rcx, qword [rsp + 0x50]
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14005a79f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005a79f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401fd468
xor al, al
lea r11, [rsp + 0x130]
xchg r8, rbx
mov r8, qword [r11 + 0x30]
xchg rbx, r8
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
push rdx
push rbx
xchg qword [rsp + 0x10], r15
add rsp, 0x18
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
push rbx
push rcx
push rcx
push rdx
push rcx
push rdx
push rbx
xchg qword [rsp + 0x38], r12
pop rbx
pop rdx
pop rcx
pop rdx
pop rcx
pop rcx
pop rbx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbp
nop
add rsp, 8
jmp qword [rsp - 8]
xchg r11, rax
mov rdx, r11
xchg r11, rax
lea rcx, [rsp + 0x70]
call fcn.14004c260
lea rdx, [0x140215e08]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14002f9a0
int3