Function at 0x4d0540
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 [0x62e040]
xor eax, esp
mov dword [esp + 0x310], eax
mov eax, dword [0x5d0404]
push ebx
mov dword [esp + 0xd0], eax
mov eax, dword [0x5d0408]
push esi
mov dword [esp + 0xd8], eax
mov eax, dword [0x5d040c]
push edi
mov dword [esp + 0xe0], eax
mov eax, dword [0x5d0410]
push 0x2e
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xec]
push 0
push eax
call fcn.00582250
add esp, 0xc
cmp dword [0x636844], 0
je 0x4d05ca
cmp dword [0x636780], 0
je 0x4d05ca
lea ecx, [esp + 0x18]
call fcn.004d1160
lea esp, [esp]
test al, al
je 0x4d05ca
fld qword [esp + 0x18]
jmp 0x4d05ec
mov eax, dword [0x636824]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
test eax, eax
jns 0x4d05e4
fadd qword [0x61db30]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
fdiv qword [0x61db00]
mov ax, word [0x632944]
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 [0x634ed0]
fadd dword [0x634ed4]
fmul qword [0x61dae0]
fstp qword [esp + 0x84]
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0662
lea eax, [esp + 0x118]
jmp 0x4d0679
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 [0x63680c]
call dword [sym.imp.USER32.dll_SendMessageW]
movzx eax, word [0x632944]
fld qword [esp + 0x18]
mov word [esp + 0x64], ax
mov eax, dword [0x636784]
mov dword [esp + 0x60], 0x4c
mov dword [esp + 0x78], 1
mov dword [esp + 0x88], 6
mov dword [esp + 0x8c], 0x61232c
mov dword [esp + 0x90], 0x4c
fstp qword [esp + 0x70]
fild dword [0x636784]
test eax, eax
jns 0x4d06e4
fadd qword [0x61db30]
fstp qword ds:[esp + 0x18]
fld qword [esp + 0x18]
fdiv qword [0x61db00]
movzx eax, word [0x632944]
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 0x4d0752
lea eax, [esp + 0x118]
jmp 0x4d076e
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 [0x636848]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6345a4]
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 0x4d07c3
lea eax, [esp + 0x118]
jmp 0x4d07f3
mov eax, dword [0x6345a4]
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 [0x63684c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6345ac]
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 0x4d084d
lea eax, [esp + 0x118]
jmp 0x4d087d
mov eax, dword [0x6345ac]
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 [0x6367a4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6345a8]
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 0x4d08d2
lea eax, [esp + 0x118]
jmp 0x4d0902
mov eax, dword [0x6345a8]
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 [0x636768]
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 0x4d0950
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.00501a00
lea eax, [esp + 0xd8]
push eax
push 0
push 0xc
push dword [0x636770]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x636810], 1
jbe 0x4d09eb
mov eax, dword [0x63681c]
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 0x4d09b6
lea eax, [esp + 0x118]
push eax
jmp 0x4d09f0
mov eax, dword [0x63681c]
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 0x4d09f0
push 0x601920
push 0
push 0xc
push dword [0x636828]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x636810], 1
jbe 0x4d0a8b
mov eax, dword [0x636778]
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 0x4d0a54
lea eax, [esp + 0x118]
push eax
jmp 0x4d0a90
mov eax, dword [0x636778]
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 0x4d0a90
push 0x601920
push 0
push 0xc
push dword [0x636798]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x636810], 1
jbe 0x4d0b2b
mov eax, dword [0x636858]
mov ecx, dword [0x63685c]
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 0x4d0af6
lea eax, [esp + 0x118]
push eax
jmp 0x4d0b30
mov eax, dword [0x636858]
mov ecx, dword [0x63685c]
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 0x4d0b30
push 0x601920
push 0
push 0xc
push dword [0x636838]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x636810], 1
jbe 0x4d0bcb
mov eax, dword [0x636840]
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 0x4d0b94
lea eax, [esp + 0x118]
push eax
jmp 0x4d0bd0
mov eax, dword [0x636840]
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 0x4d0bd0
push 0x601920
push 0
push 0xc
push dword [0x636880]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6367b0]
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 0x4d0c2d
lea eax, [esp + 0x118]
jmp 0x4d0c5d
mov eax, dword [0x6367b0]
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 [0x63679c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6367bc]
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 0x4d0cb2
lea eax, [esp + 0x118]
jmp 0x4d0ce2
mov eax, dword [0x6367bc]
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 [0x636834]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x6367b8]
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 0x4d0d37
lea eax, [esp + 0x118]
jmp 0x4d0d68
mov eax, dword [0x6367b8]
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 [0x63687c]
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 0x4d0e10
mov eax, dword [esp + 0x10]
or eax, dword [esp + 0x14]
jne 0x4d0e10
lea ecx, [ecx]
cmp dword [esp + 0x20], eax
jne 0x4d0e10
cmp dword [esp + 0x2c], eax
jne 0x4d0e10
xor esi, esi
xor ebx, ebx
mov eax, dword [0x6349b8]
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], 0x612340
mov dword [esp + 0xa4], 0x10009
mov dword [esp + 0xb8], 0
call sym.SystemInformer.exe_PhFormatToBuffer
test al, al
je 0x4d0e92
lea eax, [esp + 0x118]
jmp 0x4d0eb9
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 [0x63677c]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x31c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005802ef
mov esp, ebp
pop ebp
ret