Function at 0x4d0940
Capabilities:
Execute anti-debugging instructions
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x314
mov eax, dword [0x62f040]
xor eax, esp
mov dword [esp + 0x310], eax
mov eax, dword [0x5d1404]
push ebx
mov dword [esp + 0xd0], eax
mov eax, dword [0x5d1408]
push esi
mov dword [esp + 0xd8], eax
mov eax, dword [0x5d140c]
push edi
mov dword [esp + 0xe0], eax
mov eax, dword [0x5d1410]
push 0x2e
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xec]
push 0
push eax
call fcn.005826f0
add esp, 0xc
cmp dword [0x637844], 0
je 0x4d09ca
cmp dword [0x637780], 0
je 0x4d09ca
lea ecx, [esp + 0x18]
call fcn.004d1540
lea esp, [esp]
test al, al
je 0x4d09ca
fld qword [esp + 0x18]
jmp 0x4d09ec
mov eax, dword [0x637824]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
test eax, eax
jns 0x4d09e4
fadd qword [0x61ec30]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
fdiv qword [0x61ec00]
mov ax, word [0x633944]
mov word [esp + 0x64], ax
mov eax, 0x25
push 0
mov word [esp + 0x8c], ax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 2
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x4c
push eax
mov dword [esp + 0x8c], 0
fstp qword [esp + 0x2c]
fld dword [0x635ed0]
fadd dword [0x635ed4]
fmul qword [0x61ebe0]
fstp qword [esp + 0x84]
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0a62
lea eax, [esp + 0x118]
jmp 0x4d0a79
push 0
push 2
lea eax, [esp + 0x68]
push eax
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x63780c]
call dword [sym.imp.USER32.dll_SendMessageW]
movzx eax, word [0x633944]
fld qword [esp + 0x18]
mov word [esp + 0x64], ax
mov eax, dword [0x637784]
mov dword [esp + 0x60], 0x4c
mov dword [esp + 0x78], 1
mov dword [esp + 0x88], 6
mov dword [esp + 0x8c], 0x61332c
mov dword [esp + 0x90], 0x4c
fstp qword [esp + 0x70]
fild dword [0x637784]
test eax, eax
jns 0x4d0ae4
fadd qword [0x61ec30]
fstp qword ds:[esp + 0x18]
fld qword [esp + 0x18]
fdiv qword [0x61ec00]
movzx eax, word [0x633944]
push 0
mov word [esp + 0x98], ax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 4
lea eax, [esp + 0x70]
mov dword [esp + 0xb8], 1
push eax
mov dword [esp + 0xcc], 8
mov dword [esp + 0xd0], str._GHz
fstp qword [esp + 0xb4]
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0b52
lea eax, [esp + 0x118]
jmp 0x4d0b6e
push 0
push 4
lea eax, [esp + 0x68]
push eax
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x637848]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6355a4]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0bc3
lea eax, [esp + 0x118]
jmp 0x4d0bf3
mov eax, dword [0x6355a4]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x63784c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6355ac]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
lea ecx, [ecx]
test al, al
je 0x4d0c4d
lea eax, [esp + 0x118]
jmp 0x4d0c7d
mov eax, dword [0x6355ac]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x6377a4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6355a8]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0cd2
lea eax, [esp + 0x118]
jmp 0x4d0d02
mov eax, dword [0x6355a8]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x637768]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0x30
lea eax, [esp + 0x28]
push eax
push 3
call dword [sym.imp.ntdll.dll_NtQuerySystemInformation]
test eax, eax
js 0x4d0d50
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0xd8]
sub ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
sbb eax, dword [esp + 0x24]
push 0
push ecx
push eax
push ecx
mov ecx, 2
call fcn.00501e00
lea eax, [esp + 0xd8]
push eax
push 0
push 0xc
push dword [0x637770]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x637810], 1
jbe 0x4d0deb
mov eax, dword [0x63781c]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0db6
lea eax, [esp + 0x118]
push eax
jmp 0x4d0df0
mov eax, dword [0x63781c]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
jmp 0x4d0df0
push 0x602920
push 0
push 0xc
push dword [0x637828]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x637810], 1
jbe 0x4d0e8b
mov eax, dword [0x637778]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0e54
lea eax, [esp + 0x118]
push eax
jmp 0x4d0e90
mov eax, dword [0x637778]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
jmp 0x4d0e90
push 0x602920
push 0
push 0xc
push dword [0x637798]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x637810], 1
jbe 0x4d0f2b
mov eax, dword [0x637858]
mov ecx, dword [0x63785c]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], ecx
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0ef6
lea eax, [esp + 0x118]
push eax
jmp 0x4d0f30
mov eax, dword [0x637858]
mov ecx, dword [0x63785c]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], ecx
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
jmp 0x4d0f30
push 0x602920
push 0
push 0xc
push dword [0x637838]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x637810], 1
jbe 0x4d0fcb
mov eax, dword [0x637840]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0f94
lea eax, [esp + 0x118]
push eax
jmp 0x4d0fd0
mov eax, dword [0x637840]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
jmp 0x4d0fd0
push 0x602920
push 0
push 0xc
push dword [0x637880]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6377b0]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
lea ecx, [ecx]
test al, al
je 0x4d102d
lea eax, [esp + 0x118]
jmp 0x4d105d
mov eax, dword [0x6377b0]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x63779c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6377bc]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d10b2
lea eax, [esp + 0x118]
jmp 0x4d10e2
mov eax, dword [0x6377bc]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x637834]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6377b8]
push 0
mov dword [esp + 0x74], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 1
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x88], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d1137
lea eax, [esp + 0x118]
jmp 0x4d1168
mov eax, dword [0x6377b8]
push 0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
push 1
push eax
mov dword [esp + 0x2c], 0x10009
mov dword [esp + 0x40], 0
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x63787c]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, ds:[esp + 0x58]
push eax
call dword [sym.imp.ntdll.dll_RtlQueryPerformanceCounter]
xor ecx, ecx
lea eax, [esp + 0x14]
lock or dword [eax], ecx
rdtsc
mov dword [esp + 0xc], eax
mov edi, edx
lea eax, [esp + 0x14]
lock or dword [eax], ecx
xor eax, eax
push ebx
cpuid
mov esi, ebx
pop ebx
nop
lea ebx, [esp + 0x20]
mov dword [ebx], eax
lea eax, [esp + 0x14]
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
xor ecx, ecx
mov dword [ebx + 0xc], edx
lock or dword [eax], ecx
rdtsc
mov dword [esp + 0x10], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x14], edx
lock or dword [eax], ecx
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.ntdll.dll_RtlQueryPerformanceCounter]
mov esi, dword [esp + 0x50]
sub esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0xc]
sbb ebx, dword [esp + 0x5c]
or eax, edi
jne 0x4d1210
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
jne 0x4d1210
lea ecx, [ecx]
cmp dword [esp + 0x20], eax
jne 0x4d1210
cmp dword [esp + 0x2c], eax
jne 0x4d1210
xor esi, esi
xor ebx, ebx
mov eax, dword [0x6359b8]
push 0
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x11c]
push 0x200
push eax
push 3
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0x10009
push eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], 1
mov dword [esp + 0x9c], 6
mov dword [esp + 0xa0], 0x613340
mov dword [esp + 0xa4], 0x10009
mov dword [esp + 0xb8], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d1292
lea eax, [esp + 0x118]
jmp 0x4d12b9
push 0
push 1
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x10009
push eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ebx
call sym.SystemInformer.exe_PhFormat
push eax
call sym.SystemInformer.exe_PhAutoDereferenceObject
mov eax, dword [eax + 4]
push eax
push 0
push 0xc
push dword [0x63777c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x31c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0058078f
mov esp, ebp
pop ebp
ret