Function at 0x4d38d0
Capabilities:
Accept command line arguments
Link many functions at runtime
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a6c80
mov eax, dword fs:[0]
push eax
sub esp, 0xec
mov eax, dword [0x63434c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xdc], esi
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0xf8], esi
xor ecx, ecx
mov dword [ebp - 0xdc], eax
mov dword [esi + 4], eax
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xd4], eax
mov dword [esi], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], 7
mov word [esi + 4], cx
mov edi, 7
mov dword [ebp - 0x40], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0x2c], edi
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push str._PerfTool
push eax
call fcn.0055d020
add esp, 8
test eax, eax
je 0x4d3b44
cmp dword [ebx + 0x10], 0
jne 0x4d3a58
lea eax, [ebp - 0x58]
push eax
call fcn.004d4570
add esp, 4
mov edi, dword [ebp - 0x48]
mov byte [ebp - 4], 2
test edi, edi
jne 0x4d39b2
xor eax, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
jmp 0x4d3a31
mov ebx, dword [ebp - 0x44]
lea edx, [ebp - 0x58]
cmp ebx, 8
lea eax, [edi - 1]
cmovae edx, dword [ebp - 0x58]
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
cmp word [edx + ecx*2], 0x5c
lea ecx, [edx + ecx*2]
je 0x4d39e1
cmp ecx, edx
je 0x4d3a25
sub ecx, 2
cmp word [ecx], 0x5c
jne 0x4d39d4
sub ecx, edx
sar ecx, 1
cmp ecx, 0xffffffff
je 0x4d3a25
xor eax, eax
mov dword [ebp - 0x28], 0
cmp edi, ecx
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x18], 0
cmovb ecx, edi
mov dword [ebp - 0x14], 7
cmp ebx, 8
push ecx
cmovae eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x28]
push eax
call fcn.0042e2d0
mov eax, 0xc
jmp 0x4d3a36
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.0043f980
mov eax, 4
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xd4], eax
call fcn.0042aad0
mov ecx, dword [ebp - 0xd4]
lea edx, [ebp - 0x28]
or ecx, 1
mov dword [ebp - 0xd4], ecx
jmp 0x4d3a78
push ebx
lea ecx, [ebp - 0x88]
call fcn.0043f9e0
mov edx, eax
mov ecx, 2
lea eax, [ebp - 0x40]
mov dword [ebp - 0xd4], ecx
cmp eax, edx
je 0x4d3ab6
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x14]
mov ebx, dword [edx]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0x2c], edi
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 7
mov word [edx], ax
jmp 0x4d3ab9
mov ebx, dword [ebp - 0x40]
test cl, 2
je 0x4d3ad8
and ecx, 0xfffffffd
mov dword [ebp - 0xd4], ecx
lea ecx, [ebp - 0x88]
call fcn.0042aad0
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 4], 1
test cl, 1
je 0x4d3ed0
mov edx, dword [ebp - 0x14]
and ecx, 0xfffffffe
mov dword [ebp - 0xd4], ecx
cmp edx, 8
jb 0x4d3b2b
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4d3b21
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4249
push edx
push ecx
call fcn.00558004
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
jmp 0x4d3ed0
push 6
xor eax, eax
mov dword [ebp - 0x28], 0
push str.switch
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.0042e2d0
push 0x2d
push str.SOFTWAREKingsoftOffice6.0pluginsperftool
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
call fcn.0042e2d0
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0xec]
push edx
lea edx, [ebp - 0xe0]
mov dword [ebp - 0xe0], 0
push edx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0xec], 4
cmovae ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x58]
cmp dword [ebp - 0x44], 8
push 0
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
push 0x80000001
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
mov ebx, dword [ebp - 0xe0]
xor ecx, ecx
mov edx, dword [ebp - 0x44]
test eax, eax
cmovne ebx, ecx
cmp edx, 8
jb 0x4d3c24
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4d3c1a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d424e
push edx
push ecx
call fcn.00558004
add esp, 8
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov byte [ebp - 4], 1
cmp edx, 8
jb 0x4d3c76
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4d3c6c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d424e
push edx
push ecx
call fcn.00558004
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
test ebx, ebx
je 0x4d40a9
push eax
mov dword [ebp - 0x88], eax
lea ecx, [ebp - 0x88]
push 0x5b3734
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
call fcn.0042e2d0
push 3
xor eax, eax
mov dword [ebp - 0xb8], 0
push 0x5c882c
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 5
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
call fcn.0042e2d0
push 0x2d
xor eax, eax
mov dword [ebp - 0xa0], 0
push str.SOFTWAREKingsoftOffice6.0pluginsperftool
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
call fcn.0042e2d0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xd0]
push 0x80000001
push eax
call fcn.004d48f0
mov ecx, eax
add esp, 0x14
lea eax, [ebp - 0x40]
cmp eax, ecx
je 0x4d3da8
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0x14]
mov ebx, dword [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0x2c], edi
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
jmp 0x4d3dab
mov ebx, dword [ebp - 0x40]
lea ecx, [ebp - 0xd0]
call fcn.0042aad0
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x4d3dfa
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4d3df0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4253
push edx
push ecx
call fcn.00558004
add esp, 8
mov edx, dword [ebp - 0xa4]
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov byte [ebp - 4], 5
cmp edx, 8
jb 0x4d3e5b
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4d3e51
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4253
push edx
push ecx
call fcn.00558004
add esp, 8
mov edx, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
mov byte [ebp - 4], 1
cmp edx, 8
jb 0x4d3eb9
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4d3eaf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4253
push edx
push ecx
call fcn.00558004
add esp, 8
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x4d3f0b
cmp edi, 8
jb 0x4d40a9
lea edi, [edi*2 + 2]
mov eax, ebx
cmp edi, 0x1000
jb 0x4d3f05
mov ebx, dword [ebx - 4]
add edi, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4244
push edi
jmp 0x4d40a0
mov eax, 0x7ffffffe
sub eax, ecx
cmp eax, 0xd
jb 0x4d4258
cmp edi, 8
mov dword [ebp - 0x70], 0
lea eax, [ebp - 0x40]
mov esi, 7
cmovae eax, ebx
lea edi, [ebp - 0x70]
mov dword [ebp - 0xdc], eax
lea eax, [ecx + 0xd]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edi
cmp eax, esi
jbe 0x4d3f8a
mov esi, eax
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x4d3f60
mov esi, 0x7ffffffe
jmp 0x4d3f6a
mov eax, 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x70]
call fcn.0042e270
mov ecx, dword [ebp - 0x30]
mov edi, eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x5c], esi
lea esi, [ecx + ecx]
push esi
push dword [ebp - 0xdc]
mov dword [ebp - 0x60], eax
push edi
call fcn.0055bfb0
mov eax, dword [ebp - 0xe4]
add edi, esi
mov ecx, 6
mov esi, str.perftool.dll
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xe8]
xor edx, edx
add esp, 0xc
movsw word es:[edi], word [esi]
mov word [eax + ecx*2], dx
mov eax, dword [ebp - 0xd4]
or eax, 0x10
mov dword [ebp - 0xdc], eax
mov esi, dword [ebp - 0xf0]
mov byte [ebp - 4], 8
mov eax, dword [esi]
test eax, eax
je 0x4d3ff1
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi], 0
lea eax, [ebp - 0x70]
lea ecx, [esi + 4]
cmp ecx, eax
je 0x4d400c
cmp dword [ebp - 0x5c], 8
push dword [ebp - 0x60]
cmovae eax, dword [ebp - 0x70]
push eax
call fcn.0042e2d0
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 4], 1
cmp edx, 8
jb 0x4d404a
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4d4040
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4244
push edx
push ecx
call fcn.00558004
add esp, 8
push dword [ebp - 0xf4]
xor eax, eax
mov dword [ebp - 0x60], 0
mov ecx, esi
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
call fcn.004d4660
test al, al
jne 0x4d40c9
mov eax, dword [ebp - 0xd8]
cmp eax, 8
jb 0x4d40a9
lea ecx, [eax*2 + 2]
mov eax, ebx
cmp ecx, 0x1000
jb 0x4d409f
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d4244
push ecx
push ebx
call fcn.00558004
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00557e89
mov esp, ebp
pop ebp
ret 4
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov byte [0x63d0e4], 1
mov eax, dword [esi]
test eax, eax
je 0x4d40e6
push str.PerfToolInit
push eax
call edi
jmp 0x4d40e8
xor eax, eax
mov dword [0x63d0e8], eax
mov eax, dword [esi]
test eax, eax
je 0x4d40fd
push str.PerfToolTerm
push eax
call edi
jmp 0x4d40ff
xor eax, eax
mov dword [0x63d0ec], eax
mov eax, dword [esi]
test eax, eax
je 0x4d4114
push str.PerfToolTermForce
push eax
call edi
jmp 0x4d4116
xor eax, eax
mov dword [0x63d0f0], eax
mov eax, dword [esi]
test eax, eax
je 0x4d412b
push str.PerfLogBegin
push eax
call edi
jmp 0x4d412d
xor eax, eax
mov dword [0x63d0f4], eax
mov eax, dword [esi]
test eax, eax
je 0x4d4142
push str.PerfLogEnd
push eax
call edi
jmp 0x4d4144
xor eax, eax
mov dword [0x63d0f8], eax
mov eax, dword [esi]
test eax, eax
je 0x4d4159
push str.PerfLogBegin2
push eax
call edi
jmp 0x4d415b
xor eax, eax
mov dword [0x63d0fc], eax
mov eax, dword [esi]
test eax, eax
je 0x4d4170
push str.PerfLogEnd2
push eax
call edi
jmp 0x4d4172
xor eax, eax
mov dword [0x63d100], eax
mov eax, dword [esi]
test eax, eax
je 0x4d4187
push str.AddToStrTable
push eax
call edi
jmp 0x4d4189
xor eax, eax
mov dword [0x63d104], eax
mov eax, dword [esi]
test eax, eax
je 0x4d419e
push str.PerfStubBegin
push eax
call edi
jmp 0x4d41a0
xor eax, eax
mov dword [0x63d108], eax
mov eax, dword [esi]
test eax, eax
je 0x4d41b5
push str.PerfStubEnd
push eax
call edi
jmp 0x4d41b7
xor eax, eax
mov dword [0x63d10c], eax
mov eax, dword [esi]
test eax, eax
je 0x4d41cc
push str.PerfToolGetLogFilePath
push eax
call edi
jmp 0x4d41ce
xor eax, eax
mov dword [0x63d110], eax
mov eax, dword [esi]
test eax, eax
je 0x4d41e3
push str.PerfToolGetBeginPerfCount
push eax
call edi
jmp 0x4d41e5
xor eax, eax
mov dword [0x63d114], eax
mov eax, dword [esi]
test eax, eax
je 0x4d41fa
push str.PerfToolSetUIStable
push eax
call edi
jmp 0x4d41fc
xor eax, eax
mov dword [0x63d118], eax
mov eax, dword [0x63d0e8]
test eax, eax
je 0x4d420c
call eax
mov eax, dword [ebp - 0xd8]
cmp eax, 8
jb 0x4d40a9
lea ecx, [eax*2 + 2]
mov eax, ebx
cmp ecx, 0x1000
jb 0x4d409f
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4d409f
call fcn.00566a14
call fcn.00566a14
call fcn.00566a14
call fcn.00566a14
call fcn.0042e200
int3