Function at 0x1402530e0
Capabilities:
Authenticate hmac
Encode data using xor
Parse pe header

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x368]
sub rsp, 0x468
mov qword [rbp + 0x278], 0xfffffffffffffffe
mov eax, 0x18
mov dword [rbp + 0x260], eax
lea edi, [rax - 0x17]
mov dword [rbp + 0x270], edi
xor ebx, ebx
mov qword [rbp + 0x268], rbx
mov edx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov qword [rsp + 0x68], rax
or rsi, 0xffffffffffffffff
mov qword [rbp + 0x248], rsi
lea r14d, [rdi + 0x66]
lea r12d, [rdi + 0x6a]
lea r13d, [rdi + 0xe]
lea r15d, [rdi + 0xf]
mov eax, dword [rdx + rax]
cmp dword [0x1402d9b0c], eax
jle 0x1402533d4
lea rcx, [0x1402d9b0c]
call fcn.14027b540
cmp dword [0x1402d9b0c], esi
jne 0x1402533d4
lea rax, [rbp + 0x1e8]
mov qword [rbp + 0x3b0], rax
mov byte [rsp + 0x48], 0x45
lea eax, [rdi + 0x73]
mov byte [rsp + 0x49], al
mov byte [rsp + 0x4a], r14b
lea edx, [rdi + 0x62]
mov byte [rsp + 0x4b], dl
lea eax, [rdi + 0x75]
mov byte [rsp + 0x4c], al
mov byte [rsp + 0x4d], r14b
lea eax, [rdi + 0x51]
mov byte [rsp + 0x4e], al
mov byte [rsp + 0x4f], r12b
lea edx, [rdi + 0x71]
mov byte [rsp + 0x50], dl
mov byte [rsp + 0x51], r14b
mov byte [rsp + 0x52], bl
mov al, byte [rsp + 0x48]
mov ecx, ebx
mov al, byte [rsp + rcx + 0x48]
sub al, 2
mov byte [rsp + rcx + 0x48], al
add rcx, rdi
cmp rcx, 0xa
jb 0x1402531d0
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f8], rbx
mov qword [rbp + 0x200], r13
lea rax, [rsp + 0x48]
mov r14, rsi
inc r14
cmp byte [rax + r14], bl
jne 0x140253200
lea rcx, [rbp + 0x1e8]
cmp r14, r13
ja 0x140253234
mov qword [rbp + 0x1f8], r14
mov r8, r14
lea rdx, [rsp + 0x48]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + r14 + 0x1e8], bl
jmp 0x140253242
lea r9, [rsp + 0x48]
mov rdx, r14
call fcn.1400ada10
nop
mov eax, 0x63
mov dword [rsp + 0x78], eax
lea r8d, [rax - 0x5b]
mov byte [rsp + 0x7c], r8b
lea eax, [r8 - 2]
mov byte [rsp + 0x7d], al
lea ecx, [rax + 0xb]
mov byte [rsp + 0x7e], cl
mov byte [rsp + 0x7f], 0xd
mov byte [rbp - 0x80], al
mov byte [rbp - 0x7f], r13b
lea eax, [rcx + 0x3f]
mov byte [rbp - 0x7e], al
lea r12d, [r8 + 0x49]
mov byte [rbp - 0x7d], r12b
xor eax, eax
mov byte [rbp - 0x7c], al
mov al, byte [rsp + 0x7c]
mov rdx, rbx
mov al, byte [rsp + rdx + 0x7c]
mov ecx, dword [rsp + 0x78]
xor cl, al
mov byte [rsp + rdx + 0x7c], cl
add rdx, rdi
cmp rdx, r8
jb 0x140253289
mov byte [rbp - 0x7c], bl
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], r13
mov byte [rbp + 0x188], bl
lea rax, [rsp + 0x7c]
mov r14, rsi
inc r14
cmp byte [rax + r14], bl
jne 0x1402532c5
lea rcx, [rbp + 0x188]
cmp r14, r13
ja 0x1402532f9
mov qword [rbp + 0x198], r14
mov r8, r14
lea rdx, [rsp + 0x7c]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + r14 + 0x188], bl
jmp 0x140253307
lea r9, [rsp + 0x7c]
mov rdx, r14
call fcn.1400ada10
nop
lea rdx, [rbp + 0x188]
lea rcx, [rbp + 0x2c0]
call fcn.1401a82ac
nop
mov qword [rsp + 0x20], rbx
mov r9b, dil
lea r8, [rbp + 0x1e8]
mov rdx, rax
lea rcx, [0x1402d8070]
call fcn.140260714
nop
mov rdx, qword [rbp + 0x1a0]
cmp rdx, r15
jb 0x14025337d
inc rdx
mov rcx, qword [rbp + 0x188]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140253378
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140253378
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], r13
mov byte [rbp + 0x188], bl
mov r14d, 9
mov r8d, r14d
xor edx, edx
lea rcx, [rsp + 0x7c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [r14 + 2]
lea rcx, [rsp + 0x48]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x14028f714]
call fcn.14027b36c
nop
lea rcx, [0x1402d9b0c]
call fcn.14027b4e0
jmp 0x1402533df
mov r12d, 0x51
lea r14d, [r12 - 0x48]
call fcn.14024be7c
test al, al
je 0x140253fb3
call fcn.14024be24
test al, al
je 0x140253fb3
lea r14, [0x1402d8088]
mov rcx, r14
cmp qword [0x1402d80a0], r15
cmovae rcx, qword [0x1402d8088]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x140253447
mov rcx, r14
cmp qword [0x1402d80a0], r15
cmovae rcx, qword [0x1402d8088]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1402d8080], rax
mov r8, rax
mov rdx, r14
call fcn.1400bc1a0
xor r9d, r9d
lea r8, [rbp + 0x260]
lea rdx, [rbp + 0x3c8]
lea rcx, [rbp + 0x3c0]
call qword [0x1402d8078]
test eax, eax
je 0x1402548cd
xor r8d, r8d
mov edx, edi
mov rcx, qword [rbp + 0x3c0]
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
je 0x1402548cd
lea rdx, [0x1402c7210]
lea rcx, [rbp + 0x2a0]
call fcn.1400ac788
nop
cmp qword [rbp + 0x2b0], rbx
sete al
mov byte [rbp + 0x3b0], al
mov byte [0x1402c61a7], al
mov r8, qword [rbp + 0x3c8]
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x340]
call fcn.140247fb4
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp + 0x70], xmm1
mov rcx, qword [rbp + 0x3c8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbp + 0x68]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x140253f9c
cmp qword [0x1402c7220], rbx
je 0x140253519
mov eax, dword [0x1402c7250]
cmp byte [0x1402c61a6], bl
cmovne eax, dword [rbp + 0x70]
mov dword [0x1402c7250], eax
lea rdx, [0x1402c7210]
lea rcx, [rbp + 0x2e0]
call fcn.1401af024
nop
lea r8, [0x1402c61e8]
mov rdx, rax
mov rcx, qword [rbp + 0x60]
call fcn.140244c9c
nop
lea rcx, [rbp + 0x2e0]
call fcn.1400ac668
mov r13d, 0x73
lea r15d, [r13 - 5]
lea r12d, [r13 + 5]
lea r14d, [r13 - 6]
mov rax, qword [rsp + 0x68]
mov ecx, 4
mov eax, dword [rcx + rax]
cmp dword [0x1402d9298], eax
jle 0x14025380c
lea rcx, [0x1402d9298]
call fcn.14027b540
cmp dword [0x1402d9298], esi
jne 0x14025380c
lea rax, [rbp + 0x208]
mov qword [rbp + 0x250], rax
mov byte [rsp + 0x53], 0x54
mov byte [rsp + 0x54], 0x7a
mov byte [rsp + 0x55], 0x58
lea eax, [r13 - 8]
mov byte [rsp + 0x56], al
mov byte [rsp + 0x57], 0x79
lea ecx, [rax + 0x10]
mov byte [rsp + 0x58], cl
mov byte [rsp + 0x59], r13b
mov byte [rsp + 0x5a], al
mov byte [rsp + 0x5b], 0x5a
mov byte [rsp + 0x5c], r15b
mov byte [rsp + 0x5d], r12b
mov byte [rsp + 0x5e], al
mov byte [rsp + 0x5f], 0x67
mov byte [rsp + 0x60], 0x6a
mov byte [rsp + 0x61], bl
mov al, byte [rsp + 0x53]
mov rcx, rbx
lea edx, [r13 - 0x6d]
mov al, byte [rsp + rcx + 0x53]
sub al, dl
mov byte [rsp + rcx + 0x53], al
add rcx, rdi
cmp rcx, 0xe
jb 0x1402535f6
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x218], rbx
mov qword [rbp + 0x220], 0xf
lea rax, [rsp + 0x53]
mov r14, rsi
inc r14
cmp byte [rax + r14], bl
jne 0x14025362a
lea rcx, [rbp + 0x208]
cmp r14, 0xf
ja 0x14025365f
mov qword [rbp + 0x218], r14
mov r8, r14
lea rdx, [rsp + 0x53]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + r14 + 0x208], bl
jmp 0x14025366d
lea r9, [rsp + 0x53]
mov rdx, r14
call fcn.1400ada10
nop
mov byte [rbp + 0x3b8], 0x77
mov eax, 0x7d
mov byte [rbp + 0x3b9], al
mov eax, 0x6d
mov byte [rbp + 0x3ba], al
mov eax, 0x75
mov byte [rbp + 0x3bb], al
mov byte [rbp + 0x3bc], al
mov byte [rbp + 0x3bd], bl
mov al, byte [rbp + 0x3b8]
mov rcx, rbx
mov al, byte [rbp + rcx + 0x3b8]
sub al, 9
mov byte [rbp + rcx + 0x3b8], al
add rcx, rdi
cmp rcx, 5
jb 0x1402536aa
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x1c0], 0xf
mov byte [rbp + 0x1a8], bl
lea rax, [rbp + 0x3b8]
mov r14, rsi
inc r14
cmp byte [rax + r14], bl
jne 0x1402536ec
lea rcx, [rbp + 0x1a8]
cmp r14, 0xf
ja 0x140253723
mov qword [rbp + 0x1b8], r14
mov r8, r14
lea rdx, [rbp + 0x3b8]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + r14 + 0x1a8], bl
jmp 0x140253733
lea r9, [rbp + 0x3b8]
mov rdx, r14
call fcn.1400ada10
nop
lea rdx, [rbp + 0x1a8]
lea rcx, [rbp + 0x300]
call fcn.1401a82ac
nop
mov qword [rsp + 0x20], rbx
mov r9b, dil
lea r8, [rbp + 0x208]
mov rdx, rax
lea rcx, [0x1402d82b0]
call fcn.1400ba9ec
nop
mov rdx, qword [rbp + 0x1c0]
mov r8d, 0x10
cmp rdx, r8
jb 0x1402537af
inc rdx
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402537aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1402537aa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
mov qword [rbp + 0x1b8], rbx
mov r14d, 0xf
mov qword [rbp + 0x1c0], r14
mov byte [rbp + 0x1a8], bl
xor edx, edx
lea r8d, [r14 - 9]
lea rcx, [rbp + 0x3b8]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
mov r8d, r14d
xor edx, edx
lea rcx, [rsp + 0x53]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x14028f708]
call fcn.14027b36c
nop
lea rcx, [0x1402d9298]
call fcn.14027b4e0
mov r14d, 0x6d
mov dl, dil
lea rcx, [rbp + 0x60]
call fcn.1402509c8
mov rdx, qword [rbp + 0x68]
lea rcx, [0x1402d82b0]
test al, al
jne 0x140253d9e
call fcn.1400bb05c
mov r9d, eax
mov eax, 0x6f
test r9d, r9d
je 0x1402539bf
lea ecx, [rax - 0x12]
mov word [rbp + 0x78], cx
lea edx, [rax - 0x4c]
mov word [rbp + 0x7a], dx
lea edx, [rax - 0x10]
mov word [rbp + 0x7c], dx
lea edx, [rax - 0x4d]
mov word [rbp + 0x7e], dx
lea ecx, [rax - 0x1f]
mov word [rbp + 0x80], cx
lea r8d, [rax + 7]
mov word [rbp + 0x82], r8w
lea ecx, [rax - 0x1b]
mov word [rbp + 0x84], cx
lea r11d, [rax - 8]
mov word [rbp + 0x86], r11w
lea r8d, [rax + 6]
mov word [rbp + 0x88], r8w
lea r10d, [rax + 8]
mov word [rbp + 0x8a], r10w
mov word [rbp + 0x8c], ax
mov word [rbp + 0x8e], r11w
lea r10d, [rax - 0x19]
mov word [rbp + 0x90], r10w
lea r10d, [rax - 5]
mov word [rbp + 0x92], r10w
lea eax, [rdx + 0x52]
mov word [rbp + 0x94], ax
mov word [rbp + 0x96], r11w
lea r8d, [rdx + 0x41]
mov word [rbp + 0x98], r8w
lea ecx, [rdx + 0x44]
mov word [rbp + 0x9a], cx
mov word [rbp + 0x9c], dx
lea eax, [rdx + 0x46]
mov word [rbp + 0x9e], ax
mov word [rbp + 0xa0], r8w
lea r8d, [rdx + 0x49]
mov word [rbp + 0xa2], r8w
mov word [rbp + 0xa4], r15w
mov word [rbp + 0xa6], r11w
mov word [rbp + 0xa8], cx
mov word [rbp + 0xaa], dx
lea eax, [rdx + 0x57]
mov word [rbp + 0xac], ax
mov word [rbp + 0xae], r8w
lea eax, [rdx + 0x54]
mov word [rbp + 0xb0], ax
mov word [rbp + 0xb2], r10w
lea r10d, [rdx + 0x1a]
mov word [rbp + 0xb4], r10w
mov word [rbp + 0xb6], dx
lea eax, [rdx + 0x10]
mov word [rbp + 0xb8], ax
lea eax, [rdx + 0x58]
mov word [rbp + 0xba], ax
mov word [rbp + 0xbc], bx
movzx eax, word [rbp + 0x78]
mov rcx, rbx
movzx eax, word [rbp + rcx*2 + 0x78]
sub ax, 2
mov word [rbp + rcx*2 + 0x78], ax
add rcx, rdi
cmp rcx, rdx
jb 0x14025398c
mov r8d, r9d
lea rcx, [rbp + 0x78]
call fcn.1400dd130
nop
xor edx, edx
lea r8d, [rdx + 0x46]
lea rcx, [rbp + 0x78]
call qword [sym.imp.VCRUNTIME140.dll_memset]
cmp byte [rbp + 0x3b0], bl
je 0x140253d78
mov rax, qword [rsp + 0x68]
mov ecx, 4
mov eax, dword [rcx + rax]
cmp dword [0x1402d916c], eax
jle 0x140253d15
lea rcx, [0x1402d916c]
call fcn.14027b540
cmp dword [0x1402d916c], esi
jne 0x140253d15
lea rax, [rbp + 0x228]
mov qword [rbp + 0x3b0], rax
mov edx, 0x4f
mov dword [rsp + 0x30], edx
mov eax, dword [rsp + 0x30]
xor al, 0x54
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x30]
add al, dil
lea ecx, [rdx + 0x16]
xor al, cl
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x30]
add al, 2
lea r9d, [rdx + 0x23]
xor al, r9b
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0x30]
add al, 3
xor al, r14b
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x30]
add al, 4
xor al, 0x69
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x30]
add al, 5
xor al, r15b
mov byte [rsp + 0x39], al
mov eax, dword [rsp + 0x30]
add al, 6
xor al, 0x61
mov byte [rsp + 0x3a], al
mov eax, dword [rsp + 0x30]
add al, 7
xor al, 0x74
mov byte [rsp + 0x3b], al
mov eax, dword [rsp + 0x30]
add al, 8
xor al, cl
mov byte [rsp + 0x3c], al
mov eax, dword [rsp + 0x30]
add al, 9
xor al, 0x50
mov byte [rsp + 0x3d], al
mov eax, dword [rsp + 0x30]
add al, 0xa
xor al, r9b
mov byte [rsp + 0x3e], al
mov eax, dword [rsp + 0x30]
add al, 0xb
lea r15d, [rdx + 0x20]
xor al, r15b
mov byte [rsp + 0x3f], al
mov eax, dword [rsp + 0x30]
add al, 0xc
xor al, 0x63
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x30]
add al, 0xd
xor al, cl
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x30]
add al, 0xe
xor al, r13b
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x30]
add al, 0xf
xor al, r13b
mov byte [rsp + 0x43], al
xor eax, eax
mov byte [rsp + 0x44], al
mov al, byte [rsp + 0x34]
mov rdx, rbx
lea r12d, [rcx - 0x55]
mov al, byte [rsp + rdx + 0x34]
mov ecx, dword [rsp + 0x30]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x34], cl
add rdx, rdi
cmp rdx, r12
jb 0x140253af5
mov byte [rsp + 0x44], bl
mov qword [rbp + 0x228], rbx
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x240], 0xf
lea rax, [rsp + 0x34]
mov r14, rsi
mov r12d, 0x78
inc r14
cmp byte [rax + r14], bl
jne 0x140253b38
lea rcx, [rbp + 0x228]
cmp r14, 0xf
ja 0x140253b6d
mov qword [rbp + 0x238], r14
mov r8, r14
lea rdx, [rsp + 0x34]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + r14 + 0x228], bl
jmp 0x140253b7b
lea r9, [rsp + 0x34]
mov rdx, r14
call fcn.1400ada10
nop
mov edx, 0x1d
mov dword [rsp + 0x68], edx
lea eax, [rdx + 0x59]
mov byte [rsp + 0x6c], al
mov byte [rsp + 0x6d], r12b
mov byte [rsp + 0x6e], r15b
mov byte [rsp + 0x6f], r13b
mov byte [rsp + 0x70], r12b
lea r14d, [rdx + 0x54]
mov byte [rsp + 0x71], r14b
mov byte [rsp + 0x72], 0x2e
mov byte [rsp + 0x73], 0x2f
xor eax, eax
mov byte [rsp + 0x74], al
mov al, byte [rsp + 0x6c]
mov rdx, rbx
lea esi, [r14 - 0x69]
mov al, byte [rsp + rdx + 0x6c]
mov ecx, dword [rsp + 0x68]
xor cl, al
mov byte [rsp + rdx + 0x6c], cl
add rdx, rdi
cmp rdx, rsi
jb 0x140253bc3
mov byte [rsp + 0x74], bl
mov qword [rbp + 0x1c8], rbx
mov qword [rbp + 0x1d8], rbx
mov r14d, 0xf
mov qword [rbp + 0x1e0], r14
mov byte [rbp + 0x1c8], bl
lea rax, [rsp + 0x6c]
mov rsi, qword [rbp + 0x248]
inc rsi
cmp byte [rax + rsi], bl
jne 0x140253c0a
lea rcx, [rbp + 0x1c8]
cmp rsi, r14
ja 0x140253c3c
mov qword [rbp + 0x1d8], rsi
mov r8, rsi
lea rdx, [rsp + 0x6c]
call qword [sym.imp.VCRUNTIME140.dll_memmove]
mov byte [rbp + rsi + 0x1c8], bl
jmp 0x140253c4a
lea r9, [rsp + 0x6c]
mov rdx, rsi
call fcn.1400ada10
nop
lea rdx, [rbp + 0x1c8]
lea rcx, [rbp + 0x320]
call fcn.1401a82ac
nop
mov qword [rsp + 0x20], rbx
mov r9b, dil
lea r8, [rbp + 0x228]
mov rdx, rax
lea rcx, [0x1402d8580]
call fcn.14025f62c
nop
mov rdx, qword [rbp + 0x1e0]
mov eax, 0x10
cmp rdx, rax
jb 0x140253cc5
inc rdx
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140253cc0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140253cc0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14027b384
mov qword [rbp + 0x1d8], rbx
mov qword [rbp + 0x1e0], r14
mov byte [rbp + 0x1c8], bl
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0x11]
lea rcx, [rsp + 0x34]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x14028f6fc]
call fcn.14027b36c
nop
lea rcx, [0x1402d916c]
call fcn.14027b4e0
mov rsi, qword [rbp + 0x60]
lea r15, [0x1402d8598]
mov rcx, r15
mov r14d, 0x10
cmp qword [0x1402d85b0], r14
cmovae rcx, qword [0x1402d8598]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x140253d6d
mov rcx, r15
cmp qword [0x1402d85b0], r14
cmovae rcx, qword [0x1402d8598]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x1402d8590], rax
mov r8, rax
mov rdx, r15
call fcn.1400bc1a0
xor edx, edx
mov rcx, rsi
call qword [0x1402d8588]
mov rcx, qword [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x3c0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140253f9f
call fcn.1400bb05c
mov esi, eax
test eax, eax
je 0x140253f6c
mov edx, 4
mov dword [rbp + 0xc0], edx
mov edx, 0x5f
mov word [rbp + 0xc4], dx
mov edx, 0x25
mov word [rbp + 0xc6], dx
mov edx, 0x59
mov word [rbp + 0xc8], dx
mov edx, 0x24
mov word [rbp + 0xca], dx
lea eax, [rdx + 0x26]
mov word [rbp + 0xcc], ax
lea r15d, [rdx + 0x4c]
mov word [rbp + 0xce], r15w
lea r10d, [rdx + 0x32]
mov word [rbp + 0xd0], r10w
lea r8d, [rdx + 0x3d]
mov word [rbp + 0xd2], r8w
lea eax, [rdx + 0x53]
mov word [rbp + 0xd4], ax
lea r14d, [rdx + 0x4d]
mov word [rbp + 0xd6], r14w
lea r11d, [rdx + 0x45]
mov word [rbp + 0xd8], r11w
mov word [rbp + 0xda], r8w
lea eax, [rdx + 0x2c]
mov word [rbp + 0xdc], ax
lea r9d, [rdx + 0x48]
mov word [rbp + 0xde], r9w
lea eax, [rdx + 0x52]
mov word [rbp + 0xe0], ax
mov word [rbp + 0xe2], r8w
lea ecx, [rdx + 0x41]
mov word [rbp + 0xe4], cx
lea r10d, [rdx + 0x3c]
mov word [rbp + 0xe6], r10w
mov word [rbp + 0xe8], dx
lea eax, [rdx + 0x3e]
mov word [rbp + 0xea], ax
mov word [rbp + 0xec], cx
lea eax, [rdx + 0x49]
mov word [rbp + 0xee], ax
lea r12d, [rdx + 0x44]
mov word [rbp + 0xf0], r12w
mov word [rbp + 0xf2], r8w
mov word [rbp + 0xf4], r10w
mov word [rbp + 0xf6], dx
mov word [rbp + 0xf8], r13w
mov word [rbp + 0xfa], ax
mov word [rbp + 0xfc], r15w
mov word [rbp + 0xfe], r9w
lea r10d, [rdx + 0x1a]
mov word [rbp + 0x100], r10w
mov word [rbp + 0x102], dx
lea edx, [rcx - 0x31]
mov word [rbp + 0x104], dx
lea edx, [rcx + 0x17]
mov word [rbp + 0x106], dx
xor eax, eax
mov word [rbp + 0x108], ax
movzx eax, word [rbp + 0xc4]
mov r8, rbx
lea edx, [rcx - 0x43]
movzx eax, word [rbp + r8*2 + 0xc4]
mov ecx, dword [rbp + 0xc0]
xor cx, ax
mov word [rbp + r8*2 + 0xc4], cx
add r8, rdi
cmp r8, rdx
jb 0x140253f1f
mov word [rbp + 0x108], bx
mov r8d, esi
lea rcx, [rbp + 0xc4]
call fcn.1400dd130
nop
xor edx, edx
lea r8d, [rdx + 0x46]
lea rcx, [rbp + 0xc4]
call qword [sym.imp.VCRUNTIME140.dll_memset]
movups xmm0, xmmword [rbp + 0x60]
movaps xmmword [rbp + 0x280], xmm0
movsd xmm1, qword [rbp + 0x70]
movsd qword [rbp + 0x290], xmm1
mov rdx, qword [rbp + 0x3c0]
lea rcx, [rbp + 0x280]
call fcn.1401af088
jmp 0x140253d78
mov dil, bl
lea rcx, [rbp + 0x2a0]
call fcn.1400ac668
mov al, dil
jmp 0x1402548cf
mov dword [rbp - 0x78], r12d
mov eax, dword [rbp - 0x78]
mov r8d, 0xa
xor ax, r8w
mov word [rbp - 0x74], ax
mov eax, dword [rbp - 0x78]
add ax, di
xor ax, 0x5b
mov word [rbp - 0x72], ax
mov eax, dword [rbp - 0x78]
add ax, 2
xor ax, 0x2d
mov word [rbp - 0x70], ax
mov eax, dword [rbp - 0x78]
add ax, 3
xor ax, 0x5d
mov word [rbp - 0x6e], ax
mov eax, dword [rbp - 0x78]
add ax, 4
mov r12w, 0x20
xor ax, r12w
mov word [rbp - 0x6c], ax
mov eax, dword [rbp - 0x78]
add ax, 5
xor ax, 0x45
mov word [rbp - 0x6a], ax
mov eax, dword [rbp - 0x78]
add ax, 6
lea r15d, [r8 + 0x64]
xor ax, r15w
mov word [rbp - 0x68], ax
mov eax, dword [rbp - 0x78]
add ax, 7
xor ax, 0x76
mov word [rbp - 0x66], ax
mov eax, dword [rbp - 0x78]
add ax, 8
lea r11d, [r8 + 0x5f]
xor ax, r11w
mov word [rbp - 0x64], ax
mov eax, dword [rbp - 0x78]
add ax, r14w
lea r10d, [r8 + 0x68]
xor ax, r10w
mov word [rbp - 0x62], ax
mov eax, dword [rbp - 0x78]
add ax, r8w
lea r9d, [r8 + 0x65]
xor ax, r9w
mov word [rbp - 0x60], ax
mov eax, dword [rbp - 0x78]
add ax, 0xb
xor ax, r15w
mov word [rbp - 0x5e], ax
mov eax, dword [rbp - 0x78]
add ax, 0xc
lea esi, [r8 + 0x63]
xor ax, si
mov word [rbp - 0x5c], ax
mov eax, dword [rbp - 0x78]
add ax, 0xd
lea ecx, [rsi - 8]
xor ax, cx
mov word [rbp - 0x5a], ax
mov eax, dword [rbp - 0x78]
add ax, 0xe
xor ax, r15w
mov word [rbp - 0x58], ax
mov eax, dword [rbp - 0x78]
add ax, r13w
lea r13d, [r8 + 0x6a]
xor ax, r13w
mov word [rbp - 0x56], ax
mov eax, dword [rbp - 0x78]
add ax, 0x10
lea r8d, [r15 - 0xd]
xor ax, r8w
mov word [rbp - 0x54], ax
mov eax, dword [rbp - 0x78]
add ax, 0x11
xor ax, 0x6c
mov word [rbp - 0x52], ax
mov eax, dword [rbp - 0x78]
add ax, 0x12
xor ax, r12w
mov word [rbp - 0x50], ax
mov eax, dword [rbp - 0x78]
add ax, 0x13
xor ax, r10w
mov word [rbp - 0x4e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x14
xor ax, cx
mov word [rbp - 0x4c], ax
mov eax, dword [rbp - 0x78]
add ax, 0x15
xor ax, 0x71
mov word [rbp - 0x4a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x16
lea r10d, [r15 + 7]
xor ax, r10w
mov word [rbp - 0x48], ax
mov eax, dword [rbp - 0x78]
add ax, 0x17
xor ax, r11w
mov word [rbp - 0x46], ax
mov eax, dword [rbp - 0x78]
add ax, 0x18
lea r14d, [r15 + 4]
xor ax, r14w
mov word [rbp - 0x44], ax
mov eax, dword [rbp - 0x78]
add ax, 0x19
xor ax, cx
mov word [rbp - 0x42], ax
mov eax, dword [rbp - 0x78]
add ax, 0x1a
xor ax, si
mov word [rbp - 0x40], ax
mov eax, dword [rbp - 0x78]
add ax, 0x1b
xor ax, cx
mov word [rbp - 0x3e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x1c
xor ax, r15w
mov word [rbp - 0x3c], ax
mov eax, dword [rbp - 0x78]
add ax, 0x1d
xor ax, r13w
mov word [rbp - 0x3a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x1e
lea r13d, [r15 + 5]
xor ax, r13w
mov word [rbp - 0x38], ax
mov eax, dword [rbp - 0x78]
add ax, 0x1f
xor ax, r12w
mov word [rbp - 0x36], ax
mov eax, dword [rbp - 0x78]
add ax, r12w
xor ax, r15w
mov word [rbp - 0x34], ax
mov eax, dword [rbp - 0x78]
add ax, 0x21
xor ax, r9w
mov word [rbp - 0x32], ax
mov eax, dword [rbp - 0x78]
add ax, 0x22
xor ax, 0x74
mov word [rbp - 0x30], ax
mov eax, dword [rbp - 0x78]
add ax, 0x23
xor ax, r12w
mov word [rbp - 0x2e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x24
xor ax, si
mov word [rbp - 0x2c], ax
mov eax, dword [rbp - 0x78]
add ax, 0x25
xor ax, cx
mov word [rbp - 0x2a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x26
xor ax, 0x74
mov word [rbp - 0x28], ax
mov eax, dword [rbp - 0x78]
add ax, 0x27
xor ax, 0x3a
mov word [rbp - 0x26], ax
mov eax, dword [rbp - 0x78]
add ax, 0x28
xor ax, r12w
mov word [rbp - 0x24], ax
mov eax, dword [rbp - 0x78]
add ax, 0x29
xor ax, 0x45
mov word [rbp - 0x22], ax
mov eax, dword [rbp - 0x78]
add ax, 0x2a
xor ax, r11w
mov word [rbp - 0x20], ax
mov eax, dword [rbp - 0x78]
add ax, 0x2b
xor ax, 0x74
mov word [rbp - 0x1e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x2c
xor ax, 0x68
mov word [rbp - 0x1c], ax
mov eax, dword [rbp - 0x78]
add ax, 0x2d
xor ax, cx
mov word [rbp - 0x1a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x2e
xor ax, r14w
mov word [rbp - 0x18], ax
mov eax, dword [rbp - 0x78]
add ax, 0x2f
xor ax, r12w
mov word [rbp - 0x16], ax
mov eax, dword [rbp - 0x78]
add ax, 0x30
xor ax, 0x77
mov word [rbp - 0x14], ax
mov eax, dword [rbp - 0x78]
add ax, 0x31
xor ax, cx
mov word [rbp - 0x12], ax
mov eax, dword [rbp - 0x78]
add ax, 0x32
xor ax, 0x27
mov word [rbp - 0x10], ax
mov eax, dword [rbp - 0x78]
add ax, 0x33
xor ax, r14w
mov word [rbp - 0xe], ax
mov eax, dword [rbp - 0x78]
add ax, 0x34
xor ax, cx
mov word [rbp - 0xc], ax
mov eax, dword [rbp - 0x78]
add ax, 0x35
xor ax, r12w
mov word [rbp - 0xa], ax
mov eax, dword [rbp - 0x78]
add ax, 0x36
xor ax, r14w
mov word [rbp - 8], ax
mov eax, dword [rbp - 0x78]
add ax, 0x37
xor ax, r10w
mov word [rbp - 6], ax
mov eax, dword [rbp - 0x78]
add ax, 0x38
xor ax, r15w
mov word [rbp - 4], ax
mov eax, dword [rbp - 0x78]
add ax, 0x39
xor ax, r15w
mov word [rbp - 2], ax
mov eax, dword [rbp - 0x78]
add ax, 0x3a
xor ax, r11w
mov word [rbp], ax
mov eax, dword [rbp - 0x78]
add ax, 0x3b
xor ax, r15w
mov word [rbp + 2], ax
mov eax, dword [rbp - 0x78]
add ax, 0x3c
lea r14d, [r15 - 7]
xor ax, r14w
mov word [rbp + 4], ax
mov eax, dword [rbp - 0x78]
add ax, 0x3d
xor ax, r12w
mov word [rbp + 6], ax
mov eax, dword [rbp - 0x78]
add ax, 0x3e
xor ax, r11w
mov word [rbp + 8], ax
mov eax, dword [rbp - 0x78]
add ax, 0x3f
xor ax, r15w
mov word [rbp + 0xa], ax
mov eax, dword [rbp - 0x78]
add ax, 0x40
movzx r10d, r12w
xor ax, r12w
mov word [rbp + 0xc], ax
mov eax, dword [rbp - 0x78]
add ax, 0x41
xor ax, r8w
mov word [rbp + 0xe], ax
mov eax, dword [rbp - 0x78]
add ax, 0x42
xor ax, r12w
mov word [rbp + 0x10], ax
mov eax, dword [rbp - 0x78]
add ax, 0x43
xor ax, r13w
mov word [rbp + 0x12], ax
mov eax, dword [rbp - 0x78]
add ax, 0x44
xor ax, r8w
mov word [rbp + 0x14], ax
mov eax, dword [rbp - 0x78]
add ax, 0x45
xor ax, r15w
mov word [rbp + 0x16], ax
mov eax, dword [rbp - 0x78]
add ax, 0x46
xor ax, 0x64
mov word [rbp + 0x18], ax
mov eax, dword [rbp - 0x78]
add ax, 0x47
xor ax, 0x62
mov word [rbp + 0x1a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x48
xor ax, r9w
mov word [rbp + 0x1c], ax
mov eax, dword [rbp - 0x78]
add ax, 0x49
lea r12d, [r15 + 0xa]
xor ax, r12w
mov word [rbp + 0x1e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x4a
xor ax, r10w
mov word [rbp + 0x20], ax
mov eax, dword [rbp - 0x78]
add ax, 0x4b
xor ax, r9w
mov word [rbp + 0x22], ax
mov eax, dword [rbp - 0x78]
add ax, 0x4c
xor ax, 0x72
mov word [rbp + 0x24], ax
mov eax, dword [rbp - 0x78]
add ax, 0x4d
xor ax, r10w
mov word [rbp + 0x26], ax
mov eax, dword [rbp - 0x78]
add ax, 0x4e
xor ax, 0x6b
mov word [rbp + 0x28], ax
mov eax, dword [rbp - 0x78]
add ax, 0x4f
xor ax, cx
mov word [rbp + 0x2a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x50
xor ax, 0x79
mov word [rbp + 0x2c], ax
mov eax, dword [rbp - 0x78]
add ax, 0x51
xor ax, r11w
mov word [rbp + 0x2e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x52
xor ax, r15w
mov word [rbp + 0x30], ax
mov eax, dword [rbp - 0x78]
add ax, 0x53
xor ax, r14w
mov word [rbp + 0x32], ax
mov eax, dword [rbp - 0x78]
add ax, 0x54
xor ax, r10w
mov word [rbp + 0x34], ax
mov eax, dword [rbp - 0x78]
add ax, 0x55
xor ax, 0x77
mov word [rbp + 0x36], ax
mov eax, dword [rbp - 0x78]
add ax, 0x56
xor ax, r8w
mov word [rbp + 0x38], ax
mov eax, dword [rbp - 0x78]
add ax, 0x57
xor ax, r13w
mov word [rbp + 0x3a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x58
xor ax, r10w
mov word [rbp + 0x3c], ax
mov eax, dword [rbp - 0x78]
add ax, 0x59
xor ax, r15w
mov word [rbp + 0x3e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x5a
xor ax, r9w
mov word [rbp + 0x40], ax
mov eax, dword [rbp - 0x78]
add ax, 0x5b
lea r9d, [r15 + 6]
xor ax, r9w
mov word [rbp + 0x42], ax
mov eax, dword [rbp - 0x78]
add ax, 0x5c
xor ax, r10w
mov word [rbp + 0x44], ax
mov eax, dword [rbp - 0x78]
add ax, 0x5d
xor ax, r13w
mov word [rbp + 0x46], ax
mov eax, dword [rbp - 0x78]
add ax, 0x5e
xor ax, r8w
mov word [rbp + 0x48], ax
mov eax, dword [rbp - 0x78]
add ax, 0x5f
xor ax, r9w
mov word [rbp + 0x4a], ax
mov eax, dword [rbp - 0x78]
add ax, 0x60
xor ax, r11w
mov word [rbp + 0x4c], ax
mov eax, dword [rbp - 0x78]
add ax, r8w
xor ax, r13w
mov word [rbp + 0x4e], ax
mov eax, dword [rbp - 0x78]
add ax, 0x62
xor ax, r11w
mov word [rbp + 0x50], ax
mov eax, dword [rbp - 0x78]
add ax, 0x63
lea r13d, [r15 - 8]
xor ax, r13w
mov word [rbp + 0x52], ax
mov eax, dword [rbp - 0x78]
lea edx, [rsi - 9]
add ax, dx
xor ax, cx
mov word [rbp + 0x54], ax
mov eax, dword [rbp - 0x78]
add ax, cx
xor ax, dx
mov word [rbp + 0x56], ax
mov eax, dword [rbp - 0x78]
add ax, r13w
xor ax, 0x2e
mov word [rbp + 0x58], ax
xor eax, eax
mov word [rbp + 0x5a], ax
movzx eax, word [rbp - 0x74]
mov rdx, rbx
movzx eax, word [rbp + rdx*2 - 0x74]
mov ecx, dword [rbp - 0x78]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x74], cx
add rdx, rdi
cmp rdx, r14
jb 0x140254605
mov word [rbp + 0x5a], bx
lea rcx, [rbp - 0x74]
call fcn.1400c49c8
nop
xor edx, edx
mov r8d, 0xd0
lea rcx, [rbp - 0x74]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov eax, 0x64
mov word [rbp + 0x10c], ax
lea r8d, [rax - 0x2e]
mov word [rbp + 0x10e], r8w
mov word [rbp + 0x110], r13w
lea r9d, [rax - 0x3b]
mov word [rbp + 0x112], r9w
lea ecx, [rax - 0x19]
mov word [rbp + 0x114], cx
lea eax, [rcx - 1]
mov word [rbp + 0x116], ax
lea eax, [rcx + 7]
mov word [rbp + 0x118], ax
lea edx, [rcx + 0xa]
mov word [rbp + 0x11a], dx
mov word [rbp + 0x11c], ax
lea eax, [rcx + 0xc]
mov word [rbp + 0x11e], ax
lea eax, [rcx + 5]
mov word [rbp + 0x120], ax
mov word [rbp + 0x122], r9w
lea eax, [rcx + 0xd]
mov word [rbp + 0x124], ax
lea eax, [rcx + 0x13]
mov word [rbp + 0x126], ax
lea eax, [rcx + 0x12]
mov word [rbp + 0x128], ax
lea eax, [rcx - 0x14]
mov word [rbp + 0x12a], ax
mov word [rbp + 0x12c], r9w
mov word [rbp + 0x12e], cx
lea eax, [rcx + 0x33]
mov word [rbp + 0x130], ax
lea eax, [rcx + 0x32]
mov word [rbp + 0x132], ax
mov word [rbp + 0x134], r9w
lea ecx, [rdx + 0x1a]
mov word [rbp + 0x136], cx
lea r10d, [r8 + 0x3c]
mov word [rbp + 0x138], r10w
lea ecx, [rdx + 0x26]
mov word [rbp + 0x13a], cx
lea edx, [rax - 1]
mov word [rbp + 0x13c], dx
mov word [rbp + 0x13e], ax
mov word [rbp + 0x140], r9w
mov word [rbp + 0x142], r8w
mov word [rbp + 0x144], r9w
lea r8d, [r9 + 0x4c]
mov word [rbp + 0x146], r8w
mov word [rbp + 0x148], r15w
mov word [rbp + 0x14a], ax
lea r8d, [r9 + 7]
mov word [rbp + 0x14c], r8w
mov word [rbp + 0x14e], dx
mov word [rbp + 0x150], r9w
lea r8d, [r9 + 0x4d]
mov word [rbp + 0x152], r8w
mov word [rbp + 0x154], r10w
mov word [rbp + 0x156], dx
mov word [rbp + 0x158], si
mov word [rbp + 0x15a], r10w
mov word [rbp + 0x15c], cx
mov word [rbp + 0x15e], r15w
lea r8d, [r9 + 0x43]
mov word [rbp + 0x160], r8w
mov word [rbp + 0x162], ax
mov word [rbp + 0x164], r9w
mov word [rbp + 0x166], ax
lea r14d, [r9 + 0x48]
mov word [rbp + 0x168], r14w
mov word [rbp + 0x16a], r15w
mov word [rbp + 0x16c], r9w
mov word [rbp + 0x16e], r12w
lea eax, [rcx - 0x10]
mov word [rbp + 0x170], ax
mov word [rbp + 0x172], dx
mov word [rbp + 0x174], r15w
mov word [rbp + 0x176], cx
lea eax, [rcx + 4]
mov word [rbp + 0x178], ax
mov word [rbp + 0x17a], r15w
mov word [rbp + 0x17c], cx
lea eax, [rcx - 0x51]
mov word [rbp + 0x17e], ax
lea eax, [rcx - 0x68]
mov word [rbp + 0x180], ax
mov word [rbp + 0x182], bx
movzx eax, word [rbp + 0x10c]
mov rcx, rbx
lea edx, [r9 - 0x20]
movzx eax, word [rbp + rcx*2 + 0x10c]
sub ax, dx
mov word [rbp + rcx*2 + 0x10c], ax
add rcx, rdi
cmp rcx, 0x3b
jb 0x14025486a
lea rcx, [rbp + 0x10c]
call fcn.1400c49c8
nop
mov r8, r12
xor edx, edx
lea rcx, [rbp + 0x10c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
movabs rax, 0xe000000000000000
mov rcx, rbx
or rcx, rax
mov dl, dil
call fcn.1400ebd30
add rbx, 0x3e8
cmp rbx, 0x493e0
jb 0x1402548a5
xor al, al
add rsp, 0x468
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret