Function at 0x140090830
Capabilities:
Get system information on windows

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x7b8]
sub rsp, 0x8b0
mov rax, qword [0x1400bf018]
xor rax, rsp
mov qword [rbp + 0x780], rax
mov qword [r11 + 0x10], rsi
lea rcx, [rbp + 0x120]
mov qword [r11 + 0x18], rdi
xor edx, edx
mov qword [r11 - 0x10], r12
mov r8d, 0x540
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
call fcn.14005be70
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1b0
call fcn.14005be70
lea rcx, [rbp + 0x120]
call fcn.14009b4c0
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1b0
call fcn.14005be70
movsd xmm0, qword [0x1400ca7a0]
xor eax, eax
mov qword [rbp + 0x670], rax
mov r14d, 0xffffffff
mov qword [rbp + 0x678], rax
xor r13d, r13d
mov qword [rbp + 0x680], rax
mov esi, 1
mov qword [rbp + 0x688], rax
mov r12d, 2
mov qword [rbp + 0x690], rax
mov r11d, r14d
mov qword [rbp + 0x698], rax
mov qword [rbp + 0x6a0], rax
mov qword [rbp + 0x6a8], rax
mov eax, dword [0x1400ca7a8]
mov dword [rbp + 0x6bc], eax
movzx eax, byte [0x1400ca7ac]
mov byte [rbp + 0x6c0], al
xor eax, eax
mov word [rbp + 0x6c1], ax
mov byte [rbp + 0x6c3], al
mov eax, dword [0x1400ca7c8]
mov dword [rbp + 0x6d0], eax
movzx eax, byte [0x1400ca7cc]
mov byte [rbp + 0x6d4], al
xor eax, eax
mov word [rbp + 0x6d5], ax
mov byte [rbp + 0x6d7], al
mov eax, dword [0x1400ca7e8]
mov dword [rbp + 0x6e4], eax
movzx eax, byte [0x1400ca7ec]
mov byte [rbp + 0x6e8], al
xor eax, eax
movsd qword [rbp + 0x6b4], xmm0
movsd xmm0, qword [0x1400ca7c0]
mov word [rbp + 0x6e9], ax
mov byte [rbp + 0x6eb], al
mov eax, dword [0x1400ca808]
mov dword [rbp + 0x6f8], eax
movzx eax, byte [0x1400ca80c]
movsd qword [rbp + 0x6c8], xmm0
movsd xmm0, qword [0x1400ca7e0]
mov byte [rbp + 0x6fc], al
xor eax, eax
movsd qword [rbp + 0x6dc], xmm0
movsd xmm0, qword [0x1400ca800]
mov word [rbp + 0x6fd], ax
mov byte [rbp + 0x6ff], al
mov qword [rbp + 0x70], 0xffffffffffffffff
mov qword [rbp + 0x68], 0xffffffffffffffff
mov dword [rbp + 0x64], r14d
mov qword [rbp + 0x80], 0xffffffffffffffff
mov qword [rbp + 0x78], 0xffffffffffffffff
mov qword [rbp + 0x90], 0xffffffffffffffff
mov qword [rbp + 0x88], 0xffffffffffffffff
mov dword [rbp + 0xd8], r14d
mov dword [rbp + 0x6b0], r13d
mov dword [rbp + 0x6c4], esi
mov dword [rbp + 0x6d8], r12d
mov dword [rbp + 0x6ec], 3
movsd qword [rbp + 0x6f0], xmm0
mov eax, dword [0x1400ca828]
mov edi, 4
movsd xmm0, qword [0x1400ca820]
mov r9d, r13d
mov dword [rbp + 0x70c], eax
movzx eax, byte [0x1400ca82c]
mov byte [rbp + 0x710], al
xor eax, eax
mov word [rbp + 0x711], ax
mov byte [rbp + 0x713], al
mov eax, dword [0x1400ca848]
mov dword [rbp + 0x720], eax
movzx eax, byte [0x1400ca84c]
mov byte [rbp + 0x724], al
xor eax, eax
mov word [rbp + 0x725], ax
mov byte [rbp + 0x727], al
mov eax, dword [0x1400ca868]
mov dword [rbp + 0x734], eax
movzx eax, byte [0x1400ca86c]
mov byte [rbp + 0x738], al
xor eax, eax
mov word [rbp + 0x739], ax
mov byte [rbp + 0x73b], al
mov eax, dword [0x1400ca888]
mov dword [rbp + 0x748], eax
movzx eax, byte [0x1400ca88c]
mov byte [rbp + 0x74c], al
xor eax, eax
mov word [rbp + 0x74d], ax
mov byte [rbp + 0x74f], al
mov eax, dword [0x1400ca8a8]
mov dword [rbp + 0x75c], eax
movzx eax, byte [0x1400ca8ac]
mov byte [rbp + 0x760], al
xor eax, eax
mov word [rbp + 0x761], ax
mov byte [rbp + 0x763], al
mov eax, dword [0x1400ca8c8]
movsd qword [rbp + 0x704], xmm0
movsd xmm0, qword [0x1400ca840]
mov dword [rbp + 0x770], eax
movzx eax, byte [0x1400ca8cc]
movsd qword [rbp + 0x718], xmm0
movsd xmm0, qword [0x1400ca860]
mov byte [rbp + 0x774], al
xor eax, eax
movsd qword [rbp + 0x72c], xmm0
movsd xmm0, qword [0x1400ca880]
mov word [rbp + 0x775], ax
mov byte [rbp + 0x777], al
mov eax, dword [rbp + 0x124]
movsd qword [rbp + 0x740], xmm0
movsd xmm0, qword [0x1400ca8a0]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x12c]
movsd qword [rbp + 0x754], xmm0
movsd xmm0, qword [0x1400ca8c0]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp + 0x128]
mov dword [rsp + 0x78], eax
mov dword [rbp + 0x700], edi
mov dword [rbp + 0x714], 5
mov dword [rbp + 0x728], 6
mov dword [rbp + 0x73c], 7
mov dword [rbp + 0x750], 8
mov dword [rbp + 0x764], 9
movsd qword [rbp + 0x768], xmm0
mov byte [rsp + 0x7c], r13b
movsxd r10, r9d
lea r8, [rbp + 0x6b4]
lea rax, [r10 + r10*4]
lea r8, [r8 + rax*4]
lea rax, [rsp + 0x70]
sub r8, rax
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140090c23
inc rax
test ecx, ecx
jne 0x140090c10
test edx, edx
je 0x140090c32
inc r9d
cmp r9d, 0xa
jl 0x140090bf1
jmp 0x140090c3e
lea rax, [r10 + r10*4]
mov r11d, dword [rbp + rax*4 + 0x6b0]
mov dword [rbp - 0x40], r11d
cmp r11d, r14d
je 0x14009129b
cmp dword [rbp + 0x120], esi
jl 0x140090cad
mov ecx, dword [rbp + 0x130]
mov r8d, ecx
mov r9d, ecx
shr r8d, 8
mov edx, ecx
shr r9d, 4
shr edx, 0x10
mov eax, ecx
and eax, 0xf
shr ecx, 0x14
and r8d, 0xf
mov dword [rbp + 0x4c], eax
and r9d, 0xf
mov dword [rbp + 0x44], r8d
and edx, 0xf
mov dword [rbp + 0x48], r9d
movzx eax, cl
cmp r11d, esi
jne 0x140090c9e
cmp r8d, 0xf
jae 0x140090c9e
mov dword [rbp + 0x50], r8d
jmp 0x140090ca4
add eax, r8d
mov dword [rbp + 0x50], eax
shl edx, 4
add edx, r9d
mov dword [rbp + 0x54], edx
mov eax, dword [rbp + 0x320]
add eax, 0xf8000000
cmp eax, edi
jl 0x140090d5b
mov rcx, r13
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + rcx + 0x340]
mov dword [rbp + rcx + 0x670], eax
mov eax, dword [rbp + rcx + 0x344]
mov dword [rbp + rcx + 0x674], eax
mov eax, dword [rbp + rcx + 0x348]
mov dword [rbp + rcx + 0x678], eax
mov eax, dword [rbp + rcx + 0x34c]
mov dword [rbp + rcx + 0x67c], eax
add rcx, 0x10
cmp rcx, 0x30
jl 0x140090cd0
cmp byte [rbp + 0x670], 0x20
mov ecx, r13d
mov byte [rbp + 0x6a0], r13b
jne 0x140090d3b
lea rax, [rbp + 0x670]
nop dword [rax]
inc ecx
lea rax, [rax + 1]
cmp byte [rax], 0x20
je 0x140090d30
movsxd rax, ecx
lea rdx, [rbp + 0x670]
add rdx, rax
lea rcx, [rbp - 0x80]
mov r8d, 0x40
call fcn.1400634f0
mov byte [rbp - 0x50], r13b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
call fcn.14009b054
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rbp - 0x40]
mov eax, dword [rsp + 0x58]
mov dword [rbp + 0x60], eax
test ecx, ecx
je 0x140090eeb
cmp ecx, esi
jne 0x14009129b
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
call fcn.14009b988
movdqa xmm0, xmmword [0x1400b2f10]
movdqa xmm1, xmmword [reloc.WS2_32.dll_connect]
mov edx, dword [rbp + 0x320]
movdqa xmmword [rbp + 0x670], xmm0
movdqa xmm0, xmmword [reloc.WS2_32.dll_recv]
movdqa xmmword [rbp + 0x680], xmm1
movdqa xmm1, xmmword [0x1400b2f70]
movdqa xmmword [rbp + 0x690], xmm0
movdqa xmmword [rbp + 0x6a0], xmm1
cmp edx, 0x80000005
jb 0x140090e1b
movzx eax, byte [rbp + 0x37b]
mov dword [rbp + 0x64], eax
movzx eax, byte [rbp + 0x37a]
mov dword [rbp + 0x78], eax
movzx eax, byte [rbp + 0x378]
mov dword [rbp + 0x88], eax
movzx eax, byte [rbp + 0x37f]
mov dword [rbp + 0x68], eax
cmp edx, 0x80000006
jb 0x140090e8b
mov rcx, qword [rbp + 0x388]
movzx eax, word [rbp + 0x38a]
mov dword [rbp + 0x6c], eax
mov rax, rcx
shr rax, 0xc
and eax, 0xf
mov eax, dword [rbp + rax*4 + 0x670]
mov dword [rbp + 0x7c], eax
movzx eax, cl
mov ecx, dword [rbp + 0x38c]
mov dword [rbp + 0x8c], eax
mov eax, ecx
shr eax, 0x12
test eax, eax
je 0x140090e87
shl eax, 9
mov dword [rbp + 0x70], eax
mov eax, ecx
shr rax, 0xc
and eax, 0xf
mov eax, dword [rbp + rax*4 + 0x670]
mov dword [rbp + 0x80], eax
movzx eax, cl
mov dword [rbp + 0x90], eax
jmp 0x140090e8b
mov dword [rbp + 0x70], r13d
mov eax, r14d
cmp dword [rbp + 0x120], esi
jb 0x140090eac
movzx r14d, byte [rbp + 0x136]
cmp edx, 8
jb 0x140090eac
movzx eax, byte [rbp + 0x3a8]
inc eax
cmp byte [rbp - 0x22], r13b
je 0x140090ee0
cmp eax, esi
jle 0x140090ecd
cmp dword [rbp + 0x50], 0x17
jl 0x140090ec1
cdq
sub eax, edx
sar eax, 1
mov dword [rbp + 0x58], eax
mov dword [rbp + 0x5c], r14d
jmp 0x14009129b
cmp r14d, r12d
mov dword [rbp + 0x58], esi
cmovge r12d, r14d
mov dword [rbp + 0x5c], r12d
jmp 0x14009129b
mov dword [rbp + 0x5c], esi
mov dword [rbp + 0x58], esi
jmp 0x14009129b
mov qword [rsp + 0x8c0], rbx
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
mov qword [rsp + 0x890], r15
call fcn.14009cb30
mov r15d, dword [rbp + 0x120]
cmp r15d, edi
jb 0x140091059
mov ebx, r13d
lea r11, [rbp + 0x524]
nop word [rax + rax]
mov edx, dword [r11 - 4]
mov ecx, edx
and ecx, 0x1f
je 0x140091076
mov eax, edx
and al, 0xe0
cmp al, 0x20
jne 0x140090f5e
cmp ecx, esi
jne 0x140090f50
mov r8d, esi
jmp 0x140090fa5
cmp ecx, r12d
jne 0x140091048
mov r8d, r13d
jmp 0x140090fa5
mov eax, edx
and al, 0xe0
cmp al, 0x40
jne 0x140090f74
cmp ecx, 3
jne 0x140091048
mov r8d, r12d
jmp 0x140090fa5
mov eax, edx
and eax, 0xe0
cmp al, 0x60
jne 0x140090f8d
cmp ecx, 3
jne 0x140091048
mov r8d, ecx
jmp 0x140090fa5
and dl, 0xe0
cmp dl, 0x80
jne 0x140091048
cmp ecx, 3
jne 0x140091048
mov r8d, edi
mov eax, dword [r11]
mov r9d, eax
mov ecx, dword [r11 + 4]
mov r10d, eax
shr eax, 0xc
inc ecx
and eax, 0x3ff
shr r9d, 0x16
inc eax
and r10d, 0xfff
imul eax, ecx
inc r10d
inc r9d
imul eax, r10d
imul eax, r9d
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
test r8d, r8d
je 0x140091045
sub r8d, esi
je 0x140091035
sub r8d, esi
je 0x140091025
sub r8d, esi
je 0x140091012
cmp r8d, esi
jne 0x140091048
mov dword [rbp + 0x74], eax
mov dword [rbp + 0x84], r9d
mov dword [rbp + 0x94], r10d
jmp 0x140091048
mov dword [rbp + 0x70], eax
mov dword [rbp + 0x80], r9d
mov dword [rbp + 0x90], r10d
jmp 0x140091048
mov dword [rbp + 0x6c], eax
mov dword [rbp + 0x7c], r9d
mov dword [rbp + 0x8c], r10d
jmp 0x140091048
mov dword [rbp + 0x64], eax
mov dword [rbp + 0x78], r9d
mov dword [rbp + 0x88], r10d
jmp 0x140091048
mov dword [rbp + 0x68], eax
inc ebx
add r11, 0x10
cmp ebx, 8
jl 0x140090f30
jmp 0x140091076
cmp r15d, r12d
jb 0x140091076
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
call fcn.14009c444
mov r15d, dword [rbp + 0x120]
mov r11d, r14d
mov r8d, r14d
cmp r15d, 0xb
jb 0x1400910cd
mov r10d, r14d
lea rdx, [rbp + 0x5a4]
mov r9d, r14d
nop
movzx ecx, byte [rdx + 5]
sub ecx, esi
je 0x1400910a2
cmp ecx, esi
jne 0x1400910a6
movzx r9d, word [rdx]
jmp 0x1400910a6
movzx r10d, word [rdx]
add rdx, 0x10
sub rdi, rsi
jne 0x140091090
cmp r10d, r14d
je 0x1400910cd
cmp r9d, r14d
je 0x1400910cd
mov eax, r9d
mov dword [rbp + 0x5c], r9d
cdq
idiv r10d
mov dword [rbp + 0x58], eax
test eax, eax
jg 0x140091122
jmp 0x14009111f
cmp r15d, esi
jb 0x1400910ee
movzx r11d, byte [rbp + 0x136]
cmp r15d, 4
jb 0x1400910ee
mov r8d, dword [rbp + 0x160]
shr r8d, 0x1a
inc r8d
cmp byte [rbp - 0x22], r13b
je 0x14009111c
cmp r8d, esi
jle 0x140091103
mov dword [rbp + 0x58], r8d
mov dword [rbp + 0x5c], r11d
jmp 0x140091122
cmp r11d, esi
mov dword [rbp + 0x58], esi
mov eax, esi
cmovge eax, r11d
mov dword [rbp + 0x5c], eax
cmp eax, esi
jne 0x140091122
mov byte [rbp - 0x22], r13b
jmp 0x140091122
mov dword [rbp + 0x5c], esi
mov dword [rbp + 0x58], esi
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x28]
call fcn.14009be58
cmp byte [rbp + 0x2f], r13b
je 0x14009128b
cmp dword [rbp + 0x120], 0x12
jb 0x14009128b
mov ecx, dword [rbp + 0x240]
test ecx, ecx
je 0x14009128b
movzx eax, byte [rbp + 0xf6]
test sil, cl
cmovne eax, esi
test r12b, cl
movzx ecx, byte [rbp + 0xf7]
cmovne ecx, esi
mov byte [rbp + 0xf6], al
mov byte [rbp + 0xf7], cl
test al, al
jne 0x140091184
test cl, cl
je 0x14009118a
mov dword [rbp + 0xf0], esi
mov eax, dword [rbp + 0x244]
mov ebx, r13d
mov ecx, dword [rbp + 0x5f4]
mov rdi, r13
mov dword [rbp + 0x108], eax
mov r12d, 0xfffff000
movzx eax, byte [rbp + 0x24c]
mov r15d, 0xf4240
shl rcx, 0x20
mov byte [rbp + 0xf4], al
movzx eax, byte [rbp + 0x24d]
mov byte [rbp + 0xf5], al
mov eax, dword [rbp + 0x5f0]
or rcx, rax
mov dword [rbp + 0x104], r14d
mov eax, dword [rbp + 0x5f8]
lea r14, [rbp + 0x600]
mov qword [rbp + 0x110], rcx
mov ecx, dword [rbp + 0x5fc]
shl rcx, 0x20
or rcx, rax
mov qword [rbp + 0x118], rcx
cmp rdi, 2
jge 0x140091217
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x660], xmm0
jmp 0x14009123e
lea eax, [rbx + 2]
mov qword [rbp + 0x660], reloc.WS2_32.dll_select
lea rcx, [rbp + 0x660]
mov dword [rbp + 0x668], eax
mov dword [rbp + 0x66c], r13d
call fcn.1400585f0
mov eax, dword [rbp + 0x660]
and al, 0xf
cmp al, sil
jne 0x14009127e
mov ecx, dword [rbp + 0x66c]
mov rax, qword [rbp + 0x668]
and ecx, 0xfffff
shl rcx, 0x20
and rax, r12
or rcx, rax
je 0x14009127e
inc ebx
inc rdi
add r14, 0x10
cmp rdi, r15
jl 0x140091204
mov ebx, dword [rbp + 0x104]
cmp ebx, 0xffffffff
cmove ebx, r15d
mov dword [rbp + 0x104], ebx
mov rbx, qword [rsp + 0x8c0]
mov r15, qword [rsp + 0x890]
mov r8d, 0x3f
lea rdx, [rbp - 0x80]
lea rcx, [0x1400cd4e0]
call fcn.1400634f0
movsxd rax, dword [rbp + 0x60]
xor edx, edx
movsxd rcx, dword [rbp + 0x5c]
mov r14, qword [rsp + 0x898]
mov r12, qword [rsp + 0x8a8]
mov rdi, qword [rsp + 0x8d0]
mov qword [0x1400cd4c8], rax
div rcx
mov dword [reloc.WS2_32.dll_accept], eax
mov r8, rax
mov r9d, eax
test eax, eax
jne 0x1400912f9
mov r8d, esi
mov dword [reloc.WS2_32.dll_accept], esi
mov r9d, esi
mov ecx, dword [rbp + 0x70]
mov edx, r9d
imul edx, dword [rbp + 0x58]
mov dword [0x1400cd4d0], edx
test ecx, ecx
jle 0x140091315
mov eax, r9d
imul eax, ecx
jmp 0x140091318
mov eax, r13d
mov dword [0x1400cd4d4], eax
mov eax, dword [rbp - 0x40]
cmp eax, esi
jne 0x14009134b
mov ecx, dword [rbp + 0x50]
add ecx, 0xffffffeb
cmp ecx, esi
ja 0x140091385
mov eax, edx
mov byte [0x1400cd09d], sil
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
imul r8d, r9d
imul r8d, dword [rbp + 0x6c]
jmp 0x140091399
test eax, eax
jne 0x140091385
cmp dword [rbp + 0x50], 6
jne 0x140091385
mov ecx, dword [rbp + 0x54]
lea eax, [rcx - 0xe]
test eax, 0xfffffff6
jne 0x140091385
cmp ecx, 0x16
je 0x140091385
cmp edx, esi
jle 0x140091374
mov eax, edx
cdq
sub eax, edx
sar eax, 1
mov esi, eax
mov eax, dword [rbp + 0x6c]
test eax, eax
jle 0x140091396
imul r8d, esi
imul r8d, eax
jmp 0x140091399
mov eax, dword [rbp + 0x6c]
test eax, eax
jle 0x140091396
imul r8d, edx
imul r8d, eax
jmp 0x140091399
mov r8d, r13d
mov eax, dword [0x1400cd4b4]
mov r13, qword [rsp + 0x8a0]
or eax, 1
cmp byte [rbp - 9], 0
mov rsi, qword [rsp + 0x8c8]
mov dword [0x1400cd4d8], r8d
mov dword [0x1400cd4b4], eax
je 0x1400913ce
or eax, 2
mov dword [0x1400cd4b4], eax
cmp byte [rbp + 0x24], 0
je 0x1400913dd
or eax, 4
mov dword [0x1400cd4b4], eax
mov rcx, qword [rbp + 0x780]
xor rcx, rsp
call fcn.140059450
add rsp, 0x8b0
pop rbp
ret