Function at 0x140001000
Capabilities:
Check os version
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xd8
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
test rax, rax
je 0x1400011ce
cmp dword [rax + 0x118], 0xa
jne 0x1400011ce
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx]
mov r15, qword [rax + 0x20]
mov qword [rbp - 0x61], r15
test r15, r15
je 0x1400011ce
mov eax, 0x5a4d
cmp word [r15], ax
jne 0x1400011ce
movsxd rax, dword [r15 + 0x3c]
cmp dword [rax + r15], 0x4550
jne 0x1400011ce
cmp dword [rax + r15 + 0x84], 0
jbe 0x1400011ce
mov ecx, dword [rax + r15 + 0x88]
test ecx, ecx
je 0x1400011ce
mov eax, ecx
add rax, r15
je 0x1400011ce
mov edi, dword [rax + 0x1c]
lea r12, [rax + 0x1c]
mov ebx, dword [rax + 0x20]
lea r13, [rax + 0x20]
mov esi, dword [rax + 0x24]
lea rcx, [rax + 0x24]
mov r11d, dword [rax + 0x18]
xorps xmm0, xmm0
add rax, 0x18
mov qword [rbp - 0x69], r12
xor r14d, r14d
mov qword [rbp + 0x7f], r13
add rdi, r15
mov qword [rbp + 0x77], rcx
add rbx, r15
mov qword [rbp + 0x6f], rax
add rsi, r15
movabs r9, 0xf5bd373480a6b89b
movzx r10d, r14w
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x41], r9
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
test r11d, r11d
je 0x1400011ce
movabs rax, 0x7734773477347734
movzx r8d, r10w
mov rcx, rax
mov edx, dword [rbx + r8*4]
add rdx, r15
movzx eax, byte [rdx]
test eax, eax
je 0x1400011bd
nop word [rax + rax]
imul rcx, rcx, 0x21
lea rdx, [rdx + 1]
add rcx, rax
movzx eax, byte [rdx]
test eax, eax
jne 0x140001140
cmp rcx, r9
jne 0x1400011bd
movzx eax, word [rsi + r8*2]
mov rdx, r14
mov dword [rsp + 0x20], 0xb8d18b4c
mov r9d, dword [rdi + rax*4]
lea rax, [rsp + 0x20]
add r9, r15
mov r8, r9
mov qword [rbp - 0x49], r9
sub r8, rax
nop dword [rax]
lea rcx, [rsp + 0x20]
mov dword [rbp + 0x67], 0x1f4
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x1400011ad
inc rdx
cmp rdx, 4
jl 0x140001180
cmp byte [r9 + 6], r14b
jne 0x1400011ad
cmp byte [r9 + 7], r14b
je 0x1400011e7
cmp byte [r9], 0xe9
je 0x14000121d
movabs r9, 0xf5bd373480a6b89b
inc r10w
movzx eax, r10w
cmp eax, r11d
jb 0x140001112
mov eax, 1
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx ecx, byte [r9 + 5]
mov r8, qword [rbp + 0x77]
movzx eax, byte [r9 + 4]
mov rdx, r8
mov r10, qword [rbp + 0x6f]
mov r9, r12
shl cx, 8
or cx, ax
mov qword [rbp - 0x51], r8
mov word [rbp - 0x39], cx
mov r8, r13
mov rcx, r10
mov qword [rbp - 0x59], r10
jmp 0x140001327
mov ebx, dword [rbp + 0x67]
mov edi, 1
movzx r10d, di
mov dword [rsp + 0x24], 0xb8d18b4c
movzx eax, r10w
mov r8, r9
neg eax
mov rdx, r14
movsxd r11, eax
lea rax, [rsp + 0x24]
sub r8, rax
add r8, r11
nop dword [rax + rax]
lea rcx, [rsp + 0x24]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x14000127c
inc rdx
cmp rdx, 4
jl 0x140001250
cmp byte [r9 + r11 + 6], r14b
jne 0x14000127c
cmp byte [r9 + r11 + 7], r14b
je 0x140001403
inc r10w
cmp r10w, bx
jbe 0x140001231
movzx r10d, di
mov dword [rsp + 0x28], 0xb8d18b4c
nop dword [rax]
nop word [rax + rax]
lea rcx, [rsp + 0x28]
movzx r11d, r10w
mov r8, r9
mov rdx, r14
sub r8, rcx
add r8, r11
nop word [rax + rax]
lea rcx, [rsp + 0x28]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x1400012ec
inc rdx
cmp rdx, 4
jl 0x1400012c0
cmp byte [r9 + r11 + 6], r14b
jne 0x1400012ec
cmp byte [r9 + r11 + 7], r14b
je 0x140001425
inc r10w
cmp r10w, bx
jbe 0x1400012a0
mov eax, r14d
mov rdx, qword [rbp + 0x77]
mov r8, r13
mov rcx, qword [rbp + 0x6f]
mov r9, r12
mov qword [rbp - 0x51], rdx
mov qword [rbp - 0x59], rcx
mov qword [rbp + 0x6f], rcx
mov qword [rbp + 0x77], rdx
mov qword [rbp + 0x7f], r13
mov qword [rbp - 0x69], r12
test eax, eax
je 0x1400011ce
mov r14d, dword [r9]
mov r11, r15
mov esi, dword [r8]
add r14, r15
mov edi, dword [rcx]
add rsi, r15
mov r15d, dword [rdx]
xor r9d, r9d
add r15, r11
movabs rbx, 0x64dc7db288c5015f
mov qword [rbp - 0x11], rbx
test edi, edi
je 0x1400011ce
nop word [rax + rax]
movzx r8d, r9w
movabs rcx, 0x7734773477347734
mov edx, dword [rsi + r8*4]
add rdx, r11
movzx eax, byte [rdx]
test eax, eax
je 0x1400013ee
nop dword [rax]
imul rcx, rcx, 0x21
lea rdx, [rdx + 1]
add rcx, rax
movzx eax, byte [rdx]
test eax, eax
jne 0x140001380
cmp rcx, rbx
jne 0x1400013ee
movzx eax, word [r15 + r8*2]
xor edx, edx
mov dword [rsp + 0x2c], 0xb8d18b4c
mov r10d, dword [r14 + rax*4]
lea rax, [rsp + 0x2c]
add r10, r11
mov r8, r10
mov qword [rbp - 0x19], r10
sub r8, rax
nop dword [rax]
lea rcx, [rsp + 0x2c]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x1400013e8
inc rdx
cmp rdx, 4
jl 0x1400013c0
cmp byte [r10 + 6], 0
jne 0x1400013e8
cmp byte [r10 + 7], 0
je 0x140001447
cmp byte [r10], 0xe9
je 0x140001469
inc r9w
movzx eax, r9w
cmp eax, edi
jb 0x140001360
jmp 0x1400011ce
movzx eax, byte [r9 + r11 + 4]
movzx ecx, byte [r9 + r11 + 5]
shl cx, 8
or cx, ax
mov eax, edi
sub cx, r10w
mov word [rbp - 0x39], cx
jmp 0x1400012f9
movzx eax, byte [r9 + r11 + 4]
movzx ecx, byte [r9 + r11 + 5]
shl cx, 8
or cx, ax
mov eax, edi
add cx, r10w
mov word [rbp - 0x39], cx
jmp 0x1400012f9
movzx ecx, byte [r10 + 5]
movzx eax, byte [r10 + 4]
mov rdx, qword [rbp - 0x59]
shl cx, 8
or cx, ax
mov word [rbp - 9], cx
mov rcx, qword [rbp - 0x51]
jmp 0x140001578
mov edi, dword [rbp + 0x67]
mov esi, 1
movzx r9d, si
mov dword [rsp + 0x30], 0xb8d18b4c
xor ebx, ebx
nop
movzx eax, r9w
mov rdx, rbx
neg eax
movsxd r11, eax
lea rax, [rsp + 0x30]
mov r8, r11
sub r8, rax
add r8, r10
nop word [rax + rax]
lea rcx, [rsp + 0x30]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x1400014cc
inc rdx
cmp rdx, 4
jl 0x1400014a0
cmp byte [r11 + r10 + 6], bl
jne 0x1400014cc
cmp byte [r11 + r10 + 7], bl
je 0x140001665
inc r9w
cmp r9w, di
jbe 0x140001480
movzx r9d, si
mov dword [rsp + 0x34], 0xb8d18b4c
nop dword [rax]
nop word [rax + rax]
movzx r11d, r9w
lea rcx, [rsp + 0x34]
mov r8d, r11d
mov rdx, rbx
sub r8, rcx
add r8, r10
nop word [rax + rax]
lea rcx, [rsp + 0x34]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x14000153c
inc rdx
cmp rdx, 4
jl 0x140001510
cmp byte [r11 + r10 + 6], bl
jne 0x14000153c
cmp byte [r11 + r10 + 7], bl
je 0x140001687
inc r9w
cmp r9w, di
jbe 0x1400014f0
mov eax, ebx
mov rcx, qword [rbp - 0x51]
mov rdx, qword [rbp - 0x59]
mov r8, qword [rbp - 0x69]
mov r9, qword [rbp + 0x7f]
mov r10, qword [rbp + 0x77]
mov rdi, qword [rbp + 0x6f]
test eax, eax
je 0x1400011ce
mov qword [rbp + 0x6f], rdi
mov qword [rbp + 0x77], r10
mov qword [rbp + 0x7f], r9
mov qword [rbp - 0x69], r8
mov r11, qword [rbp - 0x61]
movabs rbx, 0x858bcb1046fb6a37
mov r14d, dword [r12]
xor r12d, r12d
mov esi, dword [r13]
add r14, r11
mov r15d, dword [rcx]
add rsi, r11
mov edi, dword [rdx]
add r15, r11
mov qword [rbp - 0x29], rbx
movzx r10d, r12w
test edi, edi
je 0x1400011ce
movabs r13, 0x7734773477347734
nop dword [rax]
movzx r8d, r10w
mov rcx, r13
mov edx, dword [rsi + r8*4]
add rdx, r11
movzx eax, byte [rdx]
test eax, eax
je 0x140001650
nop word [rax + rax]
imul rcx, rcx, 0x21
lea rdx, [rdx + 1]
add rcx, rax
movzx eax, byte [rdx]
test eax, eax
jne 0x1400015e0
cmp rcx, rbx
jne 0x140001650
movzx eax, word [r15 + r8*2]
mov rdx, r12
mov dword [rsp + 0x38], 0xb8d18b4c
mov r9d, dword [r14 + rax*4]
lea rax, [rsp + 0x38]
add r9, r11
mov r8, r9
mov qword [rbp - 0x31], r9
sub r8, rax
nop dword [rax]
lea rcx, [rsp + 0x38]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [rcx + r8], al
jne 0x140001646
inc rdx
cmp rdx, 4
jl 0x140001620
cmp byte [r9 + 6], r12b
jne 0x140001646
cmp byte [r9 + 7], r12b
je 0x1400016a9
cmp byte [r9], 0xe9
je 0x1400016d9
inc r10w
movzx eax, r10w
cmp eax, edi
jb 0x1400015c0
jmp 0x1400011ce
movzx eax, byte [r11 + r10 + 4]
movzx ecx, byte [r11 + r10 + 5]
shl cx, 8
or cx, ax
mov eax, esi
sub cx, r9w
mov word [rbp - 9], cx
jmp 0x140001548
movzx eax, byte [r11 + r10 + 4]
movzx ecx, byte [r11 + r10 + 5]
shl cx, 8
or cx, ax
mov eax, esi
add cx, r9w
mov word [rbp - 9], cx
jmp 0x140001548
movzx ecx, byte [r9 + 5]
mov r15d, 1
movzx eax, byte [r9 + 4]
mov r9, qword [rbp - 0x61]
mov rdx, qword [rbp + 0x7f]
mov r8, qword [rbp + 0x77]
shl cx, 8
or cx, ax
mov word [rbp - 0x21], cx
mov rcx, qword [rbp - 0x69]
jmp 0x1400017cc
mov ebx, dword [rbp + 0x67]
mov r15d, 1
movzx r10d, r15w
mov dword [rbp - 0x7d], 0xb8d18b4c
nop dword [rax]
movzx eax, r10w
mov rdx, r12
neg eax
movsxd r11, eax
lea rax, [rbp - 0x7d]
mov r8, r11
sub r8, rax
add r8, r9
nop dword [rax]
lea rcx, [rbp - 0x7d]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x14000173b
inc rdx
cmp rdx, 4
jl 0x140001710
cmp byte [r9 + r11 + 6], r12b
jne 0x14000173b
cmp byte [r9 + r11 + 7], r12b
je 0x1400018a8
inc r10w
cmp r10w, bx
jbe 0x1400016f0
movzx r10d, r15w
mov dword [rbp - 0x79], 0xb8d18b4c
movzx r11d, r10w
lea rcx, [rbp - 0x79]
mov r8d, r11d
mov rdx, r12
sub r8, rcx
add r8, r9
nop dword [rax]
nop dword [rax + rax]
lea rcx, [rbp - 0x79]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x14000179b
inc rdx
cmp rdx, 4
jl 0x140001770
cmp byte [r11 + r9 + 6], r12b
jne 0x14000179b
cmp byte [r11 + r9 + 7], r12b
je 0x1400018cb
inc r10w
cmp r10w, bx
jbe 0x140001750
mov eax, r12d
mov rcx, qword [rbp - 0x69]
mov rdx, qword [rbp + 0x7f]
mov r8, qword [rbp + 0x77]
mov r10, qword [rbp + 0x6f]
test eax, eax
je 0x1400011ce
mov r9, qword [rbp - 0x61]
mov qword [rbp - 0x61], r9
mov qword [rbp + 0x6f], r10
mov rdi, qword [rbp + 0x6f]
movabs r11, 0xc6a2fa174e551bcb
mov esi, dword [rcx]
movzx r10d, r12w
mov ebx, dword [rdx]
add rsi, r9
mov r14d, dword [r8]
add rbx, r9
mov edi, dword [rdi]
add r14, r9
mov qword [rbp + 7], r11
test edi, edi
je 0x1400011ce
nop dword [rax]
movzx r8d, r10w
mov rcx, r13
mov edx, dword [rbx + r8*4]
add rdx, r9
movzx eax, byte [rdx]
test eax, eax
je 0x140001893
nop word [rax + rax]
imul rcx, rcx, 0x21
lea rdx, [rdx + 1]
add rcx, rax
movzx eax, byte [rdx]
test eax, eax
jne 0x140001820
cmp rcx, r11
jne 0x140001893
movzx eax, word [r14 + r8*2]
mov rdx, r12
mov dword [rbp - 0x75], 0xb8d18b4c
mov ecx, dword [rsi + rax*4]
lea rax, [rbp - 0x75]
add r9, rcx
mov r8, r9
mov qword [rbp - 1], r9
sub r8, rax
nop word [rax + rax]
lea rcx, [rbp - 0x75]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x140001885
inc rdx
cmp rdx, 4
jl 0x140001860
cmp byte [r9 + 6], r12b
jne 0x140001885
cmp byte [r9 + 7], r12b
je 0x1400018ee
cmp byte [r9], 0xe9
je 0x140001913
mov r9, qword [rbp - 0x61]
inc r10w
movzx eax, r10w
cmp eax, edi
jb 0x140001800
jmp 0x1400011ce
movzx eax, byte [r9 + r11 + 4]
movzx ecx, byte [r9 + r11 + 5]
shl cx, 8
or cx, ax
mov eax, r15d
sub cx, r10w
mov word [rbp - 0x21], cx
jmp 0x1400017a8
movzx eax, byte [r11 + r9 + 4]
movzx ecx, byte [r11 + r9 + 5]
shl cx, 8
or cx, ax
mov eax, r15d
add cx, r10w
mov word [rbp - 0x21], cx
jmp 0x1400017a8
movzx ecx, byte [r9 + 5]
movzx eax, byte [r9 + 4]
shl cx, 8
or cx, ax
mov word [rbp + 0xf], cx
lea rcx, [rbp - 0x49]
call fcn.140001a30
xor eax, eax
jmp 0x1400011d3
mov edi, dword [rbp + 0x67]
movzx r10d, r15w
mov dword [rbp - 0x71], 0xb8d18b4c
movzx eax, r10w
mov r8, r9
neg eax
mov rdx, r12
movsxd r11, eax
lea rax, [rbp - 0x71]
sub r8, rax
add r8, r11
nop word [rax + rax]
lea rcx, [rbp - 0x71]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x140001967
inc rdx
cmp rdx, 4
jl 0x140001940
cmp byte [r9 + r11 + 6], r12b
jne 0x140001967
cmp byte [r9 + r11 + 7], r12b
je 0x1400019d3
inc r10w
cmp r10w, di
jbe 0x140001921
lea rax, [rbp - 0x6d]
mov dword [rbp - 0x6d], 0xb8d18b4c
mov rbx, r9
movzx r10d, r15w
sub rbx, rax
nop word [rax + rax]
movzx r11d, r10w
mov rdx, r12
lea r8, [rbx + r11]
nop dword [rax + rax]
lea rcx, [rbp - 0x6d]
add rcx, rdx
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x1400019c7
inc rdx
cmp rdx, 4
jl 0x1400019a0
cmp byte [r9 + r11 + 6], r12b
jne 0x1400019c7
cmp byte [r9 + r11 + 7], r12b
je 0x1400019ec
inc r10w
cmp r10w, di
jbe 0x140001990
jmp 0x140001a0a
movzx ecx, byte [r9 + r11 + 5]
movzx eax, byte [r9 + r11 + 4]
shl cx, 8
or cx, ax
sub cx, r10w
jmp 0x140001a03
movzx ecx, byte [r9 + r11 + 5]
movzx eax, byte [r9 + r11 + 4]
shl cx, 8
or cx, ax
add cx, r10w
mov word [rbp + 0xf], cx
mov r12d, r15d
test r12d, r12d
je 0x1400011ce
lea rcx, [rbp - 0x49]
call fcn.140001a30
xor eax, eax
jmp 0x1400011d3