Function at 0x439f00
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f273a
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x54006c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x556890]
test al, 1
jne 0x439f58
or eax, 1
mov dword [0x556890], eax
mov ecx, 0x556898
mov dword [ebp - 4], 0
call fcn.00439740
push 0x4f58f0
call fcn.00465946
add esp, 4
push 0x547300
mov dword [ebp - 0x40], 0x547300
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 1
cmp dword [0x54750c], 0
jne 0x43a2c2
mov ecx, dword [0x547510]
mov eax, ecx
mov edx, dword [0x547514]
or eax, edx
jne 0x439fac
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 [0x547510], ecx
mov dword [0x547514], edx
mov dword [0x5568f0], ecx
lea ecx, [ebp - 0x28]
mov dword [0x5568f4], edx
call fcn.004304f0
mov esi, eax
cmp esi, 0x556898
je 0x43a00c
mov eax, dword [0x5568ac]
cmp eax, 0x10
jb 0x439fe6
inc eax
mov ecx, 0x556898
push eax
push dword [0x556898]
call fcn.00422de0
push esi
mov ecx, 0x556898
mov dword [0x5568ac], 0xf
mov dword [0x5568a8], 0
mov byte [0x556898], 0
call fcn.0042d628
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43a025
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00422de0
lea ecx, [ebp - 0x28]
call fcn.004309c0
mov esi, eax
cmp esi, 0x5568b0
je 0x43a079
mov eax, dword [0x5568c4]
cmp eax, 0x10
jb 0x43a053
inc eax
mov ecx, 0x5568b0
push eax
push dword [0x5568b0]
call fcn.00422de0
push esi
mov ecx, 0x5568b0
mov dword [0x5568c4], 0xf
mov dword [0x5568c0], 0
mov byte [0x5568b0], 0
call fcn.0042d628
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43a092
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00422de0
lea ecx, [ebp - 0x28]
call fcn.004309a0
mov esi, eax
cmp esi, 0x556930
je 0x43a0e6
mov eax, dword [0x556944]
cmp eax, 0x10
jb 0x43a0c0
inc eax
mov ecx, 0x556930
push eax
push dword [0x556930]
call fcn.00422de0
push esi
mov ecx, 0x556930
mov dword [0x556944], 0xf
mov dword [0x556940], 0
mov byte [0x556930], 0
call fcn.0042d628
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43a0ff
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00422de0
call fcn.00430ee0
mov dword [0x5568c8], eax
mov dword [0x5568cc], edx
call fcn.00430bc0
lea ecx, [ebp - 0x28]
mov dword [0x5568e8], eax
call fcn.00430430
mov esi, eax
cmp esi, 0x556918
je 0x43a16d
mov eax, dword [0x55692c]
cmp eax, 0x10
jb 0x43a147
inc eax
mov ecx, 0x556918
push eax
push dword [0x556918]
call fcn.00422de0
push esi
mov ecx, 0x556918
mov dword [0x55692c], 0xf
mov dword [0x556928], 0
mov byte [0x556918], 0
call fcn.0042d628
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43a186
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00422de0
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 0x43a1ae
lea ecx, [ebp - 0x34]
push ecx
call eax
jmp 0x43a1b8
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ax, word [ebp - 0x34]
cmp ax, 9
je 0x43a1c8
cmp ax, 6
jne 0x43a1cd
mov esi, 0x40
mov word [0x556914], si
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
lea ecx, [ebp - 0x28]
mov dword [0x556910], eax
call fcn.00430cf0
mov esi, eax
cmp esi, 0x5568f8
je 0x43a236
mov eax, dword [0x55690c]
cmp eax, 0x10
jb 0x43a210
inc eax
mov ecx, 0x5568f8
push eax
push dword [0x5568f8]
call fcn.00422de0
push esi
mov ecx, 0x5568f8
mov dword [0x55690c], 0xf
mov dword [0x556908], 0
mov byte [0x5568f8], 0
call fcn.0042d628
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43a24f
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00422de0
lea ecx, [ebp - 0x28]
call fcn.00430cf0
mov esi, eax
cmp esi, 0x556948
je 0x43a2a3
mov eax, dword [0x55695c]
cmp eax, 0x10
jb 0x43a27d
inc eax
mov ecx, 0x556948
push eax
push dword [0x556948]
call fcn.00422de0
push esi
mov ecx, 0x556948
mov dword [0x55695c], 0xf
mov dword [0x556958], 0
mov byte [0x556948], 0
call fcn.0042d628
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x43a2b8
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00422de0
mov dword [0x54750c], 1
push 0x547300
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 0x556898
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00465694
mov esp, ebp
pop ebp
ret