Function at 0x4d60b0
Capabilities:
Enumerate files on windows
Extract resource via kernel32 functions
Get graphical window text

Disassembly:
push ebx
push ebp
push esi
push edi
call fcn.004ce790
push 0
xor edx, edx
mov ecx, 0x8e
call fcn.004d5c10
mov ebp, dword [sym.imp.USER32.dll_GetSubMenu]
push eax
call ebp
mov edi, dword [sym.imp.USER32.dll_DeleteMenu]
mov esi, eax
test esi, esi
je 0x4d358e
lea esp, [esp]
push 0x400
push 0
push esi
call edi
test eax, eax
jne 0x4d3580
xor ecx, ecx
call fcn.004d2380
mov ebx, dword [0x598b88]
mov dword [0x598b88], 0
call fcn.004cde30
push 0
xor edx, edx
mov ecx, 0x65
call fcn.004d5c10
push eax
call ebp
mov esi, eax
test esi, esi
jne 0x4d35d7
test ebx, ebx
je 0x4d35cc
push ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
pop edi
pop esi
pop ebp
xor ecx, ecx
pop ebx
jmp fcn.0041c8e0
push 0x400
push 0
push esi
call edi
test eax, eax
jne 0x4d35d7
pop edi
mov ecx, esi
pop esi
pop ebp
mov edx, ebx
pop ebx
jmp fcn.004cbfc0
push ebx
call fcn.004ce790
call fcn.004dbf30
xor edx, edx
mov ecx, 0xad
mov dword [0x599000], eax
call fcn.004d5c10
mov ebx, eax
test ebx, ebx
je 0x4d3d97
push ebp
push esi
push edi
push 2
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemID]
mov ebp, dword [sym.imp.USER32.dll_DeleteMenu]
cmp eax, 0xac
mov eax, dword [0x589bd0]
jne 0x4d3c44
test eax, eax
je 0x4d3c68
push 0x400
push 2
push ebx
call ebp
jmp 0x4d3c68
test eax, eax
jne 0x4d3c68
xor edx, edx
mov ecx, 0xefb
call fcn.0041c9e0
push eax
push 0xac
push 0x400
push 2
push ebx
call dword [sym.imp.USER32.dll_InsertMenuA]
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov edi, eax
test edi, edi
jle 0x4d3c96
lea esi, [edi - 1]
push esi
push ebx
call dword [sym.imp.USER32.dll_GetMenuItemID]
cmp eax, 0xae
je 0x4d3c96
push 0x400
push esi
push ebx
call ebp
dec edi
dec esi
test edi, edi
jg 0x4d3c78
mov eax, dword [0x5a1af8]
test eax, eax
je 0x4d3d94
push 0x574b10
push 0
push 0x800
push ebx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov esi, dword [0x5a1af8]
test esi, esi
mov edi, 1
mov ebp, 0x1770
je 0x4d3d94
mov edi, edi
mov eax, dword [esi + 0x700]
test eax, eax
jne 0x4d3cea
push 4
mov edx, 0x5990e0
mov ecx, esi
call fcn.004b9290
jmp 0x4d3cfa
mov eax, dword [esi]
push 0x3c
push 0x5990e0
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, 0x5990e0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4d3d02
sub eax, edx
cmp eax, 0x32
jbe 0x4d3d1a
mov dword [0x599112], 0x2e2e2e
cmp edi, 1
jl 0x4d3d3f
cmp edi, 9
jg 0x4d3d3f
push 0x5990e0
push edi
push 0x574eac
push 0x5994c8
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x4d3d63
cmp edi, 0xa
push 0x5990e0
jne 0x4d3d50
push str.0__s
jmp 0x4d3d55
push str.____s
push 0x5994c8
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [0x5a1b0c]
mov edx, dword [esi]
xor eax, eax
cmp ecx, edx
setne al
push 0x5994c8
push ebp
dec eax
and eax, 8
push eax
push ebx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov esi, dword [esi + 0xd84]
inc edi
inc ebp
test esi, esi
jne 0x4d3cd0
pop edi
pop esi
pop ebp
pop ebx
ret
sub esp, 0x150
push ebp
call fcn.004ce790
call fcn.004dbf30
xor edx, edx
mov ecx, 0xbe
mov dword [0x599000], eax
call fcn.004d5c10
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x10], ebp
je 0x4d421e
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_GetMenuItemCount]
push edi
push ebp
call esi
test eax, eax
jle 0x4d403d
mov ebx, dword [sym.imp.USER32.dll_GetMenuItemID]
mov edi, dword [sym.imp.USER32.dll_DeleteMenu]
lea esp, [esp]
push 6
push ebp
call ebx
cmp eax, 0xc2
je 0x4d403d
push 0x400
push 6
push ebp
call edi
push ebp
call esi
test eax, eax
jg 0x4d4020
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
mov edi, 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
cmp edi, 1
jne 0x4d4071
push 0x598248
push 0x57a098
push 0x5990e0
call ebp
mov ecx, 0xf02
jmp 0x4d40ad
cmp edi, 3
jne 0x4d408e
push 0x598248
push str._s.txt
push 0x5990e0
call ebp
mov ecx, 0xf03
jmp 0x4d40ad
cmp edi, 4
jne 0x4d41f7
push 0x598248
push str._s.htm
push 0x5990e0
call ebp
mov ecx, 0xf13
mov edx, 0x5994c8
add esp, 0xc
call fcn.0041c9e0
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov ebx, eax
test ebx, ebx
je 0x4d41f7
mov dword [esp + 0x10], 0
lea eax, [esp + 0x20]
push eax
push 0x5990e0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4d4141
lea esp, [esp]
test byte [esp + 0x20], 0x10
jne 0x4d412a
lea edx, [esp + 0x4c]
push edx
call fcn.00572bde
movzx eax, byte [esp + 0x50]
push eax
call fcn.005640f7
mov ecx, dword [esp + 0x18]
add esp, 8
push 0
lea edx, [esp + 0x50]
mov byte [esp + 0x50], al
call fcn.004c2560
test eax, eax
je 0x4d412a
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x20]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4d40f0
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp edi, 1
jne 0x4d416b
push 0x598248
push str._s.chm
push 0x5990e0
mov dword [esp + 0x20], 2
call ebp
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp 0x4d40d2
mov ecx, dword [esp + 0x10]
push 0
xor edx, edx
call fcn.00517550
xor edi, edi
test eax, eax
mov dword [esp + 0x10], eax
mov esi, eax
je 0x4d41ab
mov edx, dword [esi]
mov eax, dword [esp + 0x18]
push edx
add eax, 0x1388
push eax
push 0
push ebx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov ecx, dword [esp + 0x18]
mov esi, dword [esi + 0x40]
inc edi
inc ecx
test esi, esi
mov dword [esp + 0x18], ecx
jne 0x4d4184
lea ecx, [esp + 0x10]
call fcn.004c29d0
test edi, edi
je 0x4d41e0
mov ecx, dword [esp + 0x1c]
push 0x5994c8
push ebx
push 0x10
push 0xc2
push ecx
call dword [sym.imp.USER32.dll_InsertMenuA]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
mov edi, eax
jmp 0x4d4054
push ebx
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
mov edi, eax
jmp 0x4d4054
mov eax, dword [esp + 0x18]
test eax, eax
pop edi
pop esi
pop ebx
jle 0x4d421e
mov edx, dword [esp + 0x10]
push 0x574b10
push 0
push 0x800
push 0xc2
push edx
call dword [sym.imp.USER32.dll_InsertMenuA]
pop ebp
add esp, 0x150
ret
push ebx
mov ebx, ecx
test ebx, ebx
je 0x4d6199
mov eax, dword [0x5a1b00]
push esi
mov esi, dword [sym.imp.USER32.dll_GetMenu]
push edi
push eax
call esi
test eax, eax
mov edi, dword [sym.imp.USER32.dll_GetSystemMenu]
jne 0x4d60e4
mov ecx, dword [0x5a1b00]
push 0
push ecx
call edi
test eax, eax
je 0x4d60f1
push 0
push 0x65
xor edx, edx
mov ecx, eax
call fcn.004d4b60
cmp ebx, eax
jne 0x4d60fd
pop edi
pop esi
pop ebx
jmp 0x4d3550
mov edx, dword [0x5a1b00]
push edx
call esi
test eax, eax
jne 0x4d6117
push eax
mov eax, dword [0x5a1b00]
push eax
call edi
test eax, eax
je 0x4d6127
push 0
push 0x8e
xor edx, edx
mov ecx, eax
call fcn.004d4b60
cmp ebx, eax
jne 0x4d6133
pop edi
pop esi
pop ebx
jmp fcn.004d3640
cmp ebx, dword [0x598b90]
jne 0x4d614a
pop edi
pop esi
xor edx, edx
mov ecx, 1
pop ebx
jmp fcn.004cd550
mov ecx, dword [0x5a1b00]
push ecx
call esi
test eax, eax
jne 0x4d6165
mov edx, dword [0x5a1b00]
push eax
push edx
call edi
test eax, eax
je 0x4d6175
push 0
push 0xad
xor edx, edx
mov ecx, eax
call fcn.004d4b60
cmp ebx, eax
jne 0x4d6181
pop edi
pop esi
pop ebx
jmp 0x4d3bf0
xor edx, edx
mov ecx, 0xbe
call fcn.004d5c10
cmp ebx, eax
pop edi
pop esi
jne 0x4d6199
pop ebx
jmp 0x4d3fd0
pop ebx
ret