Function at 0x43c0f0
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47a32a
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x49f008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x4a2190]
test al, 1
jne 0x43c148
or eax, 1
mov dword [0x4a2190], eax
mov ecx, 0x4a21b0
mov dword [ebp - 4], 0
call fcn.0043b930
push 0x47b6d0
call fcn.0044e3dd
add esp, 4
push 0x4a1f70
mov dword [ebp - 0x40], 0x4a1f70
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 1
cmp dword [0x4a2118], 0
jne 0x43c4b2
mov ecx, dword [0x4a2120]
mov eax, ecx
mov edx, dword [0x4a2124]
or eax, edx
jne 0x43c19c
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [0x4a2120], ecx
mov dword [0x4a2124], edx
mov dword [0x4a2208], ecx
lea ecx, [ebp - 0x28]
mov dword [0x4a220c], edx
call fcn.004480f0
mov esi, eax
cmp esi, 0x4a21b0
je 0x43c1fc
mov eax, dword [0x4a21c4]
cmp eax, 0x10
jb 0x43c1d6
inc eax
mov ecx, 0x4a21b0
push eax
push dword [0x4a21b0]
call fcn.00413b90
push esi
mov ecx, 0x4a21b0
mov dword [0x4a21c4], 0xf
mov dword [0x4a21c0], 0
mov byte [0x4a21b0], 0
call fcn.00413380
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43c215
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00413b90
lea ecx, [ebp - 0x28]
call fcn.004484d0
mov esi, eax
cmp esi, 0x4a21c8
je 0x43c269
mov eax, dword [0x4a21dc]
cmp eax, 0x10
jb 0x43c243
inc eax
mov ecx, 0x4a21c8
push eax
push dword [0x4a21c8]
call fcn.00413b90
push esi
mov ecx, 0x4a21c8
mov dword [0x4a21dc], 0xf
mov dword [0x4a21d8], 0
mov byte [0x4a21c8], 0
call fcn.00413380
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43c282
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00413b90
lea ecx, [ebp - 0x28]
call fcn.004484b0
mov esi, eax
cmp esi, 0x4a2248
je 0x43c2d6
mov eax, dword [0x4a225c]
cmp eax, 0x10
jb 0x43c2b0
inc eax
mov ecx, 0x4a2248
push eax
push dword [0x4a2248]
call fcn.00413b90
push esi
mov ecx, 0x4a2248
mov dword [0x4a225c], 0xf
mov dword [0x4a2258], 0
mov byte [0x4a2248], 0
call fcn.00413380
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43c2ef
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00413b90
call fcn.00448a50
mov dword [0x4a21e0], eax
mov dword [0x4a21e4], edx
call fcn.004486d0
lea ecx, [ebp - 0x28]
mov dword [0x4a2200], eax
call fcn.00448030
mov esi, eax
cmp esi, 0x4a2230
je 0x43c35d
mov eax, dword [0x4a2244]
cmp eax, 0x10
jb 0x43c337
inc eax
mov ecx, 0x4a2230
push eax
push dword [0x4a2230]
call fcn.00413b90
push esi
mov ecx, 0x4a2230
mov dword [0x4a2244], 0xf
mov dword [0x4a2240], 0
mov byte [0x4a2230], 0
call fcn.00413380
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43c376
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00413b90
push str.kernel32.dll
mov esi, 0x20
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.GetNativeSystemInfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x43c39e
lea ecx, [ebp - 0x34]
push ecx
call eax
jmp 0x43c3a8
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ax, word [ebp - 0x34]
cmp ax, 9
je 0x43c3b8
cmp ax, 6
jne 0x43c3bd
mov esi, 0x40
mov word [0x4a222c], si
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
lea ecx, [ebp - 0x28]
mov dword [0x4a2228], eax
call fcn.00448800
mov esi, eax
cmp esi, 0x4a2210
je 0x43c426
mov eax, dword [0x4a2224]
cmp eax, 0x10
jb 0x43c400
inc eax
mov ecx, 0x4a2210
push eax
push dword [0x4a2210]
call fcn.00413b90
push esi
mov ecx, 0x4a2210
mov dword [0x4a2224], 0xf
mov dword [0x4a2220], 0
mov byte [0x4a2210], 0
call fcn.00413380
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43c43f
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00413b90
lea ecx, [ebp - 0x28]
call fcn.00448800
mov esi, eax
cmp esi, 0x4a2260
je 0x43c493
mov eax, dword [0x4a2274]
cmp eax, 0x10
jb 0x43c46d
inc eax
mov ecx, 0x4a2260
push eax
push dword [0x4a2260]
call fcn.00413b90
push esi
mov ecx, 0x4a2260
mov dword [0x4a2274], 0xf
mov dword [0x4a2270], 0
mov byte [0x4a2260], 0
call fcn.00413380
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43c4a8
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00413b90
mov dword [0x4a2118], 1
push 0x4a1f70
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 0x4a21b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044df7a
mov esp, ebp
pop ebp
ret