Function at 0x4d8e00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc0
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xd4]
cmp edi, 0x8000
mov esi, ecx
jb 0x4d8e47
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4d8e47
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd8]
push ecx
push edx
push edi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret 0xc
mov ebp, dword [esp + 0xdc]
cmp ebp, dword [esi + 0x5c]
mov ebx, dword [esp + 0xd8]
jne 0x4d8e7a
cmp edi, 6
jne 0x4d8e7a
mov al, byte [esi + 0x2e]
test al, al
je 0x4d8e7a
test ebx, ebx
push 1
mov ecx, esi
push 1
jne 0x4d8e73
push ebx
jmp 0x4d8e75
push 1
call fcn.004d8170
mov eax, dword [esi + 0x70]
test eax, eax
je case.0x4d900d.515
mov eax, dword [eax + 0x5c]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je case.0x4d900d.515
cmp edi, 0x201
ja 0x4d8ffb
je case.0x4d900d.514
cmp edi, 0x21
ja 0x4d8fdc
je 0x4d8f3e
cmp edi, 6
je 0x4d8ef3
cmp edi, 0x10
je 0x4d8edb
cmp edi, 0x20
jne case.0x4d900d.515
call fcn.004c7b00
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc0
ret 0xc
xor eax, eax
mov al, byte [0x6b9444]
push 1
push 1
mov ecx, esi
push eax
call fcn.004d76a0
jmp 0x4d902c
cmp bx, 1
je 0x4d8f03
cmp bx, 2
jne 0x4d902c
mov ecx, dword [esi + 0x70]
test ecx, ecx
je 0x4d8f25
call fcn.004d78a0
push eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc0
ret 0xc
mov eax, dword [esi + 0x5c]
push eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc0
ret 0xc
mov ecx, dword [esi + 0x70]
test ecx, ecx
je 0x4d8f4e
call fcn.004d78a0
mov esi, eax
jmp 0x4d8f51
mov esi, dword [esi + 0x5c]
mov eax, dword [0x6b9444]
test eax, eax
jne 0x4d8f7d
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp esi, eax
je 0x4d8f7d
push esi
call dword [sym.imp.USER32.dll_SetActiveWindow]
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc0
ret 0xc
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
lea edx, [esp + 0x18]
mov dword [esp + 0x28], ecx
push edx
mov dword [esp + 0x1c], 0x14
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], 3
mov dword [esp + 0x24], 1
mov dword [esp + 0x2c], 0x64
call dword [sym.imp.USER32.dll_FlashWindowEx]
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0xc0
ret 0xc
cmp edi, 0xa0
je 0x4d8fec
cmp edi, 0x200
jne case.0x4d900d.515
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc0
ret 0xc
lea eax, [edi - 0x202]
cmp eax, 6
ja case.0x4d900d.515
movzx eax, byte [eax + 0x4d9738]
jmp dword [eax*4 + 0x4d9730]
cmp edi, 0x102
ja 0x4d9347
cmp edi, 0x100
jae case.0x4d9377.260
lea eax, [edi - 2]
cmp eax, 0x85
ja case.0x4d9680.521
movzx ecx, byte [eax + 0x4d9768]
jmp dword [ecx*4 + 0x4d9740]
mov al, byte [esi + 0x29]
test al, al
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
je 0x4d907b
push 0x6b95bc
call ebp
mov al, byte [esi + 0x29]
test al, al
je 0x4d907b
mov eax, dword [0x6b95bc]
test eax, eax
jne 0x4d907b
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov byte [0x6b9435], 1
mov edx, dword [esi + 0x5c]
xor ebx, ebx
push ebx
push 0xffffffffffffffeb
push edx
call dword [0x6b94fc]
mov al, byte [esi + 0x2a]
test al, al
je 0x4d90ac
mov eax, dword [esi + 4]
cmp eax, ebx
lea edi, [esi + 4]
je 0x4d90a9
push eax
call ebp
cmp eax, ebx
jne 0x4d90ac
mov ecx, edi
call fcn.004a11c0
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0x54]
cmp eax, ebx
je 0x4d90d2
push eax
push str.Deleting__x_n
mov dword [esi + 0x5c], ebx
call fcn.005a2410
mov eax, dword [esi + 0x54]
lea ecx, [eax + 0x38]
mov eax, dword [ecx]
add esp, 8
call dword [eax + 4]
mov dword [esi + 0x54], ebx
mov ecx, esi
call fcn.004d7690
pop edi
pop esi
pop ebp
mov eax, 0xf4240
pop ebx
add esp, 0xc0
ret 0xc
mov eax, dword [esi + 0x54]
test eax, eax
je case.0x4d9680.521
mov ecx, dword [esi + 0x5c]
push ebp
push ebx
push edi
push ecx
call dword [0x6b94cc]
mov edx, dword [esi + 0x5c]
mov esi, dword [esi + 0x54]
mov dword [esp + 0x44], edi
xor edi, edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x50], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x24]
mov eax, dword [esp + 0x54]
cmp eax, edi
je 0x4d91a1
mov edx, dword [eax]
and edx, 0xff
cmp edx, 0x80
mov esi, eax
jae 0x4d91a1
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x4d9190
mov eax, dword [esi]
and eax, 0xff
cmp eax, 0x80
jae 0x4d918b
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x4d9190
mov eax, 0xff
test eax, eax
jne 0x4d91a1
mov ecx, dword [esp + 0x54]
push ecx
call fcn.00499410
add esp, 4
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret 0xc
mov eax, dword [esi + 0x54]
test eax, eax
je case.0x4d9680.521
mov eax, dword [esi + 0x5c]
lea edx, [esp + 0x90]
push edx
push eax
call dword [sym.imp.USER32.dll_BeginPaint]
mov ebx, eax
test ebx, ebx
je 0x4d9251
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
jge 0x4d921c
cmp dword [esp + 0x9c], edx
jge 0x4d921c
mov ecx, dword [esi + 0x54]
mov edx, dword [ecx]
lea eax, [esp + 0x18]
push eax
push ebx
call dword [edx + 0x2c]
mov al, byte [esi + 0x2a]
test al, al
je 0x4d923f
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4d923f
mov cl, byte [esi + 0x2d]
test cl, cl
je 0x4d923f
mov ecx, dword [esi + 0x5c]
push ebp
push ebx
push edi
push ecx
push eax
call dword [0x6b94f4]
mov eax, dword [esi + 0x5c]
lea edx, [esp + 0x90]
push edx
push eax
call dword [sym.imp.USER32.dll_EndPaint]
pop edi
pop esi
pop ebp
mov eax, 0xf4240
pop ebx
add esp, 0xc0
ret 0xc
mov al, byte [esi + 0x2b]
test al, al
jne case.0x4d9680.521
pop edi
pop esi
pop ebp
mov eax, 0xf4240
pop ebx
add esp, 0xc0
ret 0xc
mov ecx, esi
call fcn.004d7690
jmp case.0x4d9680.521
mov eax, dword [esi + 0x60]
test eax, eax
je 0x4d929d
push ebp
push ebx
push edi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test ebp, ebp
je 0x4d92b4
xor edx, edx
mov dx, bp
mov ecx, ebp
shr ecx, 0x10
push ecx
mov ecx, esi
push edx
call fcn.004d8290
pop edi
pop esi
pop ebp
mov eax, 0xf4241
pop ebx
add esp, 0xc0
ret 0xc
mov esi, dword [esi + 0x64]
test esi, esi
je case.0x4d900d.514
push ebp
push ebx
push edi
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
mov eax, 0xf4240
pop ebx
add esp, 0xc0
ret 0xc
cmp byte [esi + 0x28], 2
jne case.0x4d9680.521
cmp ebx, 1
jne case.0x4d9680.521
mov ecx, ebp
mov edx, dword [ecx]
lea eax, [ebp + 0x10]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
lea edx, [ebp + 0x20]
mov dword [edx], eax
mov eax, dword [ebp + 8]
pop edi
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 0xc]
pop esi
mov dword [edx + 8], eax
pop ebp
mov dword [edx + 0xc], ecx
mov eax, 0x700
pop ebx
add esp, 0xc0
ret 0xc
cmp edi, 0x205
ja 0x4d966a
cmp edi, 0x204
jae case.0x4d9680.519
lea eax, [edi - 0x104]
cmp eax, 0xfe
ja case.0x4d9680.521
movzx edx, byte [eax + 0x4d9800]
jmp dword [edx*4 + 0x4d97f0]
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x18], eax
xor eax, eax
push 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov byte [esp + 0x2c], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call fcn.004c7a90
push 1
mov bl, al
call fcn.004c7a60
push 1
mov byte [esp + 0x1c], al
call fcn.004c7a30
mov edx, dword [esi]
add esp, 0xc
cmp edi, 0x102
sete cl
shl al, 1
or cl, al
mov al, byte [esp + 0x10]
shl al, 2
or cl, al
shl bl, 3
or cl, bl
lea eax, [esp + 0x18]
mov byte [esp + 0x28], cl
push eax
mov ecx, esi
call dword [edx + 0x14]
cmp eax, 0xf4240
mov eax, dword [esp + 0x2c]
jne 0x4d946d
test eax, eax
je 0x4d945b
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x4d945b
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x4d944a
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x4d9445
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x4d944a
mov eax, 0xff
test eax, eax
jne 0x4d945b
mov eax, dword [esp + 0x2c]
push eax
call fcn.00499410
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 0xf4240
pop ebx
add esp, 0xc0
ret 0xc
test eax, eax
je 0x4d94c8
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov ebx, eax
jae 0x4d94c8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x4d94b7
mov edx, dword [ebx]
and edx, 0xff
cmp edx, 0x80
jae 0x4d94b2
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x4d94b7
mov eax, 0xff
test eax, eax
jne 0x4d94c8
mov eax, dword [esp + 0x2c]
push eax
call fcn.00499410
add esp, 4
mov ebx, dword [esp + 0xd8]
mov ebp, dword [esp + 0xdc]
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x4d96ff
mov edx, dword [esi + 0x5c]
xor eax, eax
mov dword [esp + 0x40], edx
lea edx, [esp + 0x40]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x50], 0
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x24]
cmp eax, 0xf4240
mov eax, dword [esp + 0x54]
sete byte [esp + 0x10]
test eax, eax
je 0x4d96dd
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov dword [esp + 0x14], eax
jae 0x4d96dd
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x4d96cc
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
and eax, 0xff
cmp eax, 0x80
jae 0x4d96c7
mov ecx, edx
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x4d96cc
mov ecx, dword [esi + 0x54]
test ecx, ecx
je case.0x4d9680.521
mov edx, dword [esi + 0x5c]
xor eax, eax
mov dword [esp + 0x68], edx
lea edx, [esp + 0x68]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebp
mov byte [esp + 0x78], 0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x24]
mov ebx, eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4d9635
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov edi, eax
jae 0x4d9635
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x4d9624
mov edx, dword [edi]
and edx, 0xff
cmp edx, 0x80
jae 0x4d961f
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x4d9624
mov eax, 0xff
test eax, eax
jne 0x4d9635
mov eax, dword [esp + 0x7c]
push eax
call fcn.00499410
add esp, 4
cmp ebx, 0xf4240
mov dword [esp + 0x7c], 0
jne 0x4d965b
mov esi, dword [esi + 0x54]
mov eax, dword [esi + 0x44]
pop edi
mov dword [esi + 0x44], ebx
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret 0xc
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xc0
ret 0xc
lea eax, [edi - 0x207]
cmp eax, 0xf
ja case.0x4d9680.521
movzx ecx, byte [eax + 0x4d990c]
jmp dword [ecx*4 + 0x4d9900]
mov eax, dword [esi + 0x64]
test eax, eax
je case.0x4d9680.521
push ebp
push ebx
push edi
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
mov eax, 0xf4240
pop ebx
add esp, 0xc0
ret 0xc
push ebp
push ebx
mov ecx, esi
call fcn.004d8b90
pop edi
pop esi
pop ebp
movsx eax, al
pop ebx
add esp, 0xc0
ret 0xc
mov eax, 0xff
test eax, eax
jne 0x4d96dd
mov edx, dword [esp + 0x54]
push edx
call fcn.00499410
add esp, 4
mov al, byte [esp + 0x10]
test al, al
je 0x4d96ff
mov esi, dword [esi + 0x54]
mov eax, dword [esi + 0x44]
pop edi
mov dword [esi + 0x44], 0xf4240
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret 0xc
mov al, byte [esi + 0x2a]
test al, al
je 0x4d92b4
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4d92b4
mov ecx, dword [esi + 0x5c]
push ebp
push ebx
push edi
push ecx
push eax
call dword [0x6b94f4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret 0xc