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

Disassembly:
mov rax, rsp
mov byte [rax + 0x10], dl
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x778]
sub rsp, 0x838
mov qword [rbp + 0x4f8], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
mov r13, rcx
xor ebx, ebx
mov dword [rbp + 0x790], ebx
lea r11d, [rbx + 1]
test rcx, rcx
je 0x1400ee7bc
lea r9d, [rbx + 0xf]
lea r10d, [rbx + 0x18]
or r14, 0xffffffffffffffff
lea esi, [rbx + 8]
lea r8d, [rbx + 0x61]
lea r15d, [rbx + 0x6c]
mov r12w, 0x65
lea edi, [rbx + 0x10]
lea ecx, [rbx + 0xe]
test r13, r13
jns 0x1400ec589
test dl, dl
jne 0x1400ebf51
mov dword [rbp + 0x1f4], 0x6a
lea eax, [rbx + 0x31]
mov word [rbp + 0x1f8], ax
lea ecx, [rbx + 0x44]
mov word [rbp + 0x1fa], cx
lea eax, [rbx + 0x37]
mov word [rbp + 0x1fc], ax
lea edi, [rbx + 0x4a]
mov word [rbp + 0x1fe], di
lea eax, [rbx + 0x2e]
mov word [rbp + 0x200], ax
mov word [rbp + 0x202], r9w
lea eax, [rbx + 6]
mov word [rbp + 0x204], ax
lea edx, [rbx + 0xb]
mov word [rbp + 0x206], dx
lea ecx, [rbx + 0x13]
mov word [rbp + 0x208], cx
lea eax, [rbx + 0x50]
mov word [rbp + 0x20a], ax
mov word [rbp + 0x20c], di
lea eax, [rbx + 0x25]
mov word [rbp + 0x20e], ax
lea eax, [rbx + 0xc]
mov word [rbp + 0x210], ax
mov word [rbp + 0x212], ax
mov word [rbp + 0x214], r9w
mov word [rbp + 0x216], r10w
mov word [rbp + 0x218], di
mov word [rbp + 0x21a], cx
lea r8d, [rbx + 5]
mov word [rbp + 0x21c], r8w
lea ecx, [rbx + 0x1f]
mov word [rbp + 0x21e], cx
mov word [rbp + 0x220], di
lea eax, [rbx + 2]
mov word [rbp + 0x222], ax
mov word [rbp + 0x224], dx
lea eax, [rbx + 0x1c]
mov word [rbp + 0x226], ax
mov word [rbp + 0x228], r9w
mov word [rbp + 0x22a], di
lea eax, [rbx + 0x1e]
mov word [rbp + 0x22c], ax
mov word [rbp + 0x22e], r8w
mov word [rbp + 0x230], di
mov word [rbp + 0x232], r10w
mov word [rbp + 0x234], r9w
lea eax, [rbx + 0xc]
mov word [rbp + 0x236], ax
mov word [rbp + 0x238], cx
lea eax, [rbx + 0x19]
mov word [rbp + 0x23a], ax
mov word [rbp + 0x23c], r9w
lea eax, [rbx + 0x44]
mov word [rbp + 0x23e], ax
xor eax, eax
mov word [rbp + 0x240], ax
movzx eax, word [rbp + 0x1f8]
mov edx, ebx
movzx eax, word [rbp + rdx*2 + 0x1f8]
mov ecx, dword [rbp + 0x1f4]
xor cx, ax
mov word [rbp + rdx*2 + 0x1f8], cx
add rdx, r11
cmp rdx, 0x24
jb 0x1400ebf09
mov word [rbp + 0x240], bx
lea rcx, [rbp + 0x1f8]
call fcn.1400acf00
nop
mov r8, rdi
xor edx, edx
lea rcx, [rbp + 0x1f8]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov edx, 0x10000000
xor ecx, ecx
lea r8d, [rcx + 4]
call fcn.1401bca14
mov rdi, rax
test rax, rax
je 0x1400ec392
xor edx, edx
mov r8d, 0x10000000
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov byte [rdi], 0xaa
lea rax, [rdi + 1]
mov ecx, 0x1f
mov byte [rax], cl
mov edx, 0xffffffd
lea r10d, [rcx - 0x1e]
xor cl, byte [rax - 1]
inc rax
mov byte [rax], cl
sub rdx, r10
jne 0x1400ebf95
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1402d2c98], eax
jle 0x1400ec304
lea rcx, [0x1402d2c98]
call fcn.14027b540
cmp dword [0x1402d2c98], r14d
jne 0x1400ec304
lea rax, [rbp + 0x498]
mov qword [rbp + 0x798], rax
mov dword [rsp + 0x40], 0x48
mov eax, dword [rsp + 0x40]
xor al, 0x56
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x40]
mov r8d, 1
add al, r8b
xor al, 0x69
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x40]
add al, 2
lea r9d, [r8 + 0x71]
xor al, r9b
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x40]
add al, 3
xor al, 0x74
mov byte [rsp + 0x47], al
mov eax, dword [rsp + 0x40]
add al, 4
xor al, 0x75
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x40]
add al, 5
xor al, 0x61
mov byte [rsp + 0x49], al
mov eax, dword [rsp + 0x40]
add al, 6
xor al, r15b
mov byte [rsp + 0x4a], al
mov eax, dword [rsp + 0x40]
add al, 7
xor al, 0x46
mov byte [rsp + 0x4b], al
mov eax, dword [rsp + 0x40]
add al, sil
xor al, r9b
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x40]
add al, 9
xor al, r12b
mov byte [rsp + 0x4d], al
mov eax, dword [rsp + 0x40]
add al, 0xa
xor al, r12b
mov byte [rsp + 0x4e], al
mov eax, dword [rsp + 0x40]
add al, 0xb
xor al, 0x45
mov byte [rsp + 0x4f], al
mov eax, dword [rsp + 0x40]
add al, 0xc
xor al, 0x78
mov byte [rsp + 0x50], al
xor eax, eax
mov byte [rsp + 0x51], al
mov al, byte [rsp + 0x44]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x44]
mov ecx, dword [rsp + 0x40]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x44], cl
add rdx, r8
cmp rdx, 0xd
jb 0x1400ec0a9
mov byte [rsp + 0x51], bl
mov qword [rbp + 0x498], rbx
mov qword [rbp + 0x4a8], rbx
mov edx, 0xf
mov qword [rbp + 0x4b0], rdx
lea rcx, [rsp + 0x44]
mov rbx, r14
xor eax, eax
inc rbx
cmp byte [rcx + rbx], al
jne 0x1400ec0ea
lea rcx, [rbp + 0x498]
cmp rbx, rdx
ja 0x1400ec11e
mov qword [rbp + 0x4a8], rbx
mov r8, rbx
lea rdx, [rsp + 0x44]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
xor eax, eax
mov byte [rbp + rbx + 0x498], al
jmp 0x1400ec12c
lea r9, [rsp + 0x44]
mov rdx, rbx
call fcn.1400ada10
nop
mov dword [rsp + 0x54], 0x3a
mov eax, dword [rsp + 0x54]
xor al, 0x6b
mov byte [rsp + 0x58], al
mov eax, dword [rsp + 0x54]
mov r8d, 1
add al, r8b
xor al, r12b
mov byte [rsp + 0x59], al
mov eax, dword [rsp + 0x54]
add al, 2
xor al, 0x72
mov byte [rsp + 0x5a], al
mov eax, dword [rsp + 0x54]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x5b], al
mov eax, dword [rsp + 0x54]
add al, 4
xor al, r12b
mov byte [rsp + 0x5c], al
mov eax, dword [rsp + 0x54]
add al, 5
xor al, r15b
mov byte [rsp + 0x5d], al
mov eax, dword [rsp + 0x54]
add al, 6
xor al, 0x33
mov byte [rsp + 0x5e], al
mov eax, dword [rsp + 0x54]
add al, 7
xor al, 0x32
mov byte [rsp + 0x5f], al
xor eax, eax
mov byte [rsp + 0x60], al
mov al, byte [rsp + 0x58]
xor eax, eax
mov edx, eax
mov al, byte [rsp + rdx + 0x58]
mov ecx, dword [rsp + 0x54]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x58], cl
add rdx, r8
cmp rdx, rsi
jb 0x1400ec1aa
xor esi, esi
mov byte [rsp + 0x60], sil
mov qword [rbp + 0x3e0], rsi
mov qword [rbp + 0x3f0], rsi
lea r15d, [rsi + 0xf]
mov qword [rbp + 0x3f8], r15
mov byte [rbp + 0x3e0], sil
lea rax, [rsp + 0x58]
mov rbx, r14
inc rbx
cmp byte [rax + rbx], sil
jne 0x1400ec1f1
lea rcx, [rbp + 0x3e0]
cmp rbx, r15
ja 0x1400ec225
mov qword [rbp + 0x3f0], rbx
mov r8, rbx
lea rdx, [rsp + 0x58]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + rbx + 0x3e0], sil
jmp 0x1400ec233
lea r9, [rsp + 0x58]
mov rdx, rbx
call fcn.1400ada10
nop
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x500]
call fcn.1401a82ac
nop
mov qword [rsp + 0x20], rsi
mov r9d, 1
lea r8, [rbp + 0x498]
mov rdx, rax
lea rcx, [0x1402d2520]
call fcn.14012e8b8
nop
mov rdx, qword [rbp + 0x3f8]
mov ecx, 0x10
cmp rdx, rcx
jb 0x1400ec2b1
inc rdx
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ec2ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ec2ac
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
mov qword [rbp + 0x3f0], rsi
mov qword [rbp + 0x3f8], r15
mov byte [rbp + 0x3e0], sil
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x58]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xe]
lea rcx, [rsp + 0x44]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x14028e758]
call fcn.14027b36c
nop
lea rcx, [0x1402d2c98]
call fcn.14027b4e0
jmp 0x1400ec306
xor esi, esi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
lea r15, [0x1402d2538]
mov rcx, r15
cmp qword [0x1402d2550], 0x10
cmovae rcx, qword [0x1402d2538]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x1400ec35f
mov rcx, r15
cmp qword [0x1402d2550], 0x10
cmovae rcx, qword [0x1402d2538]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1402d2530], rax
mov r8, rax
mov rdx, r15
call fcn.1400bc1a0
mov r9d, 0x4000
mov r8d, 0x10000000
mov rdx, rdi
mov rcx, rbx
call qword [0x1402d2528]
mov edi, 0x10
mov dl, byte [rbp + 0x788]
lea ecx, [rdi - 2]
lea r8d, [rdi + 0x51]
lea r11d, [rdi - 0xf]
jmp 0x1400ec58b
cmp byte [rbp + 0x788], bl
jne 0x1400ec582
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
mov dword [rbp + 0x44], 0x53
mov eax, dword [rbp + 0x44]
xor ax, 0x44
mov word [rbp + 0x48], ax
mov eax, dword [rbp + 0x44]
mov edi, 1
add ax, di
xor ax, 0x65
mov word [rbp + 0x4a], ax
mov eax, dword [rbp + 0x44]
add ax, 2
lea edx, [rdi + 0x6b]
xor ax, dx
mov word [rbp + 0x4c], ax
mov eax, dword [rbp + 0x44]
add ax, 3
lea r10d, [rdi + 0x60]
xor ax, r10w
mov word [rbp + 0x4e], ax
mov eax, dword [rbp + 0x44]
add ax, 4
xor ax, 0x79
mov word [rbp + 0x50], ax
mov eax, dword [rbp + 0x44]
add ax, 5
lea r15d, [rdi + 0x1f]
xor ax, r15w
mov word [rbp + 0x52], ax
mov eax, dword [rbp + 0x44]
add ax, 6
xor ax, r10w
mov word [rbp + 0x54], ax
mov eax, dword [rbp + 0x44]
add ax, 7
xor ax, dx
mov word [rbp + 0x56], ax
mov eax, dword [rbp + 0x44]
add ax, 8
xor ax, dx
mov word [rbp + 0x58], ax
mov eax, dword [rbp + 0x44]
add ax, 9
lea r9d, [rdi + 0x6e]
xor ax, r9w
mov word [rbp + 0x5a], ax
mov eax, dword [rbp + 0x44]
add ax, 0xa
xor ax, 0x63
mov word [rbp + 0x5c], ax
mov eax, dword [rbp + 0x44]
add ax, 0xb
xor ax, r10w
mov word [rbp + 0x5e], ax
mov eax, dword [rbp + 0x44]
add ax, 0xc
xor ax, 0x74
mov word [rbp + 0x60], ax
mov eax, dword [rbp + 0x44]
add ax, 0xd
lea r11d, [rdi + 0x68]
xor ax, r11w
mov word [rbp + 0x62], ax
mov eax, dword [rbp + 0x44]
add ax, 0xe
xor ax, r9w
mov word [rbp + 0x64], ax
mov eax, dword [rbp + 0x44]
add ax, 0xf
xor ax, 0x6e
mov word [rbp + 0x66], ax
mov eax, dword [rbp + 0x44]
add ax, 0x10
xor ax, r15w
mov word [rbp + 0x68], ax
mov eax, dword [rbp + 0x44]
add ax, 0x11
xor ax, 0x66
mov word [rbp + 0x6a], ax
mov eax, dword [rbp + 0x44]
add ax, 0x12
xor ax, r10w
mov word [rbp + 0x6c], ax
mov eax, dword [rbp + 0x44]
add ax, 0x13
xor ax, r11w
mov word [rbp + 0x6e], ax
mov eax, dword [rbp + 0x44]
add ax, 0x14
xor ax, dx
mov word [rbp + 0x70], ax
mov eax, dword [rbp + 0x44]
add ax, 0x15
xor ax, 0x65
mov word [rbp + 0x72], ax
mov eax, dword [rbp + 0x44]
add ax, 0x16
xor ax, 0x64
mov word [rbp + 0x74], ax
mov eax, dword [rbp + 0x44]
add ax, 0x17
xor ax, 0x3a
mov word [rbp + 0x76], ax
mov eax, dword [rbp + 0x44]
add ax, 0x18
xor ax, r15w
mov word [rbp + 0x78], ax
xor eax, eax
mov word [rbp + 0x7a], ax
movzx eax, word [rbp + 0x48]
mov rdx, rbx
lea ebx, [rdi + 0x18]
movzx eax, word [rbp + rdx*2 + 0x48]
mov ecx, dword [rbp + 0x44]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 + 0x48], cx
add rdx, rdi
cmp rdx, rbx
jb 0x1400ec544
xor ebx, ebx
mov word [rbp + 0x7a], bx
mov edx, r8d
lea rcx, [rbp + 0x48]
call fcn.14015cbdc
nop
xor edx, edx
lea r8d, [rbx + 0x34]
lea rcx, [rbp + 0x48]
call qword [sym.imp.VCRUNTIME140.dll_memset]
xor eax, eax
jmp 0x1400ee7bf
xor esi, esi
mov ebx, 0x6f
lea eax, [rbx - 0xc]
lea r9d, [rbx - 0x1c]
lea r15d, [rbx - 0x4f]
lea r12d, [rbx - 0x3b]
mov dword [rbp + 0x130], 0x55
mov dword [rsp + 0x78], 0x77
mov dword [rsp + 0x74], 0x43
mov dword [rsp + 0x7c], 0x67
mov dword [rbp + 0x134], 0x60
mov dword [rbp + 0x124], 0x7d
mov dword [rbp + 0x798], 0x6d
mov qword [rbp + 0x128], 0x7c
mov dword [rbp + 0x138], 0x7a
mov qword [rbp + 0x1a8], 0x40
bt r13, 0x3e
jae 0x1400ec7a5
test dl, dl
jne 0x1400ec7a5
mov dword [rbp + 0x1b0], ecx
mov ecx, dword [rbp + 0x130]
mov word [rbp + 0x1b4], cx
mov word [rbp + 0x1b6], r15w
mov word [rbp + 0x1b8], r9w
lea r10d, [rbx - 0x41]
mov word [rbp + 0x1ba], r10w
lea ecx, [rbx - 0x25]
mov word [rbp + 0x1bc], cx
lea r9d, [rbx - 4]
mov word [rbp + 0x1be], r9w
lea ecx, [rbx - 0xd]
mov word [rbp + 0x1c0], cx
mov word [rbp + 0x1c2], bx
mov edx, dword [rsp + 0x78]
mov word [rbp + 0x1c4], dx
mov word [rbp + 0x1c6], r12w
mov word [rbp + 0x1c8], r10w
mov edx, dword [rsp + 0x74]
mov word [rbp + 0x1ca], dx
mov r10d, dword [rsp + 0x7c]
mov word [rbp + 0x1cc], r10w
mov word [rbp + 0x1ce], cx
mov word [rbp + 0x1d0], cx
mov word [rbp + 0x1d2], r10w
mov word [rbp + 0x1d4], r8w
mov ecx, dword [rbp + 0x134]
mov word [rbp + 0x1d6], cx
mov edx, dword [rbp + 0x124]
mov word [rbp + 0x1d8], dx
lea r8d, [rbx - 0x41]
mov word [rbp + 0x1da], r8w
mov word [rbp + 0x1dc], r10w
mov word [rbp + 0x1de], cx
mov r8d, dword [rbp + 0x798]
mov word [rbp + 0x1e0], r8w
mov r8, qword [rbp + 0x128]
mov word [rbp + 0x1e2], r8w
mov word [rbp + 0x1e4], r9w
mov word [rbp + 0x1e6], ax
mov word [rbp + 0x1e8], r9w
mov word [rbp + 0x1ea], cx
mov eax, dword [rbp + 0x138]
mov word [rbp + 0x1ec], ax
mov word [rbp + 0x1ee], dx
mov word [rbp + 0x1f0], r15w
xor eax, eax
mov word [rbp + 0x1f2], ax
movzx eax, word [rbp + 0x1b4]
mov rdx, rsi
movzx eax, word [rbp + rdx*2 + 0x1b4]
mov ecx, dword [rbp + 0x1b0]
xor cx, ax
mov word [rbp + rdx*2 + 0x1b4], cx
add rdx, r11
cmp rdx, 0x1f
jb 0x1400ec759
mov word [rbp + 0x1f2], si
lea rcx, [rbp + 0x1b4]
call fcn.1400acf00
nop
mov r8, qword [rbp + 0x1a8]
xor edx, edx
lea rcx, [rbp + 0x1b4]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov esi, 0x79
lea edx, [rsi - 6]
bt r13, 0x3d
jae 0x1400ed60b
xor eax, eax
mov dword [rbp - 0x10], 0x33221100
lea ecx, [rsi - 0x35]
mov byte [rbp - 0xc], cl
mov ecx, dword [rbp + 0x130]
mov byte [rbp - 0xb], cl
mov byte [rbp - 0xa], 0x66
mov ecx, dword [rsp + 0x78]
mov byte [rbp - 9], cl
mov dword [rbp - 8], 0xbbaa9988
mov dword [rbp - 4], 0xffeeddcc
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2b0], rax
mov rdx, rdi
lea rcx, [rbp + 0x2a0]
call fcn.1400dd1f8
mov rbx, qword [rbp + 0x2a0]
mov r8, rdi
lea rdx, [rbp - 0x10]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memmove]
lea rax, [rbx + 0x10]
mov qword [rbp + 0x2a8], rax
or qword [rbp], 0xffffffffffffffff
or qword [rbp + 8], 0xffffffffffffffff
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2b8], xmm0
xor eax, eax
mov qword [rbp + 0x2c8], rax
mov rdx, rdi
lea rcx, [rbp + 0x2b8]
call fcn.1400dd1f8
mov rbx, qword [rbp + 0x2b8]
mov r8, rdi
lea rdx, [rbp]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memmove]
lea rax, [rbx + 0x10]
mov qword [rbp + 0x2c0], rax
xor eax, eax
mov dword [rbp + 0x80], 0x3020100
mov dword [rbp + 0x84], 0x7060504
mov dword [rbp + 0x88], 0xb0a0908
mov dword [rbp + 0x8c], 0xf0e0d0c
mov dword [rbp + 0x90], 0x13121110
mov dword [rbp + 0x94], 0x17161514
mov dword [rbp + 0x98], 0x1b1a1918
mov dword [rbp + 0x9c], 0x1f1e1d1c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x2e0], rax
mov rdx, r15
lea rcx, [rbp + 0x2d0]
call fcn.1400dd1f8
mov rbx, qword [rbp + 0x2d0]
mov r8, r15
lea rdx, [rbp + 0x80]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memmove]
lea rax, [rbx + 0x20]
mov qword [rbp + 0x2d8], rax
mov edi, 0x186a0
xor ebx, ebx
test r13d, r13d
je 0x1400ec92d
lea edi, [r13*4]
add edi, r13d
shl edi, 2
xorps xmm6, xmm6
mov r8d, 1
test rdi, rdi
js 0x1400ec942
cvtsi2sd xmm6, rdi
jmp 0x1400ec95a
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and rax, r8
or rcx, rax
cvtsi2sd xmm6, rcx
addsd xmm6, xmm6
divsd xmm6, qword [0x140291de8]
mulsd xmm6, qword [0x140291de0]
cmp byte [rbp + 0x788], bl
jne 0x1400ed0b2
mov eax, 0x28
mov word [rbp + 0x140], ax
mov eax, 0x7b
mov word [rbp + 0x142], ax
mov r10d, dword [rbp + 0x798]
mov word [rbp + 0x144], r10w
lea ecx, [rax - 0x10]
mov word [rbp + 0x146], cx
mov ecx, dword [rsp + 0x78]
mov word [rbp + 0x148], cx
lea ecx, [rax - 5]
mov word [rbp + 0x14a], cx
lea edx, [rax - 0xf]
mov word [rbp + 0x14c], dx
mov word [rbp + 0x14e], ax
lea eax, [rcx - 0x40]
mov word [rbp + 0x150], ax
mov word [rbp + 0x152], ax
mov word [rbp + 0x154], ax
mov word [rbp + 0x156], bx
movzx eax, word [rbp + 0x140]
mov rcx, rbx
lea ebx, [rdx - 0x64]
lea r13d, [rdx - 0x61]
movzx eax, word [rbp + rcx*2 + 0x140]
sub ax, bx
mov word [rbp + rcx*2 + 0x140], ax
add rcx, r8
cmp rcx, r13
jb 0x1400ec9fd
mov dword [rbp + 0xe8], 0x53
mov eax, dword [rbp + 0xe8]
xor ax, r15w
mov word [rbp + 0xec], ax
mov eax, dword [rbp + 0xe8]
add ax, r8w
xor ax, 0x72
mov word [rbp + 0xee], ax
mov eax, dword [rbp + 0xe8]
add ax, 2
mov r9d, 0x6f
xor ax, r9w
mov word [rbp + 0xf0], ax
mov eax, dword [rbp + 0xe8]
add ax, 3
xor ax, 0x75
mov word [rbp + 0xf2], ax
mov eax, dword [rbp + 0xe8]
add ax, 4
lea r11d, [r9 - 1]
xor ax, r11w
mov word [rbp + 0xf4], ax
mov eax, dword [rbp + 0xe8]
add ax, 5
xor ax, 0x64
mov word [rbp + 0xf6], ax
mov eax, dword [rbp + 0xe8]
add ax, 6
xor ax, 0x73
mov word [rbp + 0xf8], ax
mov eax, dword [rbp + 0xe8]
add ax, 7
xor ax, 0x2c
mov word [rbp + 0xfa], ax
mov eax, dword [rbp + 0xe8]
add ax, bx
xor ax, r15w
mov word [rbp + 0xfc], ax
mov eax, dword [rbp + 0xe8]
add ax, 9
xor ax, r10w
mov word [rbp + 0xfe], ax
mov eax, dword [rbp + 0xe8]
add ax, 0xa
lea r10d, [r9 - 0xe]
xor ax, r10w
mov word [rbp + 0x100], ax
mov eax, dword [rbp + 0xe8]
add ax, r13w
xor ax, si
mov word [rbp + 0x102], ax
mov eax, dword [rbp + 0xe8]
add ax, 0xc
xor ax, r15w
mov word [rbp + 0x104], ax
mov eax, dword [rbp + 0xe8]
lea r8d, [r9 - 0x62]
add ax, r8w
xor ax, 0x74
mov word [rbp + 0x106], ax
mov eax, dword [rbp + 0xe8]
add ax, 0xe
xor ax, r10w
mov word [rbp + 0x108], ax
mov eax, dword [rbp + 0xe8]
add ax, 0xf
xor ax, 0x6b
mov word [rbp + 0x10a], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x10
xor ax, 0x65
mov word [rbp + 0x10c], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x11
xor ax, r15w
mov word [rbp + 0x10e], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x12
xor ax, 0x72
mov word [rbp + 0x110], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x13
xor ax, r9w
mov word [rbp + 0x112], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x14
xor ax, 0x75
mov word [rbp + 0x114], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x15
xor ax, word [rsp + 0x7c]
mov word [rbp + 0x116], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x16
xor ax, 0x68
mov word [rbp + 0x118], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x17
xor ax, dx
mov word [rbp + 0x11a], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x18
xor ax, si
mov word [rbp + 0x11c], ax
mov eax, dword [rbp + 0xe8]
add ax, 0x19
xor ax, r15w
mov word [rbp + 0x11e], ax
xor eax, eax
mov word [rbp + 0x120], ax
movzx eax, word [rbp + 0xec]
xor r9d, r9d
mov edx, r9d
mov r13, qword [rbp + 0x780]
lea r10d, [r11 - 0x6d]
movzx eax, word [rbp + rdx*2 + 0xec]
mov ecx, dword [rbp + 0xe8]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 + 0xec], cx
add rdx, r10
cmp rdx, 0x1a
jb 0x1400ecc70
mov word [rbp + 0x120], r9w
mov eax, 0x68
mov word [rbp + 0x360], ax
lea r10d, [rax - 0x2d]
mov word [rbp + 0x362], r10w
lea eax, [r10 + 0x2f]
mov word [rbp + 0x364], ax
lea edx, [rax - 0x3d]
mov word [rbp + 0x366], dx
lea eax, [rdx + 0x24]
mov word [rbp + 0x368], ax
lea ecx, [rdx + 0x45]
mov word [rbp + 0x36a], cx
mov word [rbp + 0x36c], si
mov word [rbp + 0x36e], r11w
lea r9d, [r10 + 0x4b]
mov word [rbp + 0x370], r9w
lea eax, [rdx + 0x1a]
mov word [rbp + 0x372], ax
mov word [rbp + 0x374], dx
mov eax, dword [rbp + 0x134]
mov word [rbp + 0x376], ax
mov word [rbp + 0x378], cx
lea r11d, [r10 + 0x40]
mov word [rbp + 0x37a], r11w
lea edx, [rcx + 0xe]
mov word [rbp + 0x37c], dx
mov word [rbp + 0x37e], cx
mov word [rbp + 0x380], si
mov word [rbp + 0x382], cx
mov word [rbp + 0x384], dx
mov word [rbp + 0x386], dx
lea esi, [rcx - 0x45]
mov word [rbp + 0x388], si
lea esi, [rcx - 0x24]
mov word [rbp + 0x38a], si
lea esi, [rcx - 0x20]
mov word [rbp + 0x38c], si
mov word [rbp + 0x38e], ax
lea eax, [rcx - 0x33]
mov word [rbp + 0x390], ax
lea eax, [rcx - 0x30]
mov word [rbp + 0x392], ax
mov eax, dword [rsp + 0x74]
mov word [rbp + 0x394], ax
lea eax, [rcx - 0x45]
mov word [rbp + 0x396], ax
mov word [rbp + 0x398], cx
mov word [rbp + 0x39a], r11w
lea eax, [rcx - 2]
mov word [rbp + 0x39c], ax
lea eax, [rcx + 0xd]
mov word [rbp + 0x39e], ax
mov word [rbp + 0x3a0], r9w
mov eax, dword [rbp + 0x124]
mov word [rbp + 0x3a2], ax
lea ecx, [rdx + 1]
mov word [rbp + 0x3a4], cx
lea esi, [rdx - 0xa]
mov word [rbp + 0x3a6], si
mov rax, qword [rbp + 0x128]
mov word [rbp + 0x3a8], ax
mov word [rbp + 0x3aa], r11w
mov word [rbp + 0x3ac], dx
lea eax, [rdx - 0x44]
mov word [rbp + 0x3ae], ax
lea eax, [rdx - 0xf]
mov word [rbp + 0x3b0], ax
lea eax, [rdx - 0xe]
mov word [rbp + 0x3b2], ax
lea eax, [rdx - 0x10]
mov word [rbp + 0x3b4], ax
lea eax, [rdx - 1]
mov word [rbp + 0x3b6], ax
mov word [rbp + 0x3b8], r9w
mov eax, dword [rbp + 0x124]
mov word [rbp + 0x3ba], ax
mov word [rbp + 0x3bc], cx
mov word [rbp + 0x3be], si
mov rcx, qword [rbp + 0x128]
mov word [rbp + 0x3c0], cx
mov word [rbp + 0x3c2], r11w
mov word [rbp + 0x3c4], dx
mov word [rbp + 0x3c6], r10w
lea r9d, [r10 - 0xe]
mov word [rbp + 0x3c8], r9w
lea edx, [rsi - 0x1d]
mov word [rbp + 0x3ca], dx
mov word [rbp + 0x3cc], cx
mov word [rbp + 0x3ce], cx
mov word [rbp + 0x3d0], ax
mov word [rbp + 0x3d2], si
mov word [rbp + 0x3d4], r11w
lea eax, [rsi - 2]
mov word [rbp + 0x3d6], ax
mov word [rbp + 0x3d8], r9w
xor edx, edx
mov word [rbp + 0x3da], dx
movzx eax, word [rbp + 0x360]
mov ecx, edx
lea esi, [rdx + 1]
movzx eax, word [rbp + rcx*2 + 0x360]
sub ax, r8w
mov word [rbp + rcx*2 + 0x360], ax
add rcx, rsi
cmp rcx, 0x3d
jb 0x1400ecee9
cmp byte [0x1402cccc1], dl
je 0x1400ed072
lea rcx, [rbp + 0x540]
call fcn.1400ab8b4
nop
lea rdx, [rbp + 0x360]
lea rcx, [rbp + 0x540]
call fcn.1400ad624
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int______ptr64___cdecl_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::operator___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, [rbp + 0xec]
call fcn.1400ad624
movaps xmm1, xmm6
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int______ptr64___cdecl_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::operator___double____ptr64]
mov rcx, rax
lea rdx, [rbp + 0x140]
call fcn.1400ad624
lea rdx, [rbp + 0x438]
lea rcx, [rbp + 0x548]
call fcn.1400aca50
mov eax, 2
mov dword [rbp + 0x790], eax
lea rcx, [rbp + 0x438]
cmp qword [rbp + 0x450], rbx
cmovae rcx, qword [rbp + 0x438]
mov rax, qword [rbp + 0x448]
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x438]
cmovae rdx, qword [rbp + 0x438]
lea rcx, [rbp + 0x4b8]
call fcn.1400af5d0
mov dword [rbp + 0x790], 3
lea rdx, [0x140290d28]
lea rcx, [rbp + 0x4b8]
call fcn.1400ace7c
nop
lea rcx, [rbp + 0x438]
call fcn.1400ac668
nop
lea rcx, [rbp + 0x540]
call fcn.1400aa2f8
lea rdx, [rbp + 0x4b8]
mov cl, sil
call fcn.140173fb4
mov eax, 2
mov dword [rbp + 0x790], eax
mov rdx, qword [rbp + 0x4d0]
cmp rdx, 0x10
jb 0x1400ed057
inc rdx
mov rcx, qword [rbp + 0x4b8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ed052
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ed052
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
xor ebx, ebx
mov qword [rbp + 0x4c8], rbx
lea eax, [rbx + 0xf]
mov qword [rbp + 0x4d0], rax
mov byte [rbp + 0x4b8], bl
jmp 0x1400ed074
xor ebx, ebx
mov r8, qword [rbp + 0x128]
xor edx, edx
lea rcx, [rbp + 0x360]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x36]
lea rcx, [rbp + 0xec]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x18]
lea rcx, [rbp + 0x140]
call qword [sym.imp.VCRUNTIME140.dll_memset]
call fcn.1401a8938
mov rsi, rax
xor eax, eax
test rdi, rdi
je 0x1400ed21e
lea r8d, [rax + 1]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x420], xmm0
mov qword [rbp + 0x430], rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rbx
shr rdx, 1
lea rax, [rdx + rdx*2]
mov rcx, rbx
sub rcx, rax
jne 0x1400ed14a
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], r8b
mov dword [rsp + 0x20], r8d
mov r9d, 0x6610
lea r8, [rbp + 0x420]
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x2a0]
call fcn.1400c7960
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x30], rax
xor eax, eax
mov byte [rsp + 0x28], al
lea r10d, [rax + 1]
mov dword [rsp + 0x20], r10d
jmp 0x1400ed1a4
cmp rcx, r8
jne 0x1400ed1ca
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], r8b
mov eax, 2
mov dword [rsp + 0x20], eax
mov r9d, 0x6610
lea r8, [rbp + 0x420]
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x2a0]
call fcn.1400c7960
lea rax, [rbp + 0x2b8]
mov qword [rsp + 0x30], rax
xor eax, eax
mov byte [rsp + 0x28], al
mov eax, 2
mov dword [rsp + 0x20], eax
mov r9d, 0x6610
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x420]
call fcn.1400c7960
mov r8d, 1
mov rcx, qword [rbp + 0x420]
xor eax, eax
test rcx, rcx
je 0x1400ed212
mov rdx, qword [rbp + 0x430]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ed207
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ed4fd
call fcn.14027b384
xor eax, eax
lea r8d, [rax + 1]
add rbx, r8
cmp rbx, rdi
jb 0x1400ed0c9
call fcn.1401a8938
mov r9, rax
xor edi, edi
cmp byte [rbp + 0x788], dil
jne 0x1400ed504
lea eax, [rdi + 0x5b]
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0xc4]
xor ax, r15w
mov word [rbp + 0xc8], ax
mov eax, dword [rbp + 0xc4]
inc ax
xor ax, word [rbp + 0x798]
mov word [rbp + 0xca], ax
mov eax, dword [rbp + 0xc4]
add ax, 2
lea ecx, [rdi + 0x69]
xor ax, cx
mov word [rbp + 0xcc], ax
mov eax, dword [rbp + 0xc4]
lea r11d, [rdi + 3]
add ax, r11w
lea r10d, [rdi + 0x6c]
xor ax, r10w
mov word [rbp + 0xce], ax
mov eax, dword [rbp + 0xc4]
add ax, 4
xor ax, r10w
mov word [rbp + 0xd0], ax
mov eax, dword [rbp + 0xc4]
add ax, 5
xor ax, cx
mov word [rbp + 0xd2], ax
mov eax, dword [rbp + 0xc4]
add ax, 6
lea edx, [rdi + 0x73]
xor ax, dx
mov word [rbp + 0xd4], ax
mov eax, dword [rbp + 0xc4]
add ax, 7
xor ax, 0x65
mov word [rbp + 0xd6], ax
mov eax, dword [rbp + 0xc4]
lea r8d, [rdi + 8]
add ax, r8w
xor ax, 0x63
mov word [rbp + 0xd8], ax
mov eax, dword [rbp + 0xc4]
add ax, 9
lea ebx, [rdi + 0x6f]
xor ax, bx
mov word [rbp + 0xda], ax
mov eax, dword [rbp + 0xc4]
add ax, 0xa
xor ax, 0x6e
mov word [rbp + 0xdc], ax
mov eax, dword [rbp + 0xc4]
add ax, 0xb
xor ax, 0x64
mov word [rbp + 0xde], ax
mov eax, dword [rbp + 0xc4]
add ax, 0xc
xor ax, dx
mov word [rbp + 0xe0], ax
mov eax, dword [rbp + 0xc4]
lea edi, [rcx - 0x5c]
add ax, di
xor ax, 0x2e
mov word [rbp + 0xe2], ax
xor eax, eax
mov word [rbp + 0xe4], ax
movzx eax, word [rbp + 0xc8]
xor r13d, r13d
mov edx, r13d
lea r13d, [rcx - 0x68]
movzx eax, word [rbp + rdx*2 + 0xc8]
mov ecx, dword [rbp + 0xc4]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 + 0xc8], cx
add rdx, r13
cmp rdx, 0xe
jb 0x1400ed38e
xor r13d, r13d
mov word [rbp + 0xe4], r13w
lea edx, [r13 + 6]
mov dword [rbp - 0x54], edx
mov eax, dword [rbp - 0x54]
xor ax, 0x5b
mov word [rbp - 0x50], ax
mov eax, dword [rbp - 0x54]
lea r12d, [r13 + 1]
add ax, r12w
xor ax, 0x3e
mov word [rbp - 0x4e], ax
mov eax, dword [rbp - 0x54]
add ax, 2
xor ax, 0x5d
mov word [rbp - 0x4c], ax
mov eax, dword [rbp - 0x54]
add ax, r11w
xor ax, r15w
mov word [rbp - 0x4a], ax
mov eax, dword [rbp - 0x54]
add ax, 4
xor ax, 0x45
mov word [rbp - 0x48], ax
mov eax, dword [rbp - 0x54]
add ax, 5
xor ax, r10w
mov word [rbp - 0x46], ax
mov eax, dword [rbp - 0x54]
add ax, dx
xor ax, 0x61
mov word [rbp - 0x44], ax
mov eax, dword [rbp - 0x54]
add ax, 7
xor ax, 0x70
mov word [rbp - 0x42], ax
mov eax, dword [rbp - 0x54]
add ax, r8w
xor ax, 0x73
mov word [rbp - 0x40], ax
mov eax, dword [rbp - 0x54]
add ax, 9
xor ax, 0x65
mov word [rbp - 0x3e], ax
mov eax, dword [rbp - 0x54]
add ax, 0xa
xor ax, 0x64
mov word [rbp - 0x3c], ax
mov eax, dword [rbp - 0x54]
add ax, 0xb
xor ax, 0x3a
mov word [rbp - 0x3a], ax
mov eax, dword [rbp - 0x54]
add ax, 0xc
xor ax, r15w
mov word [rbp - 0x38], ax
xor eax, eax
mov word [rbp - 0x36], ax
movzx eax, word [rbp - 0x50]
mov edx, r13d
mov r13, qword [rbp + 0x780]
movzx eax, word [rbp + rdx*2 - 0x50]
mov ecx, dword [rbp - 0x54]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x50], cx
add rdx, r12
cmp rdx, rdi
jb 0x1400ed49b
xor edi, edi
mov word [rbp - 0x36], di
sub r9, rsi
lea r8, [rbp + 0xc8]
mov rdx, r9
lea rcx, [rbp - 0x50]
call fcn.14015cc58
nop
xor edx, edx
lea r8d, [rdi + 0x1c]
lea rcx, [rbp - 0x50]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdi + 0x1e]
lea rcx, [rbp + 0xc8]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea r12d, [rdi + 0x34]
jmp 0x1400ed509
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov ebx, 0x6f
mov rcx, qword [rbp + 0x2d0]
mov esi, 0x1000
test rcx, rcx
je 0x1400ed55f
mov rdx, qword [rbp + 0x2e0]
sub rdx, rcx
mov rax, rcx
cmp rdx, rsi
jb 0x1400ed548
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ed548
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x2e0], rdi
mov rcx, qword [rbp + 0x2b8]
test rcx, rcx
je 0x1400ed5b0
mov rdx, qword [rbp + 0x2c8]
sub rdx, rcx
mov rax, rcx
cmp rdx, rsi
jb 0x1400ed599
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ed599
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2b8], xmm0
mov qword [rbp + 0x2c8], rdi
mov rcx, qword [rbp + 0x2a0]
test rcx, rcx
je 0x1400ed601
mov rdx, qword [rbp + 0x2b0]
sub rdx, rcx
mov rax, rcx
cmp rdx, rsi
jb 0x1400ed5ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ed5ea
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2b0], rdi
mov esi, 0x79
lea edx, [rsi - 6]
jmp 0x1400ed60d
xor edi, edi
test r13d, r13d
je 0x1400ee7b6
mov r11d, 0x26
cmp byte [rbp + 0x788], dil
jne 0x1400ed8e2
mov dword [rbp - 0x6c], 0xd
mov eax, dword [rbp - 0x6c]
xor ax, r15w
mov word [rbp - 0x68], ax
mov eax, dword [rbp - 0x6c]
lea r10d, [r11 - 0x25]
add ax, r10w
xor ax, dx
mov word [rbp - 0x66], ax
mov eax, dword [rbp - 0x6c]
add ax, 2
xor ax, 0x65
mov word [rbp - 0x64], ax
mov eax, dword [rbp - 0x6c]
add ax, 3
lea r8d, [r11 + 0x3d]
xor ax, r8w
mov word [rbp - 0x62], ax
mov eax, dword [rbp - 0x6c]
add ax, 4
xor ax, bx
mov word [rbp - 0x60], ax
mov eax, dword [rbp - 0x6c]
add ax, 5
xor ax, 0x6e
mov word [rbp - 0x5e], ax
mov eax, dword [rbp - 0x6c]
add ax, 6
xor ax, 0x64
mov word [rbp - 0x5c], ax
mov eax, dword [rbp - 0x6c]
add ax, 7
xor ax, dx
mov word [rbp - 0x5a], ax
mov eax, dword [rbp - 0x6c]
lea edi, [r11 - 0x1e]
add ax, di
xor ax, 0x2e
mov word [rbp - 0x58], ax
xor eax, eax
mov word [rbp - 0x56], ax
movzx eax, word [rbp - 0x68]
xor r9d, r9d
mov edx, r9d
movzx eax, word [rbp + rdx*2 - 0x68]
mov ecx, dword [rbp - 0x6c]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x68], cx
add rdx, r10
cmp rdx, 9
jb 0x1400ed6cb
mov word [rbp - 0x56], r9w
mov eax, 0x61
mov word [rbp + 0x244], ax
mov word [rbp + 0x246], r12w
mov word [rbp + 0x248], r8w
mov word [rbp + 0x24a], r11w
mov eax, 0x4a
mov word [rbp + 0x24c], ax
lea ecx, [rax + 0x21]
mov word [rbp + 0x24e], cx
lea r9d, [rax + 0x28]
mov word [rbp + 0x250], r9w
mov r8d, dword [rsp + 0x7c]
mov word [rbp + 0x252], r8w
lea edx, [rax + 0x35]
mov word [rbp + 0x254], dx
mov rax, qword [rbp + 0x1a8]
mov word [rbp + 0x256], ax
mov word [rbp + 0x258], r11w
lea eax, [rcx - 0x22]
mov word [rbp + 0x25a], ax
mov word [rbp + 0x25c], r9w
mov word [rbp + 0x25e], r8w
mov word [rbp + 0x260], si
mov word [rbp + 0x262], si
mov word [rbp + 0x264], bx
lea eax, [rcx - 2]
mov word [rbp + 0x266], ax
mov word [rbp + 0x268], r11w
lea eax, [rcx - 1]
mov word [rbp + 0x26a], ax
mov word [rbp + 0x26c], cx
mov word [rbp + 0x26e], r9w
mov word [rbp + 0x270], r8w
mov word [rbp + 0x272], dx
mov word [rbp + 0x274], r11w
mov word [rbp + 0x276], si
mov eax, dword [rbp + 0x138]
mov word [rbp + 0x278], ax
lea r9d, [rcx + 0xd]
mov word [rbp + 0x27a], r9w
mov word [rbp + 0x27c], r8w
mov word [rbp + 0x27e], ax
mov word [rbp + 0x280], cx
mov ecx, dword [rbp + 0x798]
mov word [rbp + 0x282], cx
mov word [rbp + 0x284], dx
mov word [rbp + 0x286], r12w
mov word [rbp + 0x288], r11w
lea edx, [r9 - 0x1b]
mov word [rbp + 0x28a], dx
mov word [rbp + 0x28c], r8w
mov word [rbp + 0x28e], bx
mov word [rbp + 0x290], ax
mov word [rbp + 0x292], bx
lea eax, [rdx + 0x17]
mov word [rbp + 0x294], ax
mov word [rbp + 0x296], cx
mov word [rbp + 0x298], r11w
xor esi, esi
mov word [rbp + 0x29a], si
movzx eax, word [rbp + 0x244]
mov ecx, esi
lea edx, [rsi + 6]
lea r15d, [r9 - 0x58]
movzx eax, word [rbp + rcx*2 + 0x244]
sub ax, dx
mov word [rbp + rcx*2 + 0x244], ax
add rcx, r10
cmp rcx, 0x2b
jb 0x1400ed884
mov eax, 0x10624dd3
mul r13d
shr edx, 6
lea r8, [rbp - 0x68]
lea rcx, [rbp + 0x244]
call fcn.14015ccd4
nop
xor edx, edx
lea r8d, [rdx + 0x58]
lea rcx, [rbp + 0x244]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x14]
lea rcx, [rbp - 0x68]
call qword [sym.imp.VCRUNTIME140.dll_memset]
jmp 0x1400ed8e9
mov edi, 8
xor esi, esi
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1402d26dc], eax
jle 0x1400edbdb
lea rcx, [0x1402d26dc]
call fcn.14027b540
cmp dword [0x1402d26dc], r14d
jne 0x1400edbdb
lea rax, [rbp + 0x458]
mov qword [rbp + 0x138], rax
mov eax, 0x19
mov dword [rbp - 0x80], eax
mov byte [rbp - 0x7c], 0x5a
lea r12d, [rax + 0x52]
mov byte [rbp - 0x7b], r12b
mov rax, qword [rbp + 0x128]
mov byte [rbp - 0x7a], al
lea ecx, [r12 + 0xd]
mov byte [rbp - 0x79], cl
mov ecx, dword [rbp + 0x798]
mov byte [rbp - 0x78], cl
mov byte [rbp - 0x77], al
mov byte [rbp - 0x76], 0x5c
mov byte [rbp - 0x75], bl
mov byte [rbp - 0x74], al
mov eax, dword [rsp + 0x78]
mov byte [rbp - 0x73], al
mov byte [rbp - 0x72], cl
lea eax, [r12 - 0x1d]
mov byte [rbp - 0x71], al
xor eax, eax
mov byte [rbp - 0x70], al
mov al, byte [rbp - 0x7c]
mov rdx, rsi
lea esi, [r12 - 0x6a]
lea r13d, [r12 - 0x5f]
mov al, byte [rbp + rdx - 0x7c]
mov ecx, dword [rbp - 0x80]
xor cl, al
mov byte [rbp + rdx - 0x7c], cl
add rdx, rsi
cmp rdx, r13
jb 0x1400ed993
xor esi, esi
mov byte [rbp - 0x70], sil
mov qword [rbp + 0x458], rsi
mov qword [rbp + 0x468], rsi
lea ecx, [rsi + 0xf]
mov qword [rbp + 0x470], rcx
lea rax, [rbp - 0x7c]
mov rbx, r14
mov r13, qword [rbp + 0x780]
inc rbx
cmp byte [rax + rbx], sil
jne 0x1400ed9d4
cmp rbx, rcx
lea rcx, [rbp + 0x458]
ja 0x1400eda07
mov qword [rbp + 0x468], rbx
mov r8, rbx
lea rdx, [rbp - 0x7c]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + rbx + 0x458], sil
jmp 0x1400eda14
lea r9, [rbp - 0x7c]
mov rdx, rbx
call fcn.1400ada10
nop
mov dword [rsp + 0x64], 0x63
mov eax, dword [rsp + 0x64]
xor al, r12b
mov byte [rsp + 0x68], al
mov eax, dword [rsp + 0x64]
mov ebx, 1
add al, bl
xor al, 0x65
mov byte [rsp + 0x69], al
mov eax, dword [rsp + 0x64]
add al, 2
xor al, 0x72
mov byte [rsp + 0x6a], al
mov eax, dword [rsp + 0x64]
add al, 3
xor al, 0x6e
mov byte [rsp + 0x6b], al
mov eax, dword [rsp + 0x64]
add al, 4
xor al, 0x65
mov byte [rsp + 0x6c], al
mov eax, dword [rsp + 0x64]
add al, 5
xor al, 0x6c
mov byte [rsp + 0x6d], al
mov eax, dword [rsp + 0x64]
add al, 6
xor al, 0x33
mov byte [rsp + 0x6e], al
mov eax, dword [rsp + 0x64]
add al, 7
xor al, 0x32
mov byte [rsp + 0x6f], al
xor eax, eax
mov byte [rsp + 0x70], al
mov al, byte [rsp + 0x68]
mov rdx, rsi
mov al, byte [rsp + rdx + 0x68]
mov ecx, dword [rsp + 0x64]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x68], cl
add rdx, rbx
cmp rdx, rdi
jb 0x1400eda8d
mov byte [rsp + 0x70], sil
mov qword [rbp + 0x400], rsi
mov qword [rbp + 0x410], rsi
mov edi, 0xf
mov qword [rbp + 0x418], rdi
mov byte [rbp + 0x400], sil
lea rax, [rsp + 0x68]
inc r14
cmp byte [rax + r14], sil
jne 0x1400edad0
lea rcx, [rbp + 0x400]
cmp r14, rdi
ja 0x1400edb04
mov qword [rbp + 0x410], r14
mov r8, r14
lea rdx, [rsp + 0x68]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + r14 + 0x400], sil
jmp 0x1400edb12
lea r9, [rsp + 0x68]
mov rdx, r14
call fcn.1400ada10
nop
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x520]
call fcn.1401a82ac
nop
mov qword [rsp + 0x20], rsi
mov r9b, bl
lea r8, [rbp + 0x458]
mov rdx, rax
lea rcx, [0x1402d2c10]
call fcn.1400b8e5c
nop
mov rdx, qword [rbp + 0x418]
cmp rdx, 0x10
jb 0x1400edb89
inc rdx
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400edb84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400edb84
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
mov qword [rbp + 0x410], rsi
mov qword [rbp + 0x418], rdi
mov byte [rbp + 0x400], sil
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x68]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xd]
lea rcx, [rbp - 0x7c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x14028e74c]
call fcn.14027b36c
nop
lea rcx, [0x1402d26dc]
call fcn.14027b4e0
jmp 0x1400edbe0
mov ebx, 1
lea rdi, [0x1402d2c28]
mov rcx, rdi
cmp qword [0x1402d2c40], 0x10
cmovae rcx, qword [0x1402d2c28]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x1400edc30
mov rcx, rdi
cmp qword [0x1402d2c40], 0x10
cmovae rcx, qword [0x1402d2c28]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1402d2c20], rax
mov r8, rax
mov rdx, rdi
call fcn.1400bc1a0
lea r9, [0x140290c34]
xor r8d, r8d
mov edx, ebx
xor ecx, ecx
call qword [0x1402d2c18]
mov r14, rax
mov qword [rbp + 0x128], rax
test rax, rax
je 0x1400ee651
call fcn.1401a8938
mov rsi, rax
xor r8d, r8d
mov edx, r13d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov ebx, eax
mov dword [rbp + 0x780], eax
call fcn.1401a8938
mov rdi, rax
xor eax, eax
cmp ebx, 0x102
jne 0x1400edcb4
mov rdx, rdi
sub rdx, rsi
lea ecx, [r13 - 0x1f4]
cmp rdx, rcx
jb 0x1400edcb4
lea ecx, [r13 + 0x1f4]
cmp rdx, rcx
ja 0x1400edcb4
test rsi, rsi
je 0x1400edcb4
test rdi, rdi
jne 0x1400ee418
cmp byte [rbp + 0x788], al
jne 0x1400ee418
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x138], eax
mov dword [rbp + 0xa0], 0x63
mov eax, dword [rbp + 0xa0]
xor ax, 0x2c
mov word [rbp + 0xa4], ax
mov eax, dword [rbp + 0xa0]
mov r12d, 1
add ax, r12w
xor ax, r15w
mov word [rbp + 0xa6], ax
mov eax, dword [rbp + 0xa0]
add ax, 2
lea r8d, [r12 + 0x6b]
xor ax, r8w
mov word [rbp + 0xa8], ax
mov eax, dword [rbp + 0xa0]
lea r10d, [r12 + 2]
add ax, r10w
xor ax, 0x61
mov word [rbp + 0xaa], ax
mov eax, dword [rbp + 0xa0]
add ax, 4
xor ax, 0x73
mov word [rbp + 0xac], ax
mov eax, dword [rbp + 0xa0]
add ax, 5
xor ax, 0x74
mov word [rbp + 0xae], ax
mov eax, dword [rbp + 0xa0]
add ax, 6
xor ax, r15w
mov word [rbp + 0xb0], ax
mov eax, dword [rbp + 0xa0]
add ax, 7
xor ax, 0x65
mov word [rbp + 0xb2], ax
mov eax, dword [rbp + 0xa0]
lea r13d, [r12 + 7]
add ax, r13w
lea edx, [r12 + 0x71]
xor ax, dx
mov word [rbp + 0xb4], ax
mov eax, dword [rbp + 0xa0]
add ax, 9
xor ax, dx
mov word [rbp + 0xb6], ax
mov eax, dword [rbp + 0xa0]
add ax, 0xa
lea r9d, [r12 + 0x6e]
xor ax, r9w
mov word [rbp + 0xb8], ax
mov eax, dword [rbp + 0xa0]
add ax, 0xb
xor ax, dx
mov word [rbp + 0xba], ax
mov eax, dword [rbp + 0xa0]
add ax, 0xc
xor ax, 0x3a
mov word [rbp + 0xbc], ax
mov eax, dword [rbp + 0xa0]
lea r11d, [r12 + 0xc]
add ax, r11w
xor ax, r15w
mov word [rbp + 0xbe], ax
xor eax, eax
mov word [rbp + 0xc0], ax
movzx eax, word [rbp + 0xa4]
xor eax, eax
mov edx, eax
lea ebx, [rax + 0xe]
movzx eax, word [rbp + rdx*2 + 0xa4]
mov ecx, dword [rbp + 0xa0]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 + 0xa4], cx
add rdx, r12
cmp rdx, rbx
jb 0x1400ede30
xor eax, eax
mov word [rbp + 0xc0], ax
lea edx, [rax + 6]
mov dword [rbp + 0x10], edx
mov eax, dword [rbp + 0x10]
xor ax, r15w
mov word [rbp + 0x14], ax
mov eax, dword [rbp + 0x10]
add ax, r12w
xor ax, word [rbp + 0x798]
mov word [rbp + 0x16], ax
mov eax, dword [rbp + 0x10]
add ax, 2
lea ecx, [rdx + 0x63]
xor ax, cx
mov word [rbp + 0x18], ax
mov eax, dword [rbp + 0x10]
add ax, r10w
xor ax, r8w
mov word [rbp + 0x1a], ax
mov eax, dword [rbp + 0x10]
add ax, 4
xor ax, r8w
mov word [rbp + 0x1c], ax
mov eax, dword [rbp + 0x10]
add ax, 5
xor ax, cx
mov word [rbp + 0x1e], ax
mov eax, dword [rbp + 0x10]
add ax, dx
lea edx, [rcx + 0xa]
xor ax, dx
mov word [rbp + 0x20], ax
mov eax, dword [rbp + 0x10]
add ax, 7
xor ax, 0x65
mov word [rbp + 0x22], ax
mov eax, dword [rbp + 0x10]
add ax, r13w
xor ax, 0x63
mov word [rbp + 0x24], ax
mov eax, dword [rbp + 0x10]
add ax, 9
xor ax, r9w
mov word [rbp + 0x26], ax
mov eax, dword [rbp + 0x10]
add ax, 0xa
xor ax, 0x6e
mov word [rbp + 0x28], ax
mov eax, dword [rbp + 0x10]
add ax, 0xb
xor ax, 0x64
mov word [rbp + 0x2a], ax
mov eax, dword [rbp + 0x10]
add ax, 0xc
xor ax, dx
mov word [rbp + 0x2c], ax
mov eax, dword [rbp + 0x10]
add ax, r11w
xor ax, 0x2e
mov word [rbp + 0x2e], ax
mov eax, dword [rbp + 0x10]
add ax, bx
xor ax, r15w
mov word [rbp + 0x30], ax
mov eax, dword [rbp + 0x10]
add ax, 0xf
xor ax, 0x52
mov word [rbp + 0x32], ax
mov eax, dword [rbp + 0x10]
add ax, 0x10
xor ax, 0x65
mov word [rbp + 0x34], ax
mov eax, dword [rbp + 0x10]
add ax, 0x11
xor ax, dx
mov word [rbp + 0x36], ax
mov eax, dword [rbp + 0x10]
add ax, 0x12
xor ax, 0x75
mov word [rbp + 0x38], ax
mov eax, dword [rbp + 0x10]
add ax, 0x13
xor ax, r8w
mov word [rbp + 0x3a], ax
mov eax, dword [rbp + 0x10]
add ax, 0x14
xor ax, 0x74
mov word [rbp + 0x3c], ax
mov eax, dword [rbp + 0x10]
add ax, 0x15
xor ax, 0x3a
mov word [rbp + 0x3e], ax
mov eax, dword [rbp + 0x10]
lea r9d, [rcx - 0x53]
add ax, r9w
xor ax, r15w
mov word [rbp + 0x40], ax
xor eax, eax
mov word [rbp + 0x42], ax
movzx eax, word [rbp + 0x14]
xor r10d, r10d
mov edx, r10d
mov ebx, dword [rbp + 0x780]
mov r12d, dword [rbp + 0x138]
lea r14d, [rcx - 0x52]
lea r10d, [rcx - 0x68]
movzx eax, word [rbp + rdx*2 + 0x14]
mov ecx, dword [rbp + 0x10]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 + 0x14], cx
add rdx, r10
cmp rdx, r14
jb 0x1400edfe3
xor r10d, r10d
mov word [rbp + 0x42], r10w
lea eax, [r10 + 0x37]
mov dword [rbp + 0x2e8], eax
mov word [rbp + 0x2ec], r8w
mov word [rbp + 0x2ee], r9w
lea eax, [r10 + 0x6a]
mov word [rbp + 0x2f0], ax
mov word [rbp + 0x2f2], r14w
lea eax, [r10 + 0x73]
mov word [rbp + 0x2f4], ax
lea r9d, [r10 + 0x52]
mov word [rbp + 0x2f6], r9w
lea eax, [r10 + 0x5b]
mov word [rbp + 0x2f8], ax
lea eax, [r10 + 0x56]
mov word [rbp + 0x2fa], ax
lea eax, [r10 + 0x4e]
mov word [rbp + 0x2fc], ax
mov word [rbp + 0x2fe], r9w
lea eax, [r10 + 0x53]
mov word [rbp + 0x300], ax
mov word [rbp + 0x302], r14w
mov word [rbp + 0x304], r9w
lea ecx, [rax - 4]
mov word [rbp + 0x306], cx
mov word [rbp + 0x308], r9w
lea ecx, [rax + 1]
mov word [rbp + 0x30a], cx
lea ecx, [rax - 0x11]
mov word [rbp + 0x30c], cx
mov ecx, dword [rsp + 0x74]
mov word [rbp + 0x30e], cx
lea edx, [rax + 0xb]
mov word [rbp + 0x310], dx
lea r8d, [r10 + 0x58]
mov word [rbp + 0x312], r8w
lea ecx, [rax + 6]
mov word [rbp + 0x314], cx
mov word [rbp + 0x316], r14w
mov rcx, qword [rbp + 0x1a8]
mov word [rbp + 0x318], cx
lea ecx, [rax + 3]
mov word [rbp + 0x31a], cx
lea ecx, [rax - 0xf]
mov word [rbp + 0x31c], cx
mov word [rbp + 0x31e], r14w
mov word [rbp + 0x320], cx
lea ecx, [rax + 0xc]
mov word [rbp + 0x322], cx
mov word [rbp + 0x324], r8w
lea ecx, [rax - 0xe]
mov word [rbp + 0x326], cx
mov ecx, dword [rsp + 0x74]
mov word [rbp + 0x328], cx
mov word [rbp + 0x32a], r9w
lea ecx, [rax + 6]
mov word [rbp + 0x32c], cx
mov word [rbp + 0x32e], r9w
mov word [rbp + 0x330], ax
mov word [rbp + 0x332], r14w
mov word [rbp + 0x334], r8w
lea ecx, [rax - 0xe]
mov word [rbp + 0x336], cx
mov word [rbp + 0x338], r14w
lea ecx, [rax - 2]
mov word [rbp + 0x33a], cx
lea r8d, [r10 + 0x56]
mov word [rbp + 0x33c], r8w
mov word [rbp + 0x33e], dx
lea edx, [rax + 8]
mov word [rbp + 0x340], dx
mov word [rbp + 0x342], r9w
mov word [rbp + 0x344], ax
lea ecx, [rax - 0x3a]
mov word [rbp + 0x346], cx
mov word [rbp + 0x348], r14w
lea ecx, [rax + 0x1f]
mov word [rbp + 0x34a], cx
mov word [rbp + 0x34c], dx
mov word [rbp + 0x34e], r8w
lea ecx, [rax - 0xc]
mov word [rbp + 0x350], cx
lea ecx, [rax - 0xf]
mov word [rbp + 0x352], cx
mov word [rbp + 0x354], r9w
mov word [rbp + 0x356], ax
mov word [rbp + 0x358], r11w
mov word [rbp + 0x35a], r14w
xor eax, eax
mov word [rbp + 0x35c], ax
movzx eax, word [rbp + 0x2ec]
mov edx, r10d
mov r14, qword [rbp + 0x128]
lea r10d, [rdx + 1]
movzx eax, word [rbp + rdx*2 + 0x2ec]
mov ecx, dword [rbp + 0x2e8]
xor cx, ax
mov word [rbp + rdx*2 + 0x2ec], cx
add rdx, r10
cmp rdx, 0x38
jb 0x1400ee234
xor r10d, r10d
mov word [rbp + 0x35c], r10w
cmp byte [0x1402cccc1], r10b
je 0x1400ee3da
lea rcx, [rbp + 0x630]
call fcn.1400ab8b4
nop
lea rdx, [rbp + 0x2ec]
lea rcx, [rbp + 0x630]
call fcn.1400ad624
mov rdx, rdi
sub rdx, rsi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int______ptr64___cdecl_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::operator___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, [rbp + 0x14]
call fcn.1400ad624
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int______ptr64___cdecl_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [rbp + 0xa4]
call fcn.1400ad624
mov edx, r12d
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int______ptr64___cdecl_std::basic_ostream_unsigned_short_int__struct_std::char_traits_unsigned_short_int__::operator___unsigned_long_int____ptr64]
lea rdx, [rbp + 0x478]
lea rcx, [rbp + 0x638]
call fcn.1400aca50
mov ebx, dword [rbp + 0x790]
or ebx, r13d
mov dword [rbp + 0x790], ebx
lea rcx, [rbp + 0x478]
cmp qword [rbp + 0x490], r13
cmovae rcx, qword [rbp + 0x478]
mov rax, qword [rbp + 0x488]
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x478]
cmovae rdx, qword [rbp + 0x478]
lea rcx, [rbp + 0x4d8]
call fcn.1400af5d0
or ebx, 4
mov dword [rbp + 0x790], ebx
lea rdx, [0x140290d28]
lea rcx, [rbp + 0x4d8]
call fcn.1400ace7c
nop
lea rcx, [rbp + 0x478]
call fcn.1400ac668
nop
lea rcx, [rbp + 0x630]
call fcn.1400aa2f8
lea rdx, [rbp + 0x4d8]
mov ecx, 1
call fcn.140173fb4
and ebx, 0xfffffffb
mov dword [rbp + 0x790], ebx
mov rdx, qword [rbp + 0x4f0]
cmp rdx, 0x10
jb 0x1400ee3c1
inc rdx
mov rcx, qword [rbp + 0x4d8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ee3bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ee3bc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
xor eax, eax
mov qword [rbp + 0x4e8], rax
lea ecx, [rax + 0xf]
mov qword [rbp + 0x4f0], rcx
mov byte [rbp + 0x4d8], al
xor edx, edx
lea r8d, [rdx + 0x72]
lea rcx, [rbp + 0x2ec]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
mov ebx, 0x30
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x14]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rbx - 0x12]
lea rcx, [rbp + 0xa4]
call qword [sym.imp.VCRUNTIME140.dll_memset]
jmp 0x1400ee422
mov r13d, 8
lea ebx, [r13 + 0x28]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
sub rdi, rsi
mov qword [rbp + 0x780], rdi
xor esi, esi
cmp byte [rbp + 0x788], sil
jne 0x1400ee641
mov eax, dword [rsp + 0x74]
mov dword [rbp + 0x180], eax
lea eax, [rsi + 0x63]
mov word [rbp + 0x184], ax
lea eax, [rsi + 0x2e]
mov word [rbp + 0x186], ax
lea ecx, [rsi + 0x2a]
mov word [rbp + 0x188], cx
lea eax, [rsi + 0x2f]
mov word [rbp + 0x18a], ax
mov word [rbp + 0x18c], ax
mov word [rbp + 0x18e], cx
mov word [rbp + 0x190], bx
lea eax, [rsi + 0x26]
mov word [rbp + 0x192], ax
mov word [rbp + 0x194], r15w
lea eax, [rsi + 0x2c]
mov word [rbp + 0x196], ax
lea eax, [rsi + 0x2d]
mov word [rbp + 0x198], ax
lea eax, [rsi + 0x27]
mov word [rbp + 0x19a], ax
mov word [rbp + 0x19c], bx
mov eax, dword [rbp + 0x798]
mov word [rbp + 0x19e], ax
xor eax, eax
mov word [rbp + 0x1a0], ax
movzx eax, word [rbp + 0x184]
mov edx, esi
lea ebx, [rsi + 1]
movzx eax, word [rbp + rdx*2 + 0x184]
mov ecx, dword [rbp + 0x180]
xor cx, ax
mov word [rbp + rdx*2 + 0x184], cx
add rdx, rbx
cmp rdx, 0xe
jb 0x1400ee4e4
mov word [rbp + 0x1a0], si
mov eax, 0x59
mov dword [rbp - 0x34], eax
mov eax, dword [rbp - 0x34]
xor ax, 0x5b
mov word [rbp - 0x30], ax
mov eax, dword [rbp - 0x34]
add ax, bx
xor ax, 0x3e
mov word [rbp - 0x2e], ax
mov eax, dword [rbp - 0x34]
add ax, 2
xor ax, 0x5d
mov word [rbp - 0x2c], ax
mov eax, dword [rbp - 0x34]
add ax, 3
xor ax, r15w
mov word [rbp - 0x2a], ax
mov eax, dword [rbp - 0x34]
add ax, 4
xor ax, 0x45
mov word [rbp - 0x28], ax
mov eax, dword [rbp - 0x34]
add ax, 5
xor ax, 0x6c
mov word [rbp - 0x26], ax
mov eax, dword [rbp - 0x34]
add ax, 6
xor ax, 0x61
mov word [rbp - 0x24], ax
mov eax, dword [rbp - 0x34]
add ax, 7
xor ax, 0x70
mov word [rbp - 0x22], ax
mov eax, dword [rbp - 0x34]
add ax, r13w
xor ax, 0x73
mov word [rbp - 0x20], ax
mov eax, dword [rbp - 0x34]
add ax, 9
xor ax, 0x65
mov word [rbp - 0x1e], ax
mov eax, dword [rbp - 0x34]
add ax, 0xa
xor ax, 0x64
mov word [rbp - 0x1c], ax
mov eax, dword [rbp - 0x34]
add ax, 0xb
xor ax, 0x3a
mov word [rbp - 0x1a], ax
mov eax, dword [rbp - 0x34]
add ax, 0xc
xor ax, r15w
mov word [rbp - 0x18], ax
xor eax, eax
mov word [rbp - 0x16], ax
movzx eax, word [rbp - 0x30]
mov rdx, rsi
movzx eax, word [rbp + rdx*2 - 0x30]
mov ecx, dword [rbp - 0x34]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x30], cx
add rdx, rbx
cmp rdx, 0xd
jb 0x1400ee5e0
mov word [rbp - 0x16], si
lea r8, [rbp + 0x184]
mov rdi, qword [rbp + 0x780]
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.14015cc58
nop
xor edx, edx
lea r8d, [rdx + 0x1c]
lea rcx, [rbp - 0x30]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x1e]
lea rcx, [rbp + 0x184]
call qword [sym.imp.VCRUNTIME140.dll_memset]
jmp 0x1400ee646
mov ebx, 1
test rdi, rdi
jne 0x1400ee77e
jmp 0x1400ee65b
mov rdi, rsi
mov qword [rbp + 0x780], rsi
cmp byte [rbp + 0x788], sil
jne 0x1400ee77b
mov eax, 0x47
mov dword [rbp + 0x158], eax
mov eax, 0x1c
mov word [rbp + 0x15c], ax
lea r9d, [rax + 0x4a]
mov word [rbp + 0x15e], r9w
lea eax, [r9 - 0x4c]
mov word [rbp + 0x160], ax
mov r10d, dword [rsp + 0x7c]
mov word [rbp + 0x162], r10w
lea eax, [r9 - 0x63]
mov word [rbp + 0x164], ax
lea edx, [rax - 1]
mov word [rbp + 0x166], dx
lea r8d, [r9 - 0x5b]
mov word [rbp + 0x168], r8w
lea ecx, [rax + 3]
mov word [rbp + 0x16a], cx
lea r11d, [r9 - 0x48]
mov word [rbp + 0x16c], r11w
mov word [rbp + 0x16e], r10w
mov word [rbp + 0x170], bx
mov word [rbp + 0x172], cx
lea ecx, [rax + 0xb]
mov word [rbp + 0x174], cx
mov word [rbp + 0x176], r8w
mov word [rbp + 0x178], dx
mov word [rbp + 0x17a], ax
mov word [rbp + 0x17c], r9w
xor eax, eax
mov word [rbp + 0x17e], ax
movzx eax, word [rbp + 0x15c]
mov rdx, rsi
movzx eax, word [rbp + rdx*2 + 0x15c]
mov ecx, dword [rbp + 0x158]
xor cx, ax
mov word [rbp + rdx*2 + 0x15c], cx
add rdx, rbx
cmp rdx, 0x11
jb 0x1400ee72b
mov word [rbp + 0x17e], si
lea rcx, [rbp + 0x15c]
call fcn.1400acf00
nop
xor edx, edx
lea r8d, [rdx + 0x24]
lea rcx, [rbp + 0x15c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov rdi, qword [rbp + 0x780]
test rdi, rdi
xorps xmm0, xmm0
js 0x1400ee78a
cvtsi2sd xmm0, rdi
jmp 0x1400ee79f
mov rax, rdi
shr rax, 1
and rdi, rbx
or rax, rdi
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x140291de8]
mulsd xmm0, qword [0x140291de8]
cvttsd2si rax, xmm0
jmp 0x1400ee7bf
mov r11d, 1
mov eax, r11d
movaps xmm6, xmmword [rsp + 0x820]
add rsp, 0x838
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret