Function at 0x14000242c
Capabilities:
Read file on windows
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r15
sub rsp, 0x20
mov r8, qword [0x14000fd08]
lea rcx, section..data
mov edi, 0x3aed
mov qword [0x14000fd10], rcx
test r8, r8
jne 0x140002473
call fcn.140002350
mov rcx, qword [0x14000fd10]
mov r8, qword [0x14000fd08]
mov al, byte [r8]
mov r15d, 2
cmp al, byte [0x140008994]
jne 0x140002494
mov al, byte [r8 + 1]
cmp al, byte [0x140008995]
je 0x14000256e
lea rdx, [0x140008998]
mov rcx, r8
call qword [sym.imp.msvcrt.dll_fopen]
mov rbx, rax
test rax, rax
jne 0x1400024bd
cmp byte [0x14000fcfa], al
je 0x140002560
jmp 0x140002716
mov r8d, r15d
xor edx, edx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_fseek]
test eax, eax
jne 0x14000271c
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x140002722
mov rcx, rdi
call fcn.140002124
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov qword [0x14000fd10], rax
call qword [sym.imp.msvcrt.dll_fseek]
test eax, eax
jne 0x140002728
mov rcx, qword [0x14000fd10]
lea edx, [rax + 1]
mov r9, rbx
mov r8, rdi
call qword [sym.imp.msvcrt.dll_fread]
cmp eax, edi
jne 0x14000272e
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fclose]
cmp byte [0x14000fcf9], 0
jne 0x140002560
mov rax, qword [0x14000fd10]
mov r9, qword [0x14000fd08]
lea rcx, str.Read_KMS_data_file_version__u._u__s_n
movzx r8d, word [rax + 4]
movzx edx, word [rax + 6]
call fcn.140003dc4
mov r8, qword [0x14000fd08]
mov rcx, qword [0x14000fd10]
movsxd r10, edi
lea rbx, [r10 + rcx]
cmp byte [rbx - 1], 0
je 0x140002596
lea rcx, str.Fatal:__s_is_not_a_KMS_data_file_version_2.x_n
mov rdx, r8
call fcn.140003e6c
mov ecx, 0x57
call qword [sym.imp.msvcrt.dll_exit]
int3
xor edx, edx
lea rax, [rcx + 0x20]
add qword [rax], rcx
cmp qword [rax], rbx
ja 0x1400026fb
inc edx
add rax, 8
cmp edx, 5
jb 0x14000259c
xor edx, edx
cmp byte [rcx + 8], dl
jbe 0x1400025da
mov eax, edx
shl rax, 5
add qword [rax + rcx + 0x48], rcx
cmp qword [rax + rcx + 0x48], rbx
ja 0x14000268f
movzx eax, byte [rcx + 8]
inc edx
cmp edx, eax
jb 0x1400025ba
xor edx, edx
cmp dword [rcx + 0x18], edx
jbe 0x1400025fe
mov eax, edx
shl rax, 5
add rax, qword [rcx + 0x38]
add qword [rax], rcx
cmp qword [rax], rbx
ja 0x1400026aa
inc edx
cmp edx, dword [rcx + 0x18]
jb 0x1400025e1
mov r9d, dword [rcx + 0xc]
mov eax, dword [rcx]
add r9d, dword [rcx + 0x10]
add r9d, dword [rcx + 0x14]
cmp eax, dword [0x1400089c8]
jne 0x1400026e0
cmp word [rcx + 6], r15w
jne 0x1400026e0
mov eax, r9d
shl rax, 5
add rax, 0x68
cmp rax, r10
jae 0x1400026e0
xor r11d, r11d
test r9d, r9d
je 0x140002679
xor edx, edx
mov r10, qword [rcx + 0x20]
add qword [rdx + r10 + 0x10], rcx
cmp qword [rdx + r10 + 0x10], rbx
jae 0x1400026c5
cmp dword [rcx + 0xc], 0
je 0x140002662
movzx eax, byte [rdx + r10 + 0x18]
cmp eax, dword [rcx + 0xc]
jge 0x1400026c5
movzx eax, byte [rdx + r10 + 0x19]
cmp eax, dword [rcx + 0x10]
jge 0x1400026c5
inc r11d
add rdx, 0x20
cmp r11d, r9d
jb 0x140002641
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r15
ret
lea rcx, str.Fatal:__s_is_not_a_KMS_data_file_version_2.x_n
mov rdx, r8
call fcn.140003e6c
mov ecx, 0x57
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rcx, str.Fatal:__s_is_not_a_KMS_data_file_version_2.x_n
mov rdx, r8
call fcn.140003e6c
mov ecx, 0x57
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rcx, str.Fatal:__s_is_not_a_KMS_data_file_version_2.x_n
mov rdx, r8
call fcn.140003e6c
mov ecx, 0x57
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rcx, str.Fatal:__s_is_not_a_KMS_data_file_version_2.x_n
mov rdx, r8
call fcn.140003e6c
mov ecx, 0x57
call qword [sym.imp.msvcrt.dll_exit]
int3
lea rcx, str.Fatal:__s_is_not_a_KMS_data_file_version_2.x_n
mov rdx, r8
call fcn.140003e6c
mov ecx, 0x57
call qword [sym.imp.msvcrt.dll_exit]
int3
call fcn.140002318
int3
call fcn.140002318
int3
call fcn.140002318
int3
call fcn.140002318
int3
call fcn.140002318
int3