Function at 0x1400555b0
Capabilities:
Get system information on windows

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x7b8]
sub rsp, 0x8b0
mov rax, qword [0x140088008]
xor rax, rsp
mov qword [rbp + 0x780], rax
mov qword [r11 + 8], rbx
lea rcx, [rbp + 0x120]
mov qword [r11 + 0x10], rsi
xor edx, edx
mov qword [r11 - 0x10], r12
mov r8d, 0x540
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
call fcn.14002c100
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1b0
call fcn.14002c100
lea rcx, [rbp + 0x120]
call fcn.140063b88
xor edx, edx
lea rcx, [rsp + 0x70]
mov r8d, 0x1b0
call fcn.14002c100
movsd xmm0, qword [0x140093890]
xor eax, eax
or r14d, 0xffffffff
mov qword [rbp + 0x670], rax
mov qword [rbp + 0x678], rax
xor ebx, ebx
mov qword [rbp + 0x680], rax
mov r13d, 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 [0x140093898]
mov dword [rbp + 0x6bc], eax
movzx eax, byte [0x14009389c]
mov byte [rbp + 0x6c0], al
xor eax, eax
mov word [rbp + 0x6c1], ax
mov byte [rbp + 0x6c3], al
mov eax, dword [0x1400938b8]
mov dword [rbp + 0x6d0], eax
movzx eax, byte [0x1400938bc]
mov byte [rbp + 0x6d4], al
xor eax, eax
mov word [rbp + 0x6d5], ax
mov byte [rbp + 0x6d7], al
mov eax, dword [0x1400938d8]
movsd qword [rbp + 0x6b4], xmm0
movsd xmm0, qword [0x1400938b0]
mov dword [rbp + 0x6e4], eax
movzx eax, byte [0x1400938dc]
movsd qword [rbp + 0x6c8], xmm0
movsd xmm0, qword [0x1400938d0]
mov byte [rbp + 0x6e8], al
xor eax, eax
movsd qword [rbp + 0x6dc], xmm0
movsd xmm0, qword [0x1400938f0]
mov word [rbp + 0x6e9], ax
mov byte [rbp + 0x6eb], al
mov eax, dword [0x1400938f8]
mov dword [rbp + 0x74], r14d
mov dword [rbp + 0x70], r14d
mov dword [rbp + 0x6c], r14d
mov dword [rbp + 0x68], r14d
mov dword [rbp + 0x64], r14d
mov dword [rbp + 0x84], r14d
mov dword [rbp + 0x80], r14d
mov dword [rbp + 0x7c], r14d
mov dword [rbp + 0x78], r14d
mov dword [rbp + 0x94], r14d
mov dword [rbp + 0x90], r14d
mov dword [rbp + 0x8c], r14d
mov dword [rbp + 0x88], r14d
mov dword [rbp + 0xd8], r14d
mov dword [rbp + 0x6b0], ebx
mov dword [rbp + 0x6c4], r13d
mov dword [rbp + 0x6d8], r12d
mov dword [rbp + 0x6ec], 3
movsd qword [rbp + 0x6f0], xmm0
movsd xmm0, qword [0x140093910]
mov esi, 4
mov dword [rbp + 0x6f8], eax
mov r9d, ebx
movzx eax, byte [0x1400938fc]
mov byte [rbp + 0x6fc], al
xor eax, eax
mov word [rbp + 0x6fd], ax
mov byte [rbp + 0x6ff], al
mov eax, dword [0x140093918]
mov dword [rbp + 0x70c], eax
movzx eax, byte [0x14009391c]
mov byte [rbp + 0x710], al
xor eax, eax
mov word [rbp + 0x711], ax
mov byte [rbp + 0x713], al
mov eax, dword [0x140093938]
mov dword [rbp + 0x720], eax
movzx eax, byte [0x14009393c]
mov byte [rbp + 0x724], al
xor eax, eax
mov word [rbp + 0x725], ax
mov byte [rbp + 0x727], al
mov eax, dword [0x140093958]
mov dword [rbp + 0x734], eax
movzx eax, byte [0x14009395c]
mov byte [rbp + 0x738], al
xor eax, eax
mov word [rbp + 0x739], ax
mov byte [rbp + 0x73b], al
mov eax, dword [0x140093978]
mov dword [rbp + 0x748], eax
movzx eax, byte [0x14009397c]
mov byte [rbp + 0x74c], al
xor eax, eax
mov word [rbp + 0x74d], ax
mov byte [rbp + 0x74f], al
mov eax, dword [0x140093998]
mov dword [rbp + 0x75c], eax
movzx eax, byte [0x14009399c]
mov byte [rbp + 0x760], al
xor eax, eax
mov word [rbp + 0x761], ax
mov byte [rbp + 0x763], al
mov eax, dword [0x1400939b8]
movsd qword [rbp + 0x704], xmm0
movsd xmm0, qword [0x140093930]
mov dword [rbp + 0x770], eax
movzx eax, byte [0x1400939bc]
movsd qword [rbp + 0x718], xmm0
movsd xmm0, qword [0x140093950]
mov byte [rbp + 0x774], al
xor eax, eax
movsd qword [rbp + 0x72c], xmm0
movsd xmm0, qword [0x140093970]
mov word [rbp + 0x775], ax
mov byte [rbp + 0x777], al
mov eax, dword [rbp + 0x124]
movsd qword [rbp + 0x740], xmm0
movsd xmm0, qword [0x140093990]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0x12c]
movsd qword [rbp + 0x754], xmm0
movsd xmm0, qword [0x1400939b0]
mov dword [rsp + 0x74], eax
mov eax, dword [rbp + 0x128]
mov dword [rsp + 0x78], eax
mov dword [rbp + 0x700], esi
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], bl
nop word [rax + rax]
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 word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x1400559b3
inc rax
test ecx, ecx
jne 0x1400559a0
test edx, edx
je 0x1400559c2
inc r9d
cmp r9d, 0xa
jl 0x140055980
jmp 0x1400559ce
lea rax, [r10 + r10*4]
mov r11d, dword [rbp + rax*4 + 0x6b0]
mov dword [rbp - 0x40], r11d
cmp r11d, 0xffffffff
je 0x140056036
cmp dword [rbp + 0x120], r13d
jl 0x140055a3f
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, r13d
jne 0x140055a30
cmp r8d, 0xf
jae 0x140055a30
mov dword [rbp + 0x50], r8d
jmp 0x140055a36
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, esi
jl 0x140055aea
mov rcx, rbx
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 0x140055a60
cmp byte [rbp + 0x670], 0x20
mov ecx, ebx
mov byte [rbp + 0x6a0], bl
jne 0x140055acb
lea rax, [rbp + 0x670]
nop word [rax + rax]
inc ecx
lea rax, [rax + 1]
cmp byte [rax], 0x20
je 0x140055ac0
movsxd rax, ecx
lea rdx, [rbp + 0x670]
add rdx, rax
lea rcx, [rbp - 0x80]
mov r8d, 0x40
call fcn.14002e080
mov byte [rbp - 0x50], bl
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
call fcn.14006371c
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 0x140055c7e
cmp ecx, r13d
jne 0x140056036
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
call fcn.140064050
movdqa xmm0, xmmword [0x14007dd70]
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 [0x14007ddc0]
movdqa xmmword [rbp + 0x690], xmm0
movdqa xmmword [rbp + 0x6a0], xmm1
cmp edx, 0x80000005
jb 0x140055bab
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 0x140055c1a
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 0x140055c17
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 0x140055c1a
mov dword [rbp + 0x70], ebx
mov eax, r14d
cmp dword [rbp + 0x120], r13d
jb 0x140055c3c
movzx r14d, byte [rbp + 0x136]
cmp edx, 8
jb 0x140055c3c
movzx eax, byte [rbp + 0x3a8]
inc eax
cmp byte [rbp - 0x22], bl
je 0x140055c71
cmp eax, r13d
jle 0x140055c5d
cmp dword [rbp + 0x50], 0x17
jl 0x140055c51
cdq
sub eax, edx
sar eax, 1
mov dword [rbp + 0x58], eax
mov dword [rbp + 0x5c], r14d
jmp 0x140056036
cmp r14d, r12d
mov dword [rbp + 0x58], r13d
cmovge r12d, r14d
mov dword [rbp + 0x5c], r12d
jmp 0x140056036
mov dword [rbp + 0x5c], r13d
mov dword [rbp + 0x58], r13d
jmp 0x140056036
mov qword [rsp + 0x8d0], rdi
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
mov qword [rsp + 0x890], r15
call fcn.1400651f8
mov r15d, dword [rbp + 0x120]
cmp r15d, esi
jb 0x140055deb
mov edi, ebx
lea r11, [rbp + 0x524]
nop dword [rax + rax]
mov edx, dword [r11 - 4]
mov ecx, edx
and ecx, 0x1f
je 0x140055e08
mov eax, edx
and al, 0xe0
cmp al, 0x20
jne 0x140055cef
cmp ecx, r13d
jne 0x140055ce1
mov r8d, r13d
jmp 0x140055d36
cmp ecx, r12d
jne 0x140055dda
mov r8d, ebx
jmp 0x140055d36
mov eax, edx
and al, 0xe0
cmp al, 0x40
jne 0x140055d05
cmp ecx, 3
jne 0x140055dda
mov r8d, r12d
jmp 0x140055d36
mov eax, edx
and eax, 0xe0
cmp al, 0x60
jne 0x140055d1e
cmp ecx, 3
jne 0x140055dda
mov r8d, ecx
jmp 0x140055d36
and dl, 0xe0
cmp dl, 0x80
jne 0x140055dda
cmp ecx, 3
jne 0x140055dda
mov r8d, esi
mov ecx, dword [r11]
mov r9d, ecx
mov eax, dword [r11 + 4]
mov r10d, ecx
inc eax
shr ecx, 0xc
and ecx, 0x3ff
shr r9d, 0x16
inc ecx
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 0x140055dd7
sub r8d, r13d
je 0x140055dc7
sub r8d, r13d
je 0x140055db7
sub r8d, r13d
je 0x140055da4
cmp r8d, r13d
jne 0x140055dda
mov dword [rbp + 0x74], eax
mov dword [rbp + 0x84], r9d
mov dword [rbp + 0x94], r10d
jmp 0x140055dda
mov dword [rbp + 0x70], eax
mov dword [rbp + 0x80], r9d
mov dword [rbp + 0x90], r10d
jmp 0x140055dda
mov dword [rbp + 0x6c], eax
mov dword [rbp + 0x7c], r9d
mov dword [rbp + 0x8c], r10d
jmp 0x140055dda
mov dword [rbp + 0x64], eax
mov dword [rbp + 0x78], r9d
mov dword [rbp + 0x88], r10d
jmp 0x140055dda
mov dword [rbp + 0x68], eax
inc edi
add r11, 0x10
cmp edi, 8
jl 0x140055cc0
jmp 0x140055e08
cmp r15d, r12d
jb 0x140055e08
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x120]
call fcn.140064b0c
mov r15d, dword [rbp + 0x120]
mov r11d, r14d
mov r8d, r14d
cmp r15d, 0xb
jb 0x140055e62
mov r10d, r14d
lea rdx, [rbp + 0x5a4]
mov r9d, r14d
movzx ecx, byte [rdx + 5]
sub ecx, r13d
je 0x140055e35
cmp ecx, r13d
jne 0x140055e39
movzx r9d, word [rdx]
jmp 0x140055e39
movzx r10d, word [rdx]
add rdx, 0x10
sub rsi, r13
jne 0x140055e21
cmp r10d, 0xffffffff
je 0x140055e62
cmp r9d, 0xffffffff
je 0x140055e62
mov eax, r9d
mov dword [rbp + 0x5c], r9d
cdq
idiv r10d
mov dword [rbp + 0x58], eax
test eax, eax
jg 0x140055eba
jmp 0x140055eb6
cmp r15d, r13d
jb 0x140055e83
movzx r11d, byte [rbp + 0x136]
cmp r15d, 4
jb 0x140055e83
mov r8d, dword [rbp + 0x160]
shr r8d, 0x1a
inc r8d
cmp byte [rbp - 0x22], bl
je 0x140055eb2
cmp r8d, r13d
jle 0x140055e97
mov dword [rbp + 0x58], r8d
mov dword [rbp + 0x5c], r11d
jmp 0x140055eba
cmp r11d, r13d
mov dword [rbp + 0x58], r13d
mov eax, r13d
cmovge eax, r11d
mov dword [rbp + 0x5c], eax
cmp eax, r13d
jne 0x140055eba
mov byte [rbp - 0x22], bl
jmp 0x140055eba
mov dword [rbp + 0x5c], r13d
mov dword [rbp + 0x58], r13d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x28]
call fcn.140064520
cmp byte [rbp + 0x2f], bl
je 0x140056026
cmp dword [rbp + 0x120], 0x12
jb 0x140056026
mov ecx, dword [rbp + 0x240]
test ecx, ecx
je 0x140056026
movzx eax, byte [rbp + 0xf6]
test r13b, cl
cmovne eax, r13d
test r12b, cl
movzx ecx, byte [rbp + 0xf7]
cmovne ecx, r13d
mov byte [rbp + 0xf6], al
mov byte [rbp + 0xf7], cl
test al, al
jne 0x140055f1d
test cl, cl
je 0x140055f24
mov dword [rbp + 0xf0], r13d
mov eax, dword [rbp + 0x244]
mov edi, ebx
mov ecx, dword [rbp + 0x5f4]
mov rsi, rbx
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
nop dword [rax]
cmp rsi, 2
jge 0x140055fb3
movups xmm0, xmmword [r14]
movups xmmword [rbp + 0x660], xmm0
jmp 0x140055fd9
lea eax, [rdi + 2]
mov qword [rbp + 0x660], reloc.WS2_32.dll_select
lea rcx, [rbp + 0x660]
mov dword [rbp + 0x668], eax
mov dword [rbp + 0x66c], ebx
call fcn.140028a60
mov eax, dword [rbp + 0x660]
and al, 0xf
cmp al, r13b
jne 0x140056019
mov ecx, dword [rbp + 0x66c]
mov rax, qword [rbp + 0x668]
and ecx, 0xfffff
shl rcx, 0x20
and rax, r12
or rcx, rax
je 0x140056019
inc edi
inc rsi
add r14, 0x10
cmp rsi, r15
jl 0x140055fa0
mov edi, dword [rbp + 0x104]
cmp edi, 0xffffffff
cmove edi, r15d
mov dword [rbp + 0x104], edi
mov rdi, qword [rsp + 0x8d0]
mov r15, qword [rsp + 0x890]
mov r8d, 0x3f
lea rdx, [rbp - 0x80]
lea rcx, [0x1400963a0]
call fcn.14002e080
mov eax, dword [rbp + 0x60]
mov r14, qword [rsp + 0x898]
mov r12, qword [rsp + 0x8a8]
mov rsi, qword [rsp + 0x8c8]
mov dword [0x1400963e0], eax
cdq
idiv dword [rbp + 0x5c]
mov dword [reloc.WS2_32.dll_accept], eax
mov ecx, eax
test eax, eax
jne 0x140056087
mov dword [reloc.WS2_32.dll_accept], r13d
mov ecx, r13d
mov r8d, dword [rbp + 0x70]
mov edx, ecx
imul edx, dword [rbp + 0x58]
mov r13, qword [rsp + 0x8a0]
mov dword [0x14009639c], edx
test r8d, r8d
jle 0x1400560ac
mov eax, ecx
imul eax, r8d
jmp 0x1400560ae
mov eax, ebx
cmp dword [rbp - 0x40], 1
mov dword [0x1400963e4], eax
jne 0x1400560de
mov eax, dword [rbp + 0x50]
add eax, 0xffffffeb
cmp eax, 1
ja 0x1400560de
mov eax, edx
mov byte [0x14009614e], 1
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
imul ebx, ecx
imul ebx, dword [rbp + 0x6c]
jmp 0x1400560ed
mov eax, dword [rbp + 0x6c]
test eax, eax
jle 0x1400560ed
mov ebx, ecx
imul ebx, edx
imul ebx, eax
mov eax, dword [0x140096398]
or eax, 1
mov dword [0x1400963e8], ebx
cmp byte [rbp - 9], 0
mov rbx, qword [rsp + 0x8c0]
mov dword [0x140096398], eax
je 0x140056119
or eax, 2
mov dword [0x140096398], eax
cmp byte [rbp + 0x24], 0
je 0x140056128
or eax, 4
mov dword [0x140096398], eax
mov rcx, qword [rbp + 0x780]
xor rcx, rsp
call fcn.140028de0
add rsp, 0x8b0
pop rbp
ret