Function at 0x100370e9
Capabilities:
Get system information on windows

Disassembly:
mov eax, 0x10065260
call fcn.10063d00
sub esp, 0x1c
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], ecx
je 0x1003712e
cmp byte [ebp + 0x30], 0
je 0x10037124
mov eax, dword [ebp + 8]
inc dword [eax]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x10037113
mov dword [ebp + 0x20], 0x51e4
cmp dword [ebp + 0x20], 0x557f
jle 0x1003717d
push 0
push 0x1705
push 0
push 0xd69
push 0x18a2
call dword [sym.imp.GDI32.dll_ExtCreatePen]
xor esi, esi
xor edi, edi
mov ebx, 0x40cb
mov eax, edi
mov ecx, 0x10080b98
cdq
push edx
push eax
call fcn.100165ff
add edi, esi
dec ebx
jne 0x10037160
inc esi
cmp esi, 0xdcf
jl 0x10037159
and dword [ebp - 4], 0
cmp dword [ebp + 0x20], 0x4f4c
jge 0x10037199
mov edx, str.luvyww_kdovvp_foilkj_cnqrfgg_pxwphc_adrrxudbk
mov ecx, 0x10080b98
call fcn.1001abd0
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x14], 0
je 0x1003723c
push 3
pop eax
mov dword [ebp + 0x20], eax
xor edi, edi
mov dword [ebp - 0x18], 0xf680299
inc edi
mov dword [ebp - 0x24], 0xe8f08877
mov dword [ebp + 0x20], eax
jmp 0x10037232
mov dword [ebp - 0x14], 0xfffb
mov dword [ebp - 0x1c], 0x37fc0549
mov eax, dword [ebp - 0x18]
cmp dword [ebp + 0x20], eax
jl 0x100371fd
cmp dword [ebp + 0x20], 0
jne 0x100371fd
xor eax, eax
jmp 0x100371ff
mov eax, edi
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp + 0x20]
dec dword [ebp + 0x20]
cmp dword [ebp + 0x20], edi
jle 0x100371dd
jmp 0x10037113
mov dword [ebp + 0x20], 0x2a04
cmp dword [ebp + 0x20], 0x2de5
jle 0x10037282
xor esi, esi
xor edi, edi
xor ebx, ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10080b98
xor eax, esi
cdq
push edx
push eax
call fcn.100165ff
inc ebx
cmp ebx, 0x31d2
jl 0x10037252
inc edi
cmp edi, 0x7baa
jl 0x10037250
inc esi
cmp esi, 0x5804
jl 0x1003724e
mov dword [ebp - 4], 2
cmp dword [ebp + 0x20], 0x2853
jge 0x100372a1
mov edx, str.xgre_uytcvw_agk_pvf_oybw_carl
mov ecx, 0x10080b98
call fcn.1001abd0
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 0x20], 0x4e5b
cmp dword [ebp + 0x20], 0x50a1
jle 0x100372de
xor esi, esi
xor edi, edi
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x10080b98
cdq
push edx
push eax
call fcn.100165ff
inc edi
cmp edi, 0x340a
jl 0x100372b9
inc esi
cmp esi, 0x1f65
jl 0x100372b7
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x28]
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [edi], eax
cmp dword [edi], 0
je 0x100373be
mov ebx, dword [ebp + 0x24]
mov ecx, dword [edx]
mov eax, dword [ebx]
mov eax, dword [eax]
add eax, dword [ecx]
jne 0x10037305
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax]
mov eax, dword [edx]
xor ecx, ecx
cmp dword [eax + 8], 0xffffffff
mov eax, dword [ebp + 0x10]
setl cl
mov dword [eax], ecx
mov eax, dword [edx]
mov ecx, dword [ebp + 0x2c]
mov eax, dword [eax + 8]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [edi], eax
mov eax, dword [edx]
xor edx, edx
mov ecx, dword [ebx]
mov esi, dword [eax]
mov eax, dword [edi]
cmp dword [ecx + esi*4], eax
setg dl
xor edi, edi
xor ebx, ebx
inc edi
cmp edx, edi
mov edx, dword [ebp + 0xc]
setge bl
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
cmp ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x20]
je 0x10037374
cmp dword [eax], 0
je 0x10037374
mov esi, edi
jmp 0x10037376
xor esi, esi
mov eax, dword [eax]
xor ecx, ecx
cmp esi, eax
mov eax, dword [edx]
mov esi, dword [ebp + 0x18]
setg cl
cmp edi, ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, dword [eax]
setne dl
xor ebx, ebx
mov dword [esi], edx
mov eax, dword [esi]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov eax, dword [esi]
mov esi, dword [ebp + 0x24]
cmp eax, dword [ecx + edx*4]
mov edx, dword [ebp + 0xc]
setle bl
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [esi]
cmp ebx, dword [eax + ecx*4]
jge 0x100373c1
jmp 0x100373c3
mov esi, dword [ebp + 0x24]
xor edi, edi
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx]
sub edi, eax
je 0x100373d1
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov eax, dword [ecx]
mov eax, dword [ecx]
xor ecx, ecx
mov edx, dword [edx]
mov esi, dword [esi]
push 4
pop edi
cmp eax, dword [edx + edi]
mov eax, dword [ebp + 0xc]
setne cl
xor ebx, ebx
cmp ecx, dword [esi]
mov eax, dword [eax]
setge bl
xor edx, edx
mov eax, dword [eax]
cmp dword [esi + eax*4], ebx
mov eax, dword [ebp - 0x28]
setne dl
mov dword [eax], edx
mov dword [ebp - 4], edi
cmp dword [ebp + 0x20], 0x4c08
jge 0x10037113
mov edx, str.qleuqd_zfjvvcvbq_jbjqd_bvfpwf
mov ecx, 0x10080b98
call fcn.1001abd0
jmp 0x10037113