Function at 0x10019677
Capabilities:
Get system information on windows

Disassembly:
mov eax, 0x100561b1
call fcn.1005557c
sub esp, 0x84
cmp byte [ebp + 0x1c], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, edx
mov byte [ebp - 0x14], cl
je 0x100196d7
test cl, cl
je 0x100196bc
mov eax, dword [ebp + 0x20]
cmp byte [eax], 0
je 0x10019bf6
push 0x1ecd
push ecx
mov cl, 1
call fcn.1001782c
pop ecx
pop ecx
jmp 0x10019bf6
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
je 0x10019bf6
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
jmp 0x10019bf6
xor ebx, ebx
cmp byte [ebp + 8], bl
je 0x10019779
mov ecx, dword [ebp + 0x14]
mov dword [ecx], ebx
cmp dword [ecx], 3
jg 0x10019702
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x44], 0x3d4e677b
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
inc dword [ecx]
cmp dword [ecx], 3
jle 0x100196ef
mov dword [ebp - 0x34], 0x6fd5
cmp dword [ebp - 0x34], 0x70aa
jle 0x1001973f
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov esi, ebx
mov edi, ebx
mov ebx, 0x1989
mov eax, edi
mov ecx, 0x1006f688
cdq
push edx
push eax
call fcn.10002383
add edi, esi
dec ebx
jne 0x10019722
inc esi
cmp esi, 0x7d27
jl 0x1001971b
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x34], 0x6eaa
jge 0x1001975a
mov edx, str.arjnwwyj_ukjcy_bvbxb_prap
mov ecx, 0x1006f688
call fcn.10003d52
jmp 0x10019bf6
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov dword [ebp - 0x2c], 0x477862fd
inc ecx
mov dword [ebp - 0x54], 0xa0d461e3
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], 0x48bbe26b
mov dword [ebp - 0x58], 0x1477a14a
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x18], ebx
jmp 0x100197b0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x6c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x100197a6
mov dword [ebp - 0x18], ebx
jmp 0x100197cb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x8c], 0xc71010f1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x100197ba
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 0xfffffffb
push 2
pop edi
jle 0x10019870
mov dword [ebp - 0x5c], 0x98070ade
mov dword [ebp - 0x4c], 9
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x68], 0xf402be2f
mov dword [ebp - 0x68], 0xf57b17b4
mov dword [ebp - 0x68], 0x7e4ddbb7
mov dword [ebp - 0x68], 0xfb49a5c1
mov dword [ebp - 0x68], 6
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x68], 0xfffffffc
mov dword [ebp - 0x24], ebx
jmp 0x10019835
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x74], 0xa932da3b
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10019827
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
push ecx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x5c]
call fcn.10017401
add esp, 0x18
dec dword [ebp - 0x80]
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xfffffffb
push 1
pop ecx
jg 0x100197e1
mov eax, dword [esi]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x44], 0xfae3c77d
mov dword [ebp - 0x24], ebx
jmp 0x10019899
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1c], 5
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jl 0x1001988b
push ebx
push 0x7f7a
mov dl, cl
xor cl, cl
push 0x277a
call fcn.100181f7
xor esi, esi
mov dword [ebp - 0x18], ebx
add esp, 0xc
inc esi
cmp dword [ebp - 0x18], ebx
jg 0x10019982
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x24], 0xb65c
xor dl, dl
mov dword [ebp - 0x34], 0x63e87122
call fcn.100173c6
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x1c], ebx
jne 0x10019975
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp - 0x28]
imul edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x1c]
mov eax, dword [ebp - 0x18]
imul eax, edx
add ecx, eax
jne 0x10019954
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], 4
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1c]
mov eax, ebx
cmp dword [ebp - 0x24], ebx
je 0x10019977
mov eax, esi
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x18]
jmp 0x100198bb
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], 0x905d09ea
mov dword [ebp - 0x24], ebx
jmp 0x100199a2
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x7c], 0xfffffffb
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jl 0x10019994
lea ecx, [ebp - 0x60]
call fcn.1001950c
sub esp, 0x14
mov byte [ebp + 0x1f], bl
lea eax, [ebp + 0x1f]
push eax
push ecx
push ecx
xor cl, cl
call fcn.10016a86
mov eax, dword [ebp - 0x34]
add esp, 0x20
mov dl, 0x30
mov cl, byte [ebp + eax - 0x3c]
call fcn.100201d8
mov ecx, dword [ebp - 0x34]
mov byte [ebp + ecx - 0x3c], al
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 4
jb 0x10019985
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], 0x9141a9c2
mov dword [ebp - 0x44], 0xec5e
mov dword [ebp - 0x24], 0xc593c869
mov dword [ebp - 0x64], 0xb4b5a9ce
mov dword [ebp - 0x68], 0xccedb775
mov dword [ebp - 0x68], 0xb52d
mov dword [ebp - 0x34], ebx
jmp 0x10019a23
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x30], 0xd4e2b79d
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x10019a15
cmp dword [ebp - 0x18], ebx
jne 0x10019a44
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
add eax, 0x2456
add eax, ecx
mov ecx, ebx
je 0x10019a46
mov ecx, esi
mov eax, dword [ebp - 0x18]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x18]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
cmp ecx, 0xd018
jg 0x10019a70
mov ecx, ebx
cmp dword [ebp - 0x20], ebx
je 0x10019a72
mov ecx, esi
mov eax, dword [ebp - 0x18]
add eax, ecx
neg eax
cmp eax, dword [ebp - 0x18]
jne 0x10019b68
mov dword [ebp - 0x68], 0xfffffff8
mov dword [ebp - 0x68], ebx
inc dword [ebp - 0x30]
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x10019bee
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], ebx
jl 0x10019b60
mov dword [ebp - 0x24], 0x5878
cmp dword [ebp - 0x24], 0x5b65
jle 0x10019aea
mov eax, ebx
mov dword [ebp - 0x34], ebx
mov esi, eax
mov edi, 0x426e
mov eax, esi
mov ecx, 0x1006f688
cdq
push edx
push eax
call fcn.10002383
dec esi
dec edi
jne 0x10019ac3
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x54e6
jl 0x10019abc
xor esi, esi
push 2
inc esi
pop edi
mov dword [ebp - 4], edi
cmp dword [ebp - 0x24], 0x5664
jge 0x10019b05
mov edx, str.idltuq_allioahq_veeo_mrlxpyv_xfcrqf_yogexfbot_gtkrgbhx_alaioom_vxhxeeb_uarbdej_qifdmu_pjqwgd
mov ecx, 0x1006f688
call fcn.10003d52
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x10019b4a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x30], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x10019b3c
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x30], ebx
jne 0x10019b60
dec dword [ebp - 0x20]
jmp 0x10019a9e
dec dword [ebp - 0x18]
jmp 0x10019a92
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x40], 0x8be776e9
mov dword [ebp - 0x34], ebx
jmp 0x10019b85
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x38], 0x1f433c8a
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], esi
jl 0x10019b77
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x20]
jne 0x10019b95
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x44]
test eax, eax
mov dword [ebp - 0x38], eax
setle cl
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x68]
inc eax
add eax, ecx
sub eax, dword [ebp - 0x40]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x30], ebx
je 0x10019be9
mov eax, dword [ebp - 0x40]
xor edx, edx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x18]
jg 0x10019beb
mov esi, ebx
mov dword [ebp - 0x68], esi
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret