Function at 0x61010320
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ecx, 0x104
push edi
push esi
push ebx
sub esp, 0x19c
mov edx, dword [esp + 0x1b4]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x1b0]
lea ebp, [esp + 0x80]
mov dword [esp + 4], ebp
mov dword [esp], edx
mov dword [esp + 0x2c], eax
call sub.KERNEL32.dll_GetModuleFileNameA
sub esp, 0xc
mov dword [esp + 0x28], eax
mov dword [esp + 4], ebp
mov dword [esp], 0x611055a8
call method.dll_list.operator___char_const_
test eax, eax
mov esi, eax
je 0x61010385
inc dword [eax + 0x2c]
mov eax, esi
add esp, 0x19c
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x50]
xor edi, edi
mov dword [esp], eax
call sub.KERNEL32.dll_GetSystemInfo
sub esp, 4
mov ecx, dword [esp + 0x1b8]
mov eax, dword [ecx + 0x40]
jmp 0x610103b9
mov eax, dword [esp + 0x3c]
inc edi
mov edx, dword [esp + 0x30]
add eax, edx
cmp edi, 0x3e8
jg 0x6101052d
mov dword [esp], eax
mov edx, 0x1c
mov dword [esp + 8], edx
lea edx, [esp + 0x30]
mov dword [esp + 4], edx
call sub.KERNEL32.dll_VirtualQuery
sub esp, 0xc
test eax, eax
je 0x61010544
cmp dword [esp + 0x40], 0x10000
jne 0x610103a2
cmp edi, 0x3e8
je 0x61010544
mov eax, dword [esp + 0x6c]
xor edx, edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, ebx
div dword [esp + 0x1c]
test edx, edx
je 0x61010416
mov ecx, dword [esp + 0x1c]
mov eax, ebx
sub eax, edx
lea ebx, [eax + ecx]
mov dword [esp], ebx
mov eax, 4
mov ecx, 0x13c
mov dword [esp + 0xc], eax
mov eax, 0x2000
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
test eax, eax
jne 0x61010500
test esi, esi
je 0x610103a2
mov dword [esi + 0x2c], 1
mov ecx, dword [esp + 0x28]
lea eax, [esi + 0x38]
mov dword [esi + 0x34], ecx
mov dword [esp + 4], ebp
mov dword [esp], eax
call sym.cygwin1.dll__strcpy
mov ecx, dword [esp + 0x1b8]
lea edx, [esi + 8]
mov eax, dword [esp + 0x1b4]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 8], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 4], eax
mov eax, dword [ecx + 0x30]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0x34]
mov dword [edx + 0xc], eax
mov eax, dword [ecx + 0x38]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x3c]
mov dword [edx + 0x14], eax
mov eax, dword [ecx + 0x40]
mov dword [edx + 0x18], eax
mov eax, dword [ecx + 0x28]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x1bc]
mov edx, dword [esp + 0x2c]
mov dword [esi + 0x30], eax
mov eax, dword [edx]
test eax, eax
jne 0x610104c8
mov eax, edx
add eax, 0xc
mov dword [edx], eax
mov dword [eax], esi
mov ecx, dword [esp + 0x2c]
mov dword [esi], 0
mov eax, dword [ecx]
inc dword [ecx + 0x148]
cmp dword [esp + 0x1bc], 2
mov dword [esi + 4], eax
mov dword [ecx], esi
jne 0x61010378
mov eax, dword [esp + 0x2c]
inc dword [eax + 0x14c]
jmp 0x61010378
mov dword [esp], ebx
mov eax, 4
mov esi, 0x1000
mov dword [esp + 8], esi
mov ecx, 0x13c
mov dword [esp + 0xc], eax
mov dword [esp + 4], ecx
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
mov esi, eax
jmp 0x61010444
test esi, esi
jne 0x6101044c
mov edx, 0xa1
mov eax, str._ext_build_netrel_src_cygwin_1.5.24_2_winsup_cygwin_dll_init.cc
call sym.__Z8seterrnoPKci_8
xor eax, eax
jmp 0x6101037a